]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-4768 4768-again applied
authorJeff Lenk <jeff@jefflenk.com>
Wed, 9 Jan 2013 15:20:28 +0000 (09:20 -0600)
committerJeff Lenk <jeff@jefflenk.com>
Wed, 9 Jan 2013 15:20:28 +0000 (09:20 -0600)
libs/win32/util.vbs

index 81b16c54262d4bfae78ba0b22270321ebf0a8dc1..a696adbf2daca56a9e1d58ee67835a1a6fc0ae04 100644 (file)
@@ -4,7 +4,6 @@
 ' David A. Horner http://dave.thehorners.com\r
 '----------------------------------------------\r
 \r
-'On Error Resume Next\r
 ' **************\r
 ' Initialization\r
 ' **************\r
@@ -36,14 +35,11 @@ If UseWgetEXE Then
        GetWgetEXE UtilsDir\r
 End If\r
 \r
-GetCompressionTools UtilsDir\r
-\r
-\r
 If objArgs.Count >=3 Then\r
        Select Case objArgs(0)\r
-               Case "Get"              \r
+               Case "Get"\r
                        Wget objArgs(1), Showpath(objArgs(2))\r
-               Case "GetUnzip"         \r
+               Case "GetUnzip"\r
                        WgetUnCompress objArgs(1), Showpath(objArgs(2))\r
                Case "GetUnzipSounds"\r
                        WgetSounds objArgs(1), objArgs(2), Showpath(objArgs(3)), objArgs(4)\r
@@ -96,26 +92,34 @@ Sub WgetUnCompress(URL, DestFolder)
 End Sub\r
 \r
 Sub GetCompressionTools(DestFolder)\r
-       Dim oExec\r
        Dim tries\r
-\r
-       If Right(DestFolder, 1) <> "\" Then DestFolder = DestFolder & "\" End If\r
+       Dim max_tries\r
        tries = 0\r
-       While Not FSO.FileExists(DestFolder & "7za.exe") And tries < 2\r
-               WScript.Sleep(Int(10000*Rnd)) \r
-               If Not FSO.FileExists(DestFolder & "7za.tag") And Not FSO.FileExists(DestFolder & "7za.exe") Then \r
-                       Set MyFile = fso.CreateTextFile(DestFolder & "7za.tag", True)\r
+       max_tries = 10\r
+       If Right(DestFolder, 1) <> "\" Then DestFolder = DestFolder & "\" End If\r
+       If Not FSO.FileExists(DestFolder & "7za.exe") Then\r
+               On Error Resume Next\r
+               Set MyFile = FSO.CreateTextFile(DestFolder & "7za.tag", False)\r
+               If Err <> 0 Then Wscript.echo("Downloading 7za: " & DestFolder & "7za.tag - " & Err.Description) End If\r
+               On Error Goto 0\r
+               If Not IsEmpty(MyFile) Then\r
                        MyFile.WriteLine("This file marks a pending download for 7za.exe so we don't download it twice at the same time")\r
                        MyFile.Close\r
-                               \r
-                               Wget ToolsBase & "7za.exe", DestFolder\r
-                       \r
-                       FSO.DeleteFile DestFolder & "7za.tag" ,true \r
-               Else\r
-                       WScript.Sleep(5000)\r
-                       tries = tries + 1\r
-               End If  \r
-       WEnd    \r
+                       Wget ToolsBase & "7za.exe", DestFolder\r
+                       FSO.DeleteFile DestFolder & "7za.tag", true\r
+                       Wscript.echo("Downloaded 7za.exe")\r
+               End If\r
+               WScript.Sleep(500)\r
+       End If\r
+       Do While FSO.FileExists(DestFolder & "7za.tag") And tries < max_tries\r
+               Wscript.echo("Waiting for 7za.exe to be downloaded")\r
+               WScript.Sleep(1000)\r
+               tries = tries + 1\r
+       Loop\r
+       If tries = max_tries Then\r
+               Wscript.echo("ERROR: Download of 7za.exe takes too much time")\r
+               Wscript.quit 99\r
+       End If\r
 End Sub\r
 \r
 Sub GetWgetEXE(DestFolder)\r
@@ -127,13 +131,18 @@ Sub GetWgetEXE(DestFolder)
 End Sub\r
 \r
 Function Strip(Str)\r
-       Set oRE = New Regexp \r
-       oRE.Pattern = "[\W_]" \r
-       oRE.Global = True \r
-       Strip=oRE.Replace(Str, "") \r
+       Set oRE = New Regexp\r
+       oRE.Pattern = "[\W_]"\r
+       oRE.Global = True\r
+       Strip = Right(oRE.Replace(Str, ""), 20)\r
 End Function\r
 \r
 Sub UnCompress(Archive, DestFolder)\r
+       Dim Fn\r
+       Dim batname\r
+       \r
+       GetCompressionTools UtilsDir\r
+       \r
        batname = "tmp" & Strip(Archive) & CStr(Int(10000*Rnd)) & ".bat"\r
        wscript.echo("Extracting: " & Archive & " - using: " & batname)\r
        Set MyFile = fso.CreateTextFile(UtilsDir & batname, True)\r
@@ -143,44 +152,38 @@ Sub UnCompress(Archive, DestFolder)
        Do\r
                WScript.Echo OExec.StdOut.ReadLine()\r
        Loop While Not OExec.StdOut.atEndOfStream\r
-       wscript.echo("Ready extracting: " & Archive)    \r
+       wscript.echo("Ready extracting: " & Archive)\r
        Fn = Left(Archive, Len(Archive)-3)\r
        If FSO.FileExists(Fn) Then\r
-               WScript.Sleep(100)\r
-               wscript.echo("Processing: " & Fn & " - deleting " & batname)\r
-               FSO.DeleteFile UtilsDir & batname, True\r
-               Set MyFile = fso.CreateTextFile(UtilsDir & batname, True)\r
+               Set MyFile = FSO.CreateTextFile(UtilsDir & batname, True)\r
                MyFile.WriteLine("@" & quote & UtilsDir & "7za.exe" & quote & " x " & quote & Fn & quote & " -y -o" & quote & DestFolder & quote )\r
                MyFile.Close\r
                Set oExec = WshShell.Exec(UtilsDir & batname)\r
                Do\r
                        WScript.Echo OExec.StdOut.ReadLine()\r
                Loop While Not OExec.StdOut.atEndOfStream\r
-               wscript.echo("Ready extracting: " & Fn) \r
+               wscript.echo("Ready extracting: " & Fn)\r
                WScript.Sleep(500)\r
                wscript.echo("Deleting: " & Fn)\r
                FSO.DeleteFile Fn,true\r
        End If\r
-       Fn= Fn & tar\r
+       Fn = Fn & tar\r
        If FSO.FileExists(Fn) Then\r
-               WScript.Sleep(100)\r
-               wscript.echo("Processing: " & Fn & " - deleting " & batname)\r
-               FSO.DeleteFile UtilsDir & batname, True\r
-               Set MyFile = fso.CreateTextFile(UtilsDir & batname, True)\r
+               Set MyFile = FSO.CreateTextFile(UtilsDir & batname, True)\r
                MyFile.WriteLine("@" & quote & UtilsDir & "7za.exe" & quote & " x " & quote & Fn & quote & " -y -o" & quote & DestFolder & quote )\r
                MyFile.Close\r
                Set oExec = WshShell.Exec(UtilsDir & batname)\r
                Do\r
                        WScript.Echo OExec.StdOut.ReadLine()\r
                Loop While Not OExec.StdOut.atEndOfStream\r
-               wscript.echo("Ready extracting: " & Fn )        \r
+               wscript.echo("Ready extracting: " & Fn )\r
                WScript.Sleep(500)\r
                wscript.echo("Deleting: " & Fn)\r
                FSO.DeleteFile Fn,true\r
        End If\r
 \r
        WScript.Sleep(500)\r
-       If FSO.FileExists(UtilsDir & batname)Then\r
+       If FSO.FileExists(UtilsDir & batname) Then\r
                FSO.DeleteFile UtilsDir & batname, True\r
        End If\r
 End Sub\r
@@ -192,8 +195,8 @@ Sub Wget(URL, DestFolder)
        If Right(DestFolder, 1) <> "\" Then DestFolder = DestFolder & "\" End If\r
 \r
        If UseWgetEXE Then\r
-               Wscript.echo("Downloading (wget): " & URL)\r
-               batname = "tmp" & CStr(Int(100000*Rnd)) & ".bat"\r
+               Wscript.echo("wget: " & URL)\r
+               batname = "tmp" & CStr(Int(10000*Rnd)) & ".bat"\r
                Set MyFile = fso.CreateTextFile(UtilsDir & batname, True)\r
                MyFile.WriteLine("@cd " & quote & DestFolder & quote)\r
                MyFile.WriteLine("@" & quote & UtilsDir & "wget.exe" & quote & " " & URL)\r
@@ -204,11 +207,11 @@ Sub Wget(URL, DestFolder)
                Loop While Not OExec.StdOut.atEndOfStream\r
 \r
        Else\r
-               Wscript.echo("Downloading (HTTP GET): " & URL)\r
+               Wscript.echo("XMLHTTP GET: " & URL)\r
 \r
                xml.Open "GET", URL, False\r
                xml.Send\r
-               \r
+\r
                Const adTypeBinary = 1\r
                Const adSaveCreateOverWrite = 2\r
                Const adSaveCreateNotExist = 1\r
@@ -373,7 +376,7 @@ Sub CreateVersion(tmpFolder, VersionDir, includebase, includedest)
                'Get revision hash\r
                strRevision = ExecAndGetResult(tmpFolder, VersionDir, "git rev-list -n1 --abbrev=10 --abbrev-commit HEAD")\r
                strRevisionHuman = ExecAndGetResult(tmpFolder, VersionDir, "git rev-list -n1 --abbrev=7 --abbrev-commit HEAD")\r
-               \r
+\r
                If strLastCommit <> "" And strLastCommitHuman <> "" And strRevision <> "" And strRevisionHuman <> "" Then\r
                        'Bild version string\r
                        strGitVer = "+git~" & strLastCommit & "~" & strRevision\r
@@ -416,3 +419,4 @@ Sub CreateVersion(tmpFolder, VersionDir, includebase, includedest)
        End If\r
 \r
 End Sub\r
+\r