Jump to content
Ketarin forum

Ok, so why is Ketarin still polling for the file?


GaronneBC
 Share

Recommended Posts

I recently start getting problems with Ketarins internal downloader.

 

Two more applications died on me this week.

 

XYplorer seemed to change something the way they hand out their files (download url changed), now Ketarin times out on trying to get the file... though WGet or directly entering the very same url into a browser works just fine...

 

Can anybody explain to me, why Ketarin still TRIES to download the file?

  • Check for updates, don't download: YES
  • Ignore file information if file missing: YES
  • Use variable for update check: YES

So basically, Ketarin is supposed to only check it's variables, display the results and do nothing...

 

Why is Ketarin ignoring the variables, any settings and still trying (and failing) do download the file?

 

<?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="84f3ec04-7bcd-4ba8-83e9-f3e795ebf6a2">
    <WebsiteUrl />
    <UserAgent>Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36</UserAgent>
    <UserNotes />
    <LastFileSize>4069801</LastFileSize>
    <LastFileDate>2015-04-20T23:29:52.2875701</LastFileDate>
    <IgnoreFileInformation>true</IgnoreFileInformation>
    <DownloadBeta>Default</DownloadBeta>
    <DownloadDate xsi:nil="true" />
    <CheckForUpdatesOnly>true</CheckForUpdatesOnly>
    <VariableChangeIndicator>Version</VariableChangeIndicator>
    <CanBeShared>true</CanBeShared>
    <ShareApplication>true</ShareApplication>
    <ExclusiveDownload>false</ExclusiveDownload>
    <HttpReferer>http://xyplorer.com/download.php</HttpReferer>
    <SetupInstructions>
      <SetupInstruction xsi:type="CloseProcessInstruction">
        <ProcessName>XYplorer</ProcessName>
      </SetupInstruction>
      <SetupInstruction xsi:type="CustomSetupInstruction">
        <Code>{7z} x "{file}" "-o\XYplorer" -aoa
</Code>
        <Type>Batch</Type>
      </SetupInstruction>
      <SetupInstruction xsi:type="StartProcessInstruction">
        <EnvironmentVariables />
        <FileName>\XYplorer\XYplorer.exe</FileName>
        <Parameters />
        <WaitForExit>false</WaitForExit>
      </SetupInstruction>
    </SetupInstructions>
    <Variables>
      <item>
        <key>
          <string>Version</string>
        </key>
        <value>
          <UrlVariable>
            <RegexRightToLeft>false</RegexRightToLeft>
            <VariableType>RegularExpression</VariableType>
            <Regex>\<b\>XYplorer (\d+\.\d\d\.\d\d\d\d)\</b\></Regex>
            <Url>http://xyplorer.com/download.php</Url>
            <Name>Version</Name>
          </UrlVariable>
        </value>
      </item>
    </Variables>
    <ExecuteCommand />
    <ExecutePreCommand />
    <ExecuteCommandType>Batch</ExecuteCommandType>
    <ExecutePreCommandType>Batch</ExecutePreCommandType>
    <Category>Tools</Category>
    <SourceType>FixedUrl</SourceType>
    <PreviousLocation>\Downloads\XYplorer\XYplorer 15.00.0500.zip</PreviousLocation>
    <DeletePreviousFile>false</DeletePreviousFile>
    <Enabled>false</Enabled>
    <FileHippoId />
    <LastUpdated>2015-04-20T23:29:52.2875701</LastUpdated>
    <TargetPath>\Downloads\XYplorer\XYplorer {Version}.zip</TargetPath>
    <FixedDownloadUrl>http://xyplorer.com/download/xyplorer_full_noinstall.zip</FixedDownloadUrl>
    <Name>XYplorer (portable) (NOT WORKING ANYMORE)</Name>
  </ApplicationJob>
</Jobs>

I'd definitely would want a more direct support for external downloaders... Like disabling the internal downloader and having a command section just for external download commands.

 

(( Example: A new settings tab in the application, a checkbox to switch between internal and external downloader... If set to external downloader, the commands for the external downloader are processed instead of the internal downloader. Text boxes to specify when Ketarin should assume a succeeded download and when to assume a failed one. (Compare error code of downloader (i.e. WGet)) ))

 

Link to comment
Share on other sites

How exactly is it being called? Did you click "update all" or some other way? The "check only" behavior relates to the "Update all" button. If you right-click and run Update or Force Download then it will run the download process. This is a manual check that overrides other options.

Link to comment
Share on other sites

How exactly is it being called? Did you click "update all" or some other way? The "check only" behavior relates to the "Update all" button. If you right-click and run Update or Force Download then it will run the download process. This is a manual check that overrides other options.

 

Ok, I guess I need to take back my statement. The timeout occurs when trying to evaluate the Version variable as Ketarin has problems fetching the download page (at least for me) (Link)

 

EDIT 2: Anyways: For using external downloaders Ketarins behaviour options are quite problematic, as any context menu options either force download (or at least check) of the download url or ignore the pre-download commands. So I either need a 'valid' download url (which I usually don't have) or the external downloader isn't called (pre-download commands are ignored). These aren't the best options...

 

 

Your app works fine for me and I've also created a new one and it works too. Check the online db for XYplorer (Portable ZIP)

 

Same issue. Can't evaluate the variable "version" as the download.php fails to load.

 

EDIT: Ok, so actually fetching any link on xyplorer.com seems to fail on me. At least from within Ketarin. No idea why, as I don't have any problems using my browser(s) or any other tool.

XYplorer (portable) (NOT WORKING ANYMORE)
   Timeout für Vorgang überschritten (http://xyplorer.com/download/xyplorer_full_noinstall.zip)

No idea actually if my problems with your application are linked to the fact that I don't have the variables "sf" or "mozilla" set...

Since they are "global" variables set in your Ketarin instance I don't know the values of those.

Edited by GaronneBC
Link to comment
Share on other sites

There is nothing wrong with your variables and settings. :huh: Have you tried to delete the app and create a new one with same settings?

 

Your app "XYplorer (Portable ZIP)" uses HTTP Referrer: {sf} and User Agent {mozilla}.

I don't know the values for those variables.

Link to comment
Share on other sites

Anyways: For using external downloaders Ketarins behaviour options are quite problematic, as any context menu options either force download (or at least check) of the download url or ignore the pre-download commands. So I either need a 'valid' download url (which I usually don't have) or the external downloader isn't called (pre-download commands are ignored). These aren't the best options...

 

When using external downloaders, as long as the pre-update script exits properly, the download URL is never requested. If it does not exit then the download URL will be requested.

 

You don't have to have a *valid* download URL when using an external downloader, just a download URL. You can use example.com/robots.txt and it'll be just as effective with an external downloader.

 

This is likely a case where the code to check for the external download could be refactored. However, it would not be safe to simply assume that the pre-update script will necessarily perform an external download, and the logic to determine whether a download needs to be performed probably checks for a valid URL form within the download URL. Without which, Ketarin cannot perform the update operation, and thus the pre- and post-update scripts will never be called. In these cases, fluffing up the download URL with something like example.com/robots.txt is a small price to pay for the ability to use an external downloader via pre-update.

 

Since external downloads are a very advanced feature, it's reasonable to assume that making note of the download URL precondition on the Wiki should be sufficient for these use cases. If someone wants to provide me with an account on the wiki (I don't see an option anywhere to sign up), I'd be happy to make this change.

Link to comment
Share on other sites

You don't have to have a *valid* download URL when using an external downloader, just a download URL. You can use example.com/robots.txt and it'll be just as effective with an external downloader.

 

Ok, I have to admit I didn't think of something as easy as example.com/robots.txt. Guess I should take note of that... Basically I tried to use something like xxx as url and that failed entirely.

Link to comment
Share on other sites

Ok, that's strange... Starting this morning both XYplorer applications (my own as well as the one necrox added to the online db) started working again.

I didn't change anything so there had to be something funny with the website...

 


 

Ok, just lately I guess I figured out what my problem really might have been.

 

Obviously I've been subject to the strange windows behavior where windows randomly tries to access proxy settings for LAN connections where no proxys are installed resulting in failures to the internet connection in some browsers while others might work flawlessly.

 

It seems the Ketarin Connection was subject to this failure, too, so it sometimes would not be able to connect to the internet.

 

Since I changed the setting in windows, I haven't had any problems anymore.

Edited by GaronneBC
Link to comment
Share on other sites

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
 Share

×
×
  • 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.