Jump to content

Recommended Posts

Posted (edited)

Referring to:

and

/?do=embed#entry1102929'' frameborder='0' data-embedContent>>

I would like to present AU3 Tools - Quick Updater :

Global $URL_Scite = 'http://www.autoitscript.com/autoit3/scite/download/beta_SciTE4AutoIt3/'

_INET_DownloadIfNotEqual("AutoIt3Wrapper.exe")
_INET_DownloadIfNotEqual("Obfuscator.exe")
_INET_DownloadIfNotEqual("SciTE.exe")
_INET_DownloadIfNotEqual("SciteConfig.exe")
_INET_DownloadIfNotEqual("Tidy.exe")
_INET_DownloadIfNotEqual("SciLexer.dll")

Func _INET_DownloadIfNotEqual($fFileToDownlad)
    Local $fLocalDestination
    If _INET_CompareSize_IsEqual($fFileToDownlad) = False Then
        $fLocalDestination = _INET_GetUpdate($fFileToDownlad)
        FileMove($fLocalDestination, @ScriptDir & '\' & $fFileToDownlad, 1)
    EndIf
EndFunc   ;==>_INET_DownloadIfNotEqual

Func _INET_CompareSize_IsEqual($fFileToDownlad)
    Local $nWebSize = InetGetSize($URL_Scite & $fFileToDownlad)
    Local $nLocalSize = FileGetSize(@ScriptDir & '\' & $fFileToDownlad)
    If $nWebSize = $nLocalSize Then
        Return True
    Else
        Return False
    EndIf
EndFunc   ;==>_INET_CompareSize_IsEqual

Func _INET_GetUpdate($fFileToDownlad)
    Local $fLocalDestination = @TempDir & "\" & $fFileToDownlad
    Local $hDownload = InetGet($URL_Scite & $fFileToDownlad, $fLocalDestination, 1, 1)
    Do
        Sleep(250)
    Until InetGetInfo($hDownload, 2) ; Check if the download is complete.
    Local $nBytes = InetGetInfo($hDownload, 0)
    InetClose($hDownload) ; Close the handle to release resources.
    Return $fLocalDestination
EndFunc   ;==>_INET_GetUpdate

HOW TO USE:

Simply compile and run waiting to download current updates tools

If You want to replace file in SciTE4AutoIt dir then run it script from directory where SciTE4AutoIt is instaled

 

ps.

This is a really fast set up, update tool
contains no error checking
requires no configuration
requires that the target downloaded files were not used by other Windows processes
 
 
EDIT:
CAUTION:
 
EDIT:
WORD JOKE : as they say on the commercial
"before use, read the label or contact your doctor or pharmacist" :)
Edited by mlipok

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

  Reveal hidden contents

Signature last update: 2023-04-24

  • Moderators
Posted (edited)

Hi,

Just for emphasis: Using this tool will download the latest Beta versions of the various SciTE files and tools. As their name implies, these versions are not for general release and are often "works in progress" which may not be entirely backwards compatible nor fully functional - although as a rule Jos does a pretty good job of not breaking things. ;)

So please read his post in the "CAUTION" link above - and remember that if you do use this app, it is at your own risk and peril. :pirate:

M23

Edit: No need to read the link - just look below! :D

Edited by Melba23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

  Reveal hidden contents

 

  • Developers
Posted

@mlipok,

I hope you did get the point I made earlier that I am not a fan of this and that this is not being supported by me.

It is fine when you want to use it for yourself but downloading the Beta versions of the utilities sometimes require extra changes to be made.

One prime example of that was with an upgrade of SciTE which also required to update an LUA file or else SciTE would become unresponsive.

End of all my disclaimer replies ;)

Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Posted

Thank you for Your attention and valuable comments as for me and for the potential users of this script.

I hope that for those who test new tools and beta versions of AutoIt these tools will be helpful.

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

  Reveal hidden contents

Signature last update: 2023-04-24

Posted

Assume that this tool could be used to update anything locally compared to a remote server, right ?

If so, the OP could simply change the URL to be unimportant dummy files. Would still prove the funtion but would not cause (relevant) issues with beta versions.

  Reveal hidden contents

I am just a hobby programmer, and nothing great to publish right now.

Posted

@Myicq

if You want to update Your own aplication 

Yes You can but you have to modify the script exactly as it says @jaberwocky6669

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

  Reveal hidden contents

Signature last update: 2023-04-24

  • 2 months later...
Posted (edited)

First I want to thanks @Melba23 for "DTC.au3" 

'?do=embed' frameborder='0' data-embedContent>>


New version:

#Tidy_Parameters=/reel
#AutoIt3Wrapper_Au3Check_Parameters=-q -d -w 1 -w 2 -w 3 -w- 4 -w 5 -w 6 -w- 7

Global $URL_Scite = 'http://www.autoitscript.com/autoit3/scite/download/beta_SciTE4AutoIt3/'
Global $sRaport = ''

#include <Date.au3>
#include <debug.au3>
#include <IE.au3>
#include <array.au3>
#include <MsgBoxConstants.au3>
#include "DTC.au3" ; http://www.autoitscript.com/forum/topic/154684-date-time-convert-initial-release-17-sep-13/

_DebugSetup()
_Main()

Func _Main()
    Local $sIn_Date, $sOut_Date, $sName, $sWebDate
    Local $oIE = _IECreate("http://www.autoitscript.com/autoit3/scite/download/beta_SciTE4AutoIt3/?C=M;O=D")
    Local $sText = _IEBodyReadText($oIE)
;~  ClipPut($sText)
    _IEQuit($oIE)

    Local $aResult = StringRegExp($sText, "(?i)(.*)(\d\d-\w*-\d{4})", 3)
;~ _ArrayDisplay($aResult,'$aResult')

    For $i = 0 To UBound($aResult) - 1 Step 2
        $sName = $aResult[$i]
        $sWebDate = $aResult[$i + 1]
        $sIn_Date = $sWebDate
        $sOut_Date = _Date_Time_Convert($sIn_Date, "dd-MMM-yyyy", "yyyy/MM/dd")
        _INET_DownloadIfNotEqual($sName, $sOut_Date)
        _DebugOut('')
    Next

    If $sRaport = '' Then $sRaport = 'Not downloaded any files.'
    _DebugOut('')
    _DebugOut('=====================================================================================')
    _DebugOut('')
    _DebugOut('SUMMARY: List of downloaded files:')
    _DebugOut($sRaport)
    _DebugOut('')
    _DebugOut('=====================================================================================')
    _DebugOut('')

EndFunc   ;==>_Main

Func _INET_DownloadIfNotEqual($fFileToDownlad, $sWebDate = Default)
    Local $sSubDir
    Local $fLocalDestination
    Local $fLocalFinalDestination = @ScriptDir & '\BETADownload\'
    If FileExists($fLocalFinalDestination) = 0 Then DirCreate($fLocalFinalDestination)
    If StringInStr($fFileToDownlad, '/') Then
        _DebugOut('... skipping :' & $fFileToDownlad)
    Else
        _DebugOut($fFileToDownlad & ' :')
        Select
            Case $fFileToDownlad = 'Tidy.exe'
                $sSubDir = $fLocalFinalDestination & 'Tidy\'
            Case $fFileToDownlad = 'AutoIt3Wrapper.exe' Or $fFileToDownlad = 'AutoIt3Wrapper.au3'
                $sSubDir = $fLocalFinalDestination & 'AutoIt3Wrapper\'
            Case $fFileToDownlad = 'Obfuscator.exe'
                $sSubDir = $fLocalFinalDestination & 'Obfuscator\'
            Case $fFileToDownlad = 'SciteConfig.exe' Or $fFileToDownlad = 'SciteConfig.au3'
                $sSubDir = $fLocalFinalDestination & 'SciteConfig\'
            Case StringRight($fFileToDownlad, 4) = '.lua'
                $sSubDir = $fLocalFinalDestination & 'LUA\'
            Case Else
                $sSubDir = $fLocalFinalDestination
        EndSelect
        _DebugOut('$sSubDir = ' & $sSubDir)
        If FileExists($sSubDir) = 0 Then DirCreate($sSubDir)
        Local $sLocalDate = StringLeft(FileGetTime($sSubDir & $fFileToDownlad, $FT_MODIFIED, 1), 8)
        $sLocalDate = _Date_Time_Convert($sLocalDate, "yyyyMMdd", "yyyy/MM/dd")
        _DebugOut('$sWebDate  = ' & $sWebDate)
        _DebugOut('$sLocalDate = ' & $sLocalDate)
        If _
                _INET_CompareSize_IsEqual($fFileToDownlad, $sSubDir) = False Or _
                _DateDiff('D', $sLocalDate, $sWebDate) > 0 _
                Then
            _DebugOut('!!! Downloading: ' & $fFileToDownlad)
            $fLocalDestination = _INET_GetUpdate($fFileToDownlad)
            FileMove($fLocalDestination, $sSubDir & $fFileToDownlad, 1)
        EndIf
    EndIf
    _DebugOut('')
    _DebugOut('')
EndFunc   ;==>_INET_DownloadIfNotEqual

Func _INET_CompareSize_IsEqual($fFileToDownlad, $sSubDir)
    Local $vWebSize = InetGetSize($URL_Scite & $fFileToDownlad)
    Local $vLocalSize = FileGetSize($sSubDir & $fFileToDownlad)
;~  _DebugOut('$fFileToDownlad = ' & $fFileToDownlad )
    _DebugOut('$vWebSize  = ' & $vWebSize)
    _DebugOut('$vLocalSize = ' & $vLocalSize)
    Return $vWebSize = $vLocalSize
EndFunc   ;==>_INET_CompareSize_IsEqual

Func _INET_GetUpdate($fFileToDownlad)
    Local $fLocalDestination = @TempDir & "\" & $fFileToDownlad
    Local $hDownload = InetGet($URL_Scite & $fFileToDownlad, $fLocalDestination, 1, 1)
    Do
        Sleep(250)
    Until InetGetInfo($hDownload, 2) ; Check if the download is complete.
;~  Local $nBytes = InetGetInfo($hDownload, 0)
    InetClose($hDownload) ; Close the handle to release resources.
    $sRaport &= $fFileToDownlad & @CRLF
    Return $fLocalDestination
EndFunc   ;==>_INET_GetUpdate

REMARKS:

Read post #2 #3 #4 before using this script.

Whats new:

- check not only sizes (as before) but also file dates
- saving files in subdirectories

- reports in _DebugOut()

- using "DTC.au3"
- created to build using the latest version of AutoIt BETA
Edited by mlipok

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

  Reveal hidden contents

Signature last update: 2023-04-24

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...