Jump to content
Ketarin forum

shawn

Moderators
  • Posts

    1,181
  • Joined

  • Last visited

Posts posted by shawn

  1. as a rule you want to use the following format for the filehippo id's:

    32-bit: 7zip

    64-bit: 7zip/64

    This does not always work, and if you don't throttle connections to different sites (file, settings, connection, number of parallel downloads: <= 2) you can end up getting your IP blocked by filehippo. it's safer, whenever possible, to go directly to the "real" source, such as http://7-zip.org/

  2. This works for me:

    <?xml version='1.0' encoding='utf-8'?>
    <Jobs>
      <ApplicationJob xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Guid="58eddfcf-521f-47fa-bde0-68fdda227ad4">
        <Category>Internet</Category>
        <WebsiteUrl>https://www.freefilesync.org/download.php</WebsiteUrl>
        <UserAgent />
        <UserNotes />
        <IgnoreFileInformation>false</IgnoreFileInformation>
        <DownloadBeta>Default</DownloadBeta>
        <DownloadDate xsi:nil="true" />
        <CheckForUpdatesOnly>false</CheckForUpdatesOnly>
        <VariableChangeIndicator>version</VariableChangeIndicator>
        <HashVariable />
        <HashType>None</HashType>
        <CanBeShared>true</CanBeShared>
        <ShareApplication>false</ShareApplication>
        <ExclusiveDownload>false</ExclusiveDownload>
        <HttpReferer />
        <SetupInstructions />
        <Variables>
          <item>
            <key>
              <string>schangelog</string>
            </key>
            <value>
              <UrlVariable>
                <RegexRightToLeft>false</RegexRightToLeft>
                <VariableType>Textual</VariableType>
                <Regex />
                <TextualContent>https://www.freefilesync.org/download.php</TextualContent>
                <Name>schangelog</Name>
              </UrlVariable>
            </value>
          </item>
          <item>
            <key>
              <string>swebsite</string>
            </key>
            <value>
              <UrlVariable>
                <RegexRightToLeft>false</RegexRightToLeft>
                <VariableType>Textual</VariableType>
                <Regex />
                <TextualContent>https://www.freefilesync.org/download.php</TextualContent>
                <Name>swebsite</Name>
              </UrlVariable>
            </value>
          </item>
          <item>
            <key>
              <string>snotes</string>
            </key>
            <value>
              <UrlVariable>
                <RegexRightToLeft>false</RegexRightToLeft>
                <VariableType>Textual</VariableType>
                <Regex />
                <Name>snotes</Name>
              </UrlVariable>
            </value>
          </item>
          <item>
            <key>
              <string>spc</string>
            </key>
            <value>
              <UrlVariable>
                <RegexRightToLeft>false</RegexRightToLeft>
                <VariableType>Textual</VariableType>
                <Regex />
                <TextualContent>freefilesync</TextualContent>
                <Name>spc</Name>
              </UrlVariable>
            </value>
          </item>
          <item>
            <key>
              <string>version</string>
            </key>
            <value>
              <UrlVariable>
                <RegexRightToLeft>false</RegexRightToLeft>
                <VariableType>RegularExpression</VariableType>
                <Regex>FreeFileSync ([\d\.]+) Windows Setup</Regex>
                <Url>https://www.freefilesync.org/download.php</Url>
                <Name>version</Name>
              </UrlVariable>
            </value>
          </item>
          <item>
            <key>
              <string>dlstub</string>
            </key>
            <value>
              <UrlVariable>
                <RegexRightToLeft>false</RegexRightToLeft>
                <VariableType>RegularExpression</VariableType>
                <Regex>="(/download/[^'"]+)"[^&lt;&gt;]*&gt;Download FreeFileSync [\d\.]+ Windows Setup</Regex>
                <Url>https://www.freefilesync.org/download.php</Url>
                <Name>dlstub</Name>
              </UrlVariable>
            </value>
          </item>
          <item>
            <key>
              <string>dl</string>
            </key>
            <value>
              <UrlVariable>
                <RegexRightToLeft>false</RegexRightToLeft>
                <VariableType>Textual</VariableType>
                <Regex />
                <TextualContent>https://www.freefilesync.org{dlstub}</TextualContent>
                <Name>dl</Name>
              </UrlVariable>
            </value>
          </item>
        </Variables>
        <ExecuteCommand />
        <ExecutePreCommand />
        <ExecuteCommandType>Batch</ExecuteCommandType>
        <ExecutePreCommandType>Batch</ExecutePreCommandType>
        <SourceType>FixedUrl</SourceType>
        <DeletePreviousFile>true</DeletePreviousFile>
        <Enabled>true</Enabled>
        <FileHippoId />
        <TargetPath>..\{category}\{appname:regexreplace:([\s\t\r\n\-\\&amp;\/]+):_}-{version}.{url:ext}</TargetPath>
        <FixedDownloadUrl>{dl}</FixedDownloadUrl>
        <Name>FreeFileSync</Name>
      </ApplicationJob>
    </Jobs>

     

  3. unfortunately, i dont think it's possible to reference the setupinstructions field in the current context. it's been tried and reported as an issue in the past, but not currently supported. when it is, something like "{property.setupinstructions:regexreplace:(.+):x}" which will make those with setup instructions display an 'x' and those without show nothing.

    until then, for those apps that you have included setup instructions you can create a custom app variable (text), such as "setup" with a yes or no value, then use {setup} in the custom column value.

  4. Feature request (upvote here!): hey flo, it would be very useful in situations like this if invalid characters in a URL (such as carriage returns and line feeds) and URLs that failed other sanity checks (like being over 4k in length, have no protocol, or no domain) had a persistent visual indicator when updating, editing, or saving the app profile. Something to indicate an invalid URL is being used. Perhaps the specific variable, or URL or filehippo ID fields have a reddish background, a new status icon with a broken globe, or something similar.

  5. I treat any versionless run as a failure. Sure, sometimes a failure occurs even if the version is correct, but this is the most effective testing for me.

     

    So, in the global 'before updating' function I use 

    if "{version}"=="" echo ERROR /// {category:replace:&:^&} /// {appname:replace:&:^&} >> somefile.txt
    if "{version}"=="\{version\}" echo ERROR /// {category:replace:&:^&} /// {appname:replace:&:^&} {version:replace:&:^&} >> somefile.txt
    if "{version}"=="" exit 1
    

    In the global 'after updating an application' I use:

    echo {category:replace:&:^&} /// {appname:replace:&:^&} {version:replace:&:^&} >> somefile.txt
    

    In the global 'after updating all applications' you can use your existing command, and either attach or read in 'somefile.txt' for the body.

  6. Nevermind. I don't know what changed, but I reverted to 1.8.7 as a test, and that one took just as long to open. I then created (and subsequently deleted) a new app. Closed Ketarin, overwrote the app with the beta files again, relaunched and it opened right up. 

  7. Windows sometimes converts LF+CR to CR+LF when copied to the clipboard.

     

    That said, I tested the URL in several different clients and got CRLF in all of them. 

     

    That said, regexp "\n" can match not only CR but all combinations of CRLF, LFCR, LF and CR. It can also match instances of x09 (tab) and x0B (vertical tab) and \u0085 (unicode new line). It doesn't merely mean "new line", but "characters commonly interpreted as a new line", based on the specific RegExp client.

  8. ok, I was trying to find a couple of the other variations (not just mac and win-IE plugin versions) and discovered these:

    https://fpdownload.macromedia.com/pub/flashplayer/update/current/sau/currentmajor.xml

    https://fpdownload.macromedia.com/pub/flashplayer/update/current/sau/24/xml/version.xml

     

    Replace the 24 in the second URL with the current major version number from the currentmajor.xml URL and you can get all five variations full version number.

     

    The biggest difference between these URLs and those above is that this one does not provide a changelog (which sucks), but I suspect the changelog between versions is going to be pretty darn close to the same, so the english version for current version with the changelog is:

    http://fpdownload2.macromedia.com/get/flashplayer/update/current/xml/version_en_win_pl.xml

  9. it sounds like what you really want then isn't an execution order change, but the ability to use a script as part of a variable assignment. that's a fantastic idea and doesn't change the execution order for those of use that depend on variables being fully populated in the pre-download script.

     

    i see the best way to implement this as an alternative to 'content from URL (start/end)', 'content from URL (regex)', 'textual content' in a variable assignment. like the regex selections, you'd then select the specifics - language of choice, variable return method (either return/exit code or value of x at end of script), and it would probably require some changes or at least exposure to the variable assignment order. currently i *believe* that the variables are calculated in order in the variable list unless they depend on another variable and that variable is then processed prior -- but there's no exposure to that process as far as i can see. this new variable scripting option would require that mechanism to be exposed and would also probably require the ability to reorder variables so you can ensure you have proper scripting context to dependent variable values. the execution order should be automatically imposed based on dependency and maybe a visual indicator for logic loops and similar problems, with the ability to reorder those variables that have similar staging order for dependence but ultimately depend on something else that might alter their proper execution order.

     

    if that's what you're really after, we should get it up as a feature request and poll Florian for input.

  10. that's awesome. i didn't know that existed - it will surely make it more reliable to pull version numbers. in the past their help/about page was littered with null characters that ketarin choked on so part of my process has been to keep a second copy of the code from that page to automate the stripping of funky characters in order to have the version numbers in a safe place. those xml files are going to ease that process quite a bit. thank you!

  11. you can pick up the appropriate version number for the URLs above from the Flash About page here:

    http://www.adobe.com/software/flash/about/

    Here's the RX recipes I use:

     

    NPAPI[^<]*</td>[\s\r\n\t]*<td[^>]*>([\d\.]+)

     

    Internet Explorer[^<]+</td>[\s\r\n\t]+<td[^>]*>([\d\.]+)

     

    Macintosh.+?</td>[\s\r\n\t]+<td[^>]*>[^>]+</td>[\s\r\n\t]+<td[^>]*>([\d\.]+)

     

    They've changed the code a couple times in the past which is why it's written to be tolerant of stray attributes in each element.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.