Jump to content
Ketarin forum

shawn

Moderators
  • Posts

    1,181
  • Joined

  • Last visited

Everything posted by shawn

  1. Bug: Using latest 1.8.11 beta posted June 15 and seeing strange behavior. It looks like new variables may not be parsed the same way as variables that already exist for a job. I created a new variable on a job, "svendor". I populated it with a text value (Nirsoft). I use the following PS code in after update to populate a field in a database: $svendor = $app.variables.ReplaceAllInString("{svendor}", $sfiletime, $sfilename, $true); if($svendor -eq "{svendor}"){$svendor = '';} echo 'svendor:'$svendor; Unfortunately, svendor always returns empty. 2019-09-21 11:59:38: PowerShell: svendor: 2019-09-21 11:59:38: PowerShell: 2019-09-21 11:59:38: PowerShell: swebsite: 2019-09-21 11:59:38: PowerShell: https://www.nirsoft.net/utils/browsing_history_view.html I changed svendor in the first param of ReplaceAllInString to swebsite (another variable I use in all my jobs) and it parsed it correctly. 2019-09-21 11:59:03: PowerShell: svendor: 2019-09-21 11:59:03: PowerShell: https://www.nirsoft.net/utils/browsing_history_view.html 2019-09-21 11:59:03: PowerShell: swebsite: 2019-09-21 11:59:03: PowerShell: https://www.nirsoft.net/utils/browsing_history_view.html I've closed and reopened Ketarin and deleted and recreated the variable. I've tried a different variable name. Nothing is getting this value to populate into the powershell script. I've tried this on three jobs now and each is failing. Two are based on a template and I thought that might be the problem, but I tried with one that isn't based on a template and it didn't work either. Any ideas?
  2. The user variables are listed within the left side column. There are some special internal variables, and other values that aren't variables but are usable in your user variables and scripts such as internal values and functions. The functions can be found here and a method for parsing for internal values can be found here.
  3. I was experiencing a problem with the new global "On update failed" command. I'm leaving this comment to help others that might experience the same issue. I'm using it to log issues with apps and record as much about the event as possible. It was working pretty well most of the time, but randomly raised a file access error to the text file I was logging to. EVEN WITH error handling it still raised an error and locked up Ketarin at that point during a deadlock on the log file. It only erred when parallel downloads > 1. If I reduced it to 1 then I had no problems. I switched out the code from using Add-Content to piping to Out-File -Append. That works fine. The revised code I'm using is below. #### Append current log details Try{ ( "`nERROR:`t$($scategory)`t$($sslug)`t$($sname)`t$($sversion)" | Out-File Updates.txt -Append ) } Catch{ echo 'Can not write to Updates.txt'; echo "`nERROR:`t$($scategory)`t$($sslug)`t$($sname)`t$($sversion)"; } #### With the Out-File -Append method I am able to hike parallel downloads back up to 4 without problems. Still hoping for a more descriptive error handler so I can record much the same text that appears in the popup directly to the log. Also, will there be an option to disable the post-check-for-updates error popup? Thanks, @floele!
  4. Is there a way of trapping the specific error message for logging? I'd like to completely eliminate my reliance on the post-update-cycle popup.
  5. The short answer for Chrome is that they haven't updated their download locations in that long. They're doing it right. As for the search feature, I could have sworn it indicated whether you had individual results already installed. Maybe that needs a feature request?
  6. This makes me grateful I have less than a dozen FH apps.
  7. Good morning, @Hulk91. I tried each of your links and they all failed for me because the links had foreign characters embedded within the URLs. Stripping those characters out allows the link to work again. I have personally experienced problems with the new builds munging characters in a few of my apps (replacing "\\&" with "\\\&"), so they had to each be fixed again before they would work. I suspect something similar happened with yours. The easy fix is to open notepad or notepad++ and paste the URLs into there and see if the non-breaking space becomes visible for you as either a space or a question mark. If not, consider pasting the URL alone into a command prompt or powershell. Remove the invalid characters, copy then paste the clean result back into Ketarin.
  8. The current beta (at the top of this thread) supports FH. If you continue to experience issues with that please report here. The nightly build should also support FH, but since it's a nightly build I recommend avoiding it. Any number of other features could exist in an unstable state.
  9. I use this with probably half my multi-step apps. It's awesome.
  10. The current "release" version is 1.8.10 (you can see this on the Ketarin homepage or in the PAD file). The link you gave is for the nightly builds, which are *not* beta versions and should be expected to be unstable.
  11. Slimjet recommends just overwriting the target folder with newer files. Most portable apps work that way. If you're concerned about having a clean install folder, then you should erase the entire destination folder before extracting there.
  12. Not directly. However, if the option to "use the following variable as indicator for changes" is enabled with your version variable, then it checks the parsed "version" against your version variable and will only download if the version is different.
  13. Unless you configure the option on the Advanced tab named "Use the following variable as indicator for changes" Ketarin will use its native HTTP header parsing capability to determine if the downloaded file would be newer/different than the last file it downloaded. Be aware that this does not work for some sites, so you should get in the habit early and parse your own version numbers from the source website so you have better control over whether the file is actually newer. For example, I download many ISO files for different operating systems and the last thing you want is to download an extra 8 copies of Fedora every time you run Ketarin because the Fedora site uses a new ETag and timestamp with every request, effectively breaking cache controls. Downloading an extra 40 GB of Fedora spins a couple times a day is a good way to waste bandwidth. Using a version variable which parses the changelog for the current release version, and "version" in the "Use the following variable as indicator for changes" field avoids this problem very nicely. Be aware that there's also an Advanced option to "ignore file information" that needs to be checked if you will be deleting the actual downloaded files after extracting their contents. If you don't have this option enabled then Ketarin will default to correcting the missing files by re-downloading them.
  14. Welcome to Ketarin, @Kacey. You're going to love it. Ketarin can use many automatic methods to detect if a download is different, including checking the HTTP headers of the response (download URL) for the file size, file timestamp, ETag, and cache-control headers. Ketarin also intelligently (though not always perfectly) parses the download filenames from redirects and downloads. If the source site is doing things correctly, it does a hell of a job. That said, the beauty of Ketarin is that you don't have to rely on that. If you want more details (such as the specific version number) you can use the "monitor for changes" variable to parse something specific on the source website as a version or change indicator. You can then use this information (if you want) within the download file name. If you're going to use your process above (download, extract, delete partial data, delete zip) you can automate the entire process in Ketarin. There are actually several samples of doing exactly that here on the forum. In the specific case of this file and your stated purpose (download, extract, delete), I would use the static "go" link MS provides and hard-code the output filename to ease extraction. It's not a huge deal to use {file} instead of "vscode.zip" but if you're new it can make things a little easier.
  15. Do you get the error if you use an actual file: URL such as "file:///C:/path/firefoxversion.txt" ?
  16. @Etz is it the exact same jobs.db file? what exactly happens?
  17. it started working again after a delay. the "fix" from SO actually made it worse.
  18. Hmm. Is it possible you're using a different global variable path based on a value that doesn't exist in one context? Do you get any errors in the app log or event log?
  19. @Etz Are both instances running from the same network drive? Are you running either of them elevated? What OS? Do you have SmartScreen enabled?
  20. Thanks, @floele! I'll try that now.
  21. is it possible that it was already in use? perhaps being edited by another version of Ketarin or a Sqlite editor?
  22. @jokerfooldon't forget that you can always use the "template" feature to build your own (or download a template from the Templates section) to get the same (and better) functionality that the Filehippo option currently provides. The beauty of templates is that when the site changes you need only to modify your XML template and drag it back into Ketarin to force an update to all the apps made based on that template. It's a thing of beauty. Years ago I started to use a template for almost every site that I had to download more than two apps from and have not looked back. I currently only have 5 apps (out of nearly 800) that use Filehippo, and only because their sites were even less reliable than Filehippo.
  23. Something is going on with the regexreplace function. It's returning empty when used in the "save to file" box. After some digging I found that it's actually that the upgrade from 1.8.10 to 1.8.11 has somehow munged a few (but not all) of the regex patterns used This is what the value was: ..\{category}\{appname:regexreplace:([\s\t\r\n\-\\&]+):_}-{version}.{url:ext} Which has been changed to this: ..\{category}\{appname:regexreplace:([\s\t\r\n\-\\&\\]+):_}-{version}.{url:ext} The difference is the addition of two backslashes prior to the closing square bracket. This results in the call to regexreplace to fail and be skipped each time. I copied the XML output into N++ and it looks like this affected 523 of my apps. Only a couple dozen were downloaded with names like "-67.0.2.exe" today, fortunately, but I'm concerned about what other data might have been damaged. I'm looking through the XML now.
  24. Avoid filehippo wherever possible: <?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="11107674-809d-4de5-b8d1-a52cab3f8d5e"> <Category>Tools</Category> <WebsiteUrl /> <UserAgent>pycurl/7.18.2</UserAgent> <UserNotes /> <IgnoreFileInformation>false</IgnoreFileInformation> <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>version</string> </key> <value> <UrlVariable> <RegexRightToLeft>false</RegexRightToLeft> <VariableType>RegularExpression</VariableType> <Regex>files/7-Zip/([\d\.]+)/</Regex> <Url>https://sourceforge.net/projects/sevenzip/files/7-Zip/</Url> <Name>version</Name> </UrlVariable> </value> </item> <item> <key> <string>sdownload</string> </key> <value> <UrlVariable> <RegexRightToLeft>false</RegexRightToLeft> <VariableType>Textual</VariableType> <Regex></Regex> <Url>http://7-zip.org/download.html</Url> <TextualContent>http://www.7-zip.org/a/7z{version:replace:.:}-x64.exe</TextualContent> <Name>sdownload</Name> </UrlVariable> </value> </item> <item> <key> <string>schangelog</string> </key> <value> <UrlVariable> <RegexRightToLeft>false</RegexRightToLeft> <VariableType>Textual</VariableType> <Regex /> <TextualContent>https://www.7-zip.org/history.txt</TextualContent> <Name>schangelog</Name> </UrlVariable> </value> </item> </Variables> <ExecuteCommand /> <ExecutePreCommand /> <ExecuteCommandType>Batch</ExecuteCommandType> <ExecutePreCommandType>CS</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>{sdownload}</FixedDownloadUrl> <Name>7-Zip x64</Name> </ApplicationJob> </Jobs>
×
×
  • 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.