'vbscript to download EOD files, unzip and import into Amibroker DB
'EOD source cophieu68.vn
'2016 by cophieu68.vn
Dim objAmi, objFSO, objHTTP, stream , objShell, importFormat, echoStr, url_EOD, savePath, fileNameZipDownload, FilesInZip, url_check
Set objAmi   = CreateObject("Broker.Application")
Set objHTTP  = CreateObject("WinHttp.WinHttpRequest.5.1")
Set objShell = CreateObject("Shell.Application")
set objFSO   = CreateObject("Scripting.FileSystemObject")
Set stream   = CreateObject("ADODB.Stream")

'customize source file format
DIR_PATH_DATA = objFSO.GetAbsolutePathName(".")

Call receiveAlert()
WScript.Sleep 5*1000
WScript.Quit

Sub receiveAlert()
	fileURL = "https://www.cophieu68.vn/download/_amibroker.php?type=check"
    objHTTP.Open "GET", fileURL, False
    objHTTP.Send

	If ( objHTTP.responseText <> "" ) Then
		 WScript.Echo( objHTTP.responseText )
	Else
		Call ImportEOD()
	End If

    SET objHttp = Nothing

End Sub

Sub ImportEOD()
    WScript.Echo( "Dang ket noi du lieu den cophieu68.vn ..., vui long cho trong vai giay." )

	fileURL = "https://www.cophieu68.vn/download/_amibroker.php?type=all"
    'HTTPDownload
    objHTTP.Open "GET", fileURL, False
    objHTTP.Send


	fileNameZipDownload  = DIR_PATH_DATA & "\ami.zip"

    'write the downloaded byte stream to the target file
    stream.Open
    stream.Type = 1 'binary
    stream.Write objHTTP.ResponseBody
    stream.SaveToFile fileNameZipDownload , 2  'overwrite
    stream.Close

    'check files zip download
    SET objFile = objFSO.GetFile(fileNameZipDownload)
    If ( objFSO.FileExists(fileNameZipDownload) AND objFile.Size/1024 > 1 ) Then
        WScript.Echo( "Dang thuc hien cap nhat du lieu cho Amibroker ..." )

        'unZip
        Set FilesInZip = objShell.NameSpace(fileNameZipDownload).items
        objShell.NameSpace(DIR_PATH_DATA).CopyHere(FilesInZip)
        objFSO.DeleteFile fileNameZipDownload

       	If ( FilesInZip.Count < 1 ) Then
			WScript.Echo( "LOI KHONG CO DU LIEU !!!!" )
			WScript.Quit
		End If

        'import
	    fileNameUnzip = DIR_PATH_DATA & "\" & FilesInZip.Item(0).Name
	    result   = objAmi.Import(0, fileNameUnzip , "cophieu68.format" )   'todo
	    If (result <> 0 ) Then
			WScript.Echo( "Loi cap nhap khong tim thay file cophieu68.format hoac du lieu khong co" )
		Else
			objFSO.DeleteFile fileNameUnzip
		End If

        Call objAmi.SaveDatabase()
        Call objAmi.RefreshAll()


        WScript.Echo( "Amibroker da cap nhat tat ca du lieu thanh cong: " & Now & vbCrLf )
    Else
       WScript.Echo("Du lieu download tu cophieu68.vn khong ton tai. Vui long kiem tra lai ket noi mang, hoac cophieu68 da nang cap phan mem cap nhat du lieu, vao trang http://www.cophieu68.vn de xem thong tin chi tiet.")
       WScript.Sleep 5*1000
       WScript.Quit
    End If
End Sub
