[Freeswitch-svn] [commit] r2405 - freeswitch/trunk/libs/win32
Freeswitch SVN
mikej at freeswitch.org
Sun Aug 27 00:21:28 EDT 2006
Author: mikej
Date: Sun Aug 27 00:21:27 2006
New Revision: 2405
Modified:
freeswitch/trunk/libs/win32/util.vbs
Log:
make downloads work without adodb.stream in case it fails. Thanks to Dave Horner for the inspiration on this.
Modified: freeswitch/trunk/libs/win32/util.vbs
==============================================================================
--- freeswitch/trunk/libs/win32/util.vbs (original)
+++ freeswitch/trunk/libs/win32/util.vbs Sun Aug 27 00:21:27 2006
@@ -1,3 +1,9 @@
+'
+' Contributor(s):
+' Michael Jerris <mike at jerris.com>
+' David A. Horner http://dave.thehorners.com
+'----------------------------------------------
+
'On Error Resume Next
' **************
' Initialization
@@ -7,13 +13,28 @@
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WshSysEnv = WshShell.Environment("SYSTEM")
Set xml = CreateObject("Microsoft.XMLHTTP")
+Dim UseWgetEXE
+
+On Error Resume Next
Set oStream = CreateObject("Adodb.Stream")
+On Error Goto 0
+
+If Not IsObject(oStream) Then
+ wscript.echo("Failed to create Adodb.Stream, using alternative download method.")
+ UseWgetEXE=true
+Else
+ UseWgetEXE=false
+End If
+
Set objArgs = WScript.Arguments
quote=Chr(34)
ScriptDir=Left(WScript.ScriptFullName,Len(WScript.ScriptFullName)-Len(WScript.ScriptName))
UtilsDir=Showpath(ScriptDir)
ToolsBase="http://svn.freeswitch.org/downloads/win32/"
+If UseWgetEXE Then
+ GetWgetEXE UtilsDir
+End If
GetCompressionTools UtilsDir
@@ -58,6 +79,14 @@
End If
End Sub
+Sub GetWgetEXE(DestFolder)
+ Dim oExec
+ If Right(DestFolder, 1) <> "\" Then DestFolder = DestFolder & "\" End If
+ If Not FSO.FileExists(DestFolder & "wget.exe") Then
+ Slow_Wget ToolsBase & "wget.exe", DestFolder
+ End If
+End Sub
+
Sub UnCompress(Archive, DestFolder)
wscript.echo("Extracting: " & Archive)
Set MyFile = fso.CreateTextFile(UtilsDir & "tmpcmd.Bat", True)
@@ -100,19 +129,51 @@
If Right(DestFolder, 1) <> "\" Then DestFolder = DestFolder & "\" End If
Wscript.echo("Downloading: " & URL)
+
+If UseWgetEXE Then
+ Set MyFile = fso.CreateTextFile(UtilsDir & "tmpcmd.Bat", True)
+ MyFile.WriteLine("@cd " & quote & DestFolder & quote)
+ MyFile.WriteLine("@" & quote & UtilsDir & "wget.exe" & quote & " " & URL)
+ MyFile.Close
+ Set oExec = WshShell.Exec(UtilsDir & "tmpcmd.Bat")
+ Do
+ WScript.Echo OExec.StdOut.ReadLine()
+ Loop While Not OExec.StdOut.atEndOfStream
+
+Else
xml.Open "GET", URL, False
xml.Send
Const adTypeBinary = 1
Const adSaveCreateOverWrite = 2
Const adSaveCreateNotExist = 1
-
+
oStream.type = adTypeBinary
oStream.open
oStream.write xml.responseBody
oStream.savetofile DestFolder & filename, adSaveCreateOverWrite
-
oStream.close
+End If
+
+End Sub
+
+Sub Slow_Wget(URL, DestFolder)
+ StartPos = InstrRev(URL, "/", -1, 1)
+ strlength = Len(URL)
+ filename=Right(URL,strlength-StartPos)
+ If Right(DestFolder, 1) <> "\" Then DestFolder = DestFolder & "\" End If
+
+ Wscript.echo("Downloading: " & URL)
+ xml.Open "GET", URL, False
+ xml.Send
+
+ const ForReading = 1 , ForWriting = 2 , ForAppending = 8
+Set MyFile = fso.OpenTextFile(DestFolder & filename ,ForWriting, True)
+For i = 1 to lenb(xml.responseBody)
+ MyFile.write Chr(Ascb(midb(xml.responseBody,i,1)))
+Next
+MyFile.Close()
+
End Sub
Function Showpath(folderspec)
More information about the Freeswitch-svn
mailing list