Jump to content
Ketarin forum
  • Announcements

    • floele

      Ketarin 1.8.9   01/27/2018


All Activity

This stream auto-updates     

  1. Last week
  2. New column in interface

    Great, thanks!
  3. New column in interface

    OK will add it for the next version. Now the most fancy solution but I suppose it's fine for the low demand so far.
  4. New column in interface

    Nope, unless you use the variable somewhere in the downloading process.
  5. New column in interface

    So when I add a variable (e.g. named "hasSetup") to a job with "{countSetup:ps}" as its textual content and use that variable instead for the custom column "Setup?" it should display the approppriate value? That is, after an update of the job.
  6. Acrobat Reader DC Update

    fantastic, @floele! thank you!
  7. New column in interface

    that's a great idea, @floele. I think the "!" identifier would be a great inclusion. tying it to pre-check would probably also work, but would be messier.
  8. New column in interface

    Problem is that Ketarin will only display cached content in custom columns (for performance reasons). Since your variable is never used other than in custom columns though, it never evaluates and this also never has some cached content to use. It would be necessary to declare custom columns as "force execution" when you are aware of the implications in regard to performance issues. The easiest way for such an implementation would be agreeing to prefixing column names with "!" in order to force execution. I could also add an editable checkbox, a bit more annoying to implement though.
  9. New column in interface

    I created a global variable named "countSetup" with value "$app. SetupInstructions.Count" and used for a custom column named "Setup?" with value "{countSetup:ps}". The column only shows zeros even for the jobs that have one (or more) setup instruction. Any ideas?
  10. Acrobat Reader DC Update

    You need to thank @shawn
  11. Acrobat Reader DC Update

    Many thanks floele for the very detailed reponse - I'll have a look a look into your suggestions.
  12. Acrobat Reader DC Update

    Oh you need a bridge for that? Consider it done in the next version of Ketarin
  13. Acrobat Reader DC Update

    This is not the first time and won't be the last time. Because of that, this is actually one of those that I dig thru the FTP server to find direct links to. Adobe does a horrible job of making this easy. Step one is to parse this page for the espoused version of the current release notes (parse for DC/continuous[^()]+?\(([\d\.]+x?)\) ): https://helpx.adobe.com/acrobat/release-note/release-notes-acrobat-reader.html Step two is to use that to pull the folder from here, replacing all the periods with nothing and the the x with \d to perform a regex match as "versionshort": ftp://ftp.adobe.com/pub/adobe/reader/win/AcrobatDC/ Step three is to parse for either the msp (update file) or the exe (installer) from here, where the language is one of de_DE, en_US, es_ES, fr_FR or ja_JP, and the msp you want is the one without an underscore ("Acr[^\_\s\r\n\t]+msp") unless you're using a non-standard language, then you need both msp's: ftp://ftp.adobe.com/pub/adobe/reader/win/AcrobatDC/{versionshort}/ Download them using this URL pattern: https://download.adobe.com/pub/adobe/reader/mac/AcrobatDC/{versionshort}/{filename} Here's the rub. The worst part in this entire process is that FTP servers can't be handled directly within Ketarin parsing routines, so I had to setup an HTTP to FTP gateway on one of my servers to return the results as text so this information can be parsed -- and that's why I'm not just sharing an app xml with everyone. The FTP gateway is just a PHP file that converts various input parameters to an FTP request using standard PHP functions. If I were to share this then my server would quickly be abused as an FTP gateway for all sorts of evil, and that's just not going to happen. Here's the PHP file I'm using for this: <?php header("Content-Type: text/plain"); $server = $_GET["s"]; if($server==""){die();} $port = $_GET["p"]; if($port==""){$port = 21;} //$port = intval($port); $dir = $_GET["d"]; if($dir==""){$dir = "/";} // connect $ftp = ftp_connect( $server, $port ); if (!$ftp) die('could not connect.'); //echo("cnx ok\n"); // login $res = ftp_login( $ftp, "anonymous", "" ); if (!$res) die('could not login.'); //echo("login ok\n"); // enter passive mode $res = ftp_pasv( $ftp, true ); if (!$res) die('could not enable passive mode.'); //echo("pasv ok\n"); // get listing $res = ftp_chdir( $ftp, $dir ); // change directory //$res = ftp_nlist($ftp, '-a'); // simple file listing $res = ftp_rawlist( $ftp, '-a'); if(is_null($res)){ $res = ftp_rawlist( $ftp, "." ); } //echo($res); echo(implode("\r\n", $res)); //print_r($res); //var_dump($res); A gated request to the first file would look like this: https://example.com/myftpgateway.php?s=ftp.adobe.com&d=/pub/adobe/reader/win/AcrobatDC/&p=21 And the versioned request would look like this: https://example.com/myftpgateway.php?s=ftp.adobe.com&d=/pub/adobe/reader/win/AcrobatDC/{versionshort}/&p=21 The output is simple text (which may look funky in a browser but will parse fine by Ketarin). It would look something like this: drwxrwxr-x 29 ftp ftp 750 Feb 12 11:49 . drwxrwxr-x 16 ftp ftp 332 Feb 07 07:05 .. drwxrwxr-x 2 ftp ftp 2583 Apr 06 2015 1500720033 drwxrwxr-x 2 ftp ftp 327 Jul 14 2015 1500820082 drwxrwxr-x 2 ftp ftp 429 Oct 13 2015 1500920069 drwxrwxr-x 2 ftp ftp 194 Oct 29 2015 1500920077 drwxrwxr-x 2 ftp ftp 194 Nov 25 2015 1500920079 drwxrwxr-x 2 ftp ftp 429 Jan 12 2016 1501020056 drwxrwxr-x 2 ftp ftp 194 Feb 16 2016 1501020059 drwxrwxr-x 2 ftp ftp 429 Mar 08 2016 1501020060 drwxrwxr-x 2 ftp ftp 429 May 10 2016 1501620039 drwxrwxr-x 2 ftp ftp 194 May 19 2016 1501620041 drwxrwxr-x 2 ftp ftp 194 Jun 02 2016 1501620045 drwxrwxr-x 2 ftp ftp 327 Jul 12 2016 1501720050 drwxrwxr-x 2 ftp ftp 92 Aug 02 2016 1501720053 drwxrwxr-x 2 ftp ftp 327 Oct 11 2016 1502020039 drwxrwxr-x 2 ftp ftp 92 Nov 03 2016 1502020042 drwxrwxr-x 2 ftp ftp 327 Jan 10 2017 1502320053 drwxrwxr-x 2 ftp ftp 92 Jan 19 2017 1502320056 drwxrwxr-x 2 ftp ftp 327 Feb 21 2017 1502320070 drwxrwxr-x 2 ftp ftp 327 Apr 11 2017 1700920044 drwxrwxr-x 2 ftp ftp 92 Jul 11 2017 1700920058 drwxrwxr-x 2 ftp ftp 327 Aug 08 2017 1701220093 drwxrwxr-x 2 ftp ftp 92 Aug 11 2017 1701220095 drwxrwxr-x 2 ftp ftp 92 Aug 29 04:58 1701220098 drwxrwxr-x 2 ftp ftp 327 Nov 14 05:53 1800920044 drwxrwxr-x 2 ftp ftp 92 Nov 29 11:23 1800920050 drwxrwxr-x 2 ftp ftp 327 Feb 12 11:34 1801120036 drwxrwxr-x 2 ftp ftp 183 Jul 14 2015 misc That's why you're parsing for "18.011.2003x" and changing it to a regex for "180112003\d". Good luck!
  14. Acrobat Reader DC Update

    I've used the attached to dowload Abobe Acrobat Reader DC updates, but this time the version numbers for the full release and update are different. e.g. the full release is AcroRdrDC1801120035_en_US.exe but the update is AcroRdrDCUpd1801120036.msp Is there a better way to download the updates if this happens again? Thanks, Kevin AcrobatUpdateDC.xml
  15. Earlier
  16. Puresync

  17. Updating and delting apps

    for your specific example, you would be better off ignoring the "delete previous file" setting and using a generic download name instead. On the Application tab, in the Download Location field, make sure the option is set to "Save to File" (not "Save in Folder") and use this value: {root}GEGeek_Toolkit\ProgramFiles\{category}\7z x64\7z_x64.exe This skips the actual issue with your profile, which is that you're changing the filename after the download to a generic installation package name. Sure, it's being done as part of the post-commands, but it still changes the file name from what was downloaded.
  18. Updating and delting apps

    It only deletes the previous file if it was created/downloaded with Ketarin. If you've renamed the file then it won't delete the previous file. It only deleted the previous file if the path is EXACTLY the same as it was when it was downloaded (for example, the drive name can't change). If you've changed/replaced the app profile (in other words, it's not the same as the one that actually downloaded the file) then it won't delete the previous file, because the reference to the previous file doesn't exist. To find out for sure whether a file will be deleted select the app profile in the main Ketarin window, CTRL+C, then paste it into notepad. Look for the "PreviousLocation" value. If this value is populated, then that is the file that will be deleted. If it's NOT populated, then it won't delete anything.
  19. Updating and delting apps

    I've noticed that if I have the option "Always delete previously downloaded file" this doesn't seem to work to well when updating, so in the commands before download I add the del option to remove the file first but that doesn't get removed either. For example 7zip 12/02/2018 11:05:53 AM: Update finished 12/02/2018 11:08:22 AM: Update started with 1 application(s) 12/02/2018 11:08:23 AM: 7z x64: Using referer: (none) 12/02/2018 11:08:25 AM: 7z x64: Server source file: /download/file/b721c53126d57c154cf80d79b9731992f8a014c899bac6eda1264e1eeb54d20f 12/02/2018 11:08:25 AM: 7z x64: Determined target file name: d:\GEGeek_Toolkit\ProgramFiles\Apps To Install\7z x64\7z1801.exe 12/02/2018 11:08:25 AM: 7z x64: Checking if update is required... 12/02/2018 11:08:25 AM: 7z x64: Update required, 'd:\GEGeek_Toolkit\ProgramFiles\Apps To Install\7z x64\7z1801.exe' does not yet exist 12/02/2018 11:08:25 AM: 7z x64: Skipped downloading updates 12/02/2018 11:08:25 AM: Update finished I click update d:\GEGeek_Toolkit>ren "d:\GEGeek_Toolkit\ProgramFiles\Apps To Install\7z x64\7z1801.exe" 7z_x64.exe A duplicate file name exists, or the file << Why didn't the app delete the previous file? cannot be found. So I add del "{file}" 7z_x64.exe to remove this file before downloading and untick the "Always delete previously downloaded file" 12/02/2018 11:12:21 AM: 7z x64: Executing command: ren "d:\GEGeek_Toolkit\ProgramFiles\Apps To Install\7z x64\7z1801.exe" 7z_x64.exe 12/02/2018 11:12:21 AM: 7z x64: Command result: Microsoft Windows [Version 10.0.16299.192] (c) 2017 Microsoft Corporation. All rights reserved. d:\GEGeek_Toolkit>ren "d:\GEGeek_Toolkit\ProgramFiles\Apps To Install\7z x64\7z1801.exe" 7z_x64.exe A duplicate file name exists, or the file cannot be found. Just can't seem to get the app to remove the previous file before downloading. It downloads the latest version and the old file is still in the same directory. 7z.xml
  20. TLS bug follow up

    OK I think I figured it out. Will provide a fix with the next version.
  21. OsmAnd Voice PL

  22. OsmAnd Map World basemap 2

  1. Load more activity