Jump to content
Ketarin forum
floele

Ketarin 1.0.2 (beta)

Recommended Posts

+Execute command before updating

+Option to download a file exclusively

+Added automatic backups (keeps up to 6 old copies of your database)

 

*Moved "Show groups" to the "View" menu

 

!Deleting multiple applications did not update the interface correctly

!Fixed a bug that occurred when changing the download path

!Fixed wrong (too high) timeout values for many web requests

!Fixed FileHippo beta status not being detected correctly (anymore)

 

v2

+Function "regex" (takes arguments "regular expression" and "index of match group" optionally)

+Export command line option

+Show database path in about screen

+Post-update command

 

*{url:*} is no longer replaced if the actual values cannot be determined correctly

 

http://ketarin.canneverbe.com/downloads/Ketarin/Ketarin-1.0.2.zip

Share this post


Link to post
Share on other sites
+Execute command before updating

+Added automatic backups (keeps up to 6 old copies of your database)

Excellent !!! =D

 

!Fixed a bug that occurred when changing the download path

I'm having an issue with target display on GUI, path is {target}\{category}\{url:basefile}_{version}.{url:ext}, file name is correct, iclview_26.6.2006.zip, but display is not, iclview_26.6.2006_26.6.2006.zip. Previous version had this same problem, I have updated to the new a few moments ago.

Edited by FranciscoR

Share this post


Link to post
Share on other sites

Yep, this is a limitation I cannot work around. If appyface would have posted in this forum (:-p)...

 

this is not really a bug actually, at least not one that I could possibly fix.

When the value is displayed in the target column, it does not know of

course what the actual download URL will be (because Ketarin would

have to perform a slow web request for that). So instead of using

"url:basefile" it uses "file:basefile" as variable content which will

lead to the duplicated name.

(This is the price you have to pay for wanting all that complexity

with variable content resolution in that column :-p )

Share this post


Link to post
Share on other sites
Yep, this is a limitation I cannot work around. If appyface would have posted in this forum (:-p)...

Ah, thanks a lot, I was not aware that issue. But for me this is random, it occurs in 1/10 jobs (for the moment).

Share this post


Link to post
Share on other sites
Yep, this is a limitation I cannot work around. If appyface would have posted in this forum (:-p)...

 

Hey I saw that!!!! LOL

 

I still think that one day, you'll fix that... just not today... :)

Share this post


Link to post
Share on other sites

@Flo

 

How does the the new automatic backup feature work?

 

The first time I launched Ketarin 1.0.2, it created this file:

jobs.db_2009-02-16.bak

 

Since then I have made new app entries, edited apps, run updates, quit and relaunched, but still this is the only file, and it has not been updated since creation.

 

More info please? Thanks,

 

--appyface

Share this post


Link to post
Share on other sites

+Function "regex" (takes arguments "regular expression" and "index of match group" optionally)

You rock ! ;)

 

P.S. Not sure if I understand how to use "index of match group". A small example would help.

 

*{url:*} is no longer replaced if the actual values cannot be determined correctly

Nothing is diplayed on my Target column anymore. All I see is {url:basefile} & {url:ext}, even after update.

Share this post


Link to post
Share on other sites

1. If you have groups within your regex (like "(Application) (Version)") you can select one of those groups instead of the whole match.

2. That's the way it is intended. The values can be wrong if displayed at this location, so they will simply not be resolved.

Share this post


Link to post
Share on other sites
1. If you have groups within your regex (like "(Application) (Version)") you can select one of those groups instead of the whole match.

Nice ! =D

2. That's the way it is intended. The values can be wrong if displayed at this location, so they will simply not be resolved.

Hm, I understand. Nothing else unusual here.

Share this post


Link to post
Share on other sites
This can be A-W-E-S-O-M-E but is syntax something like

 

{app:regex:.*(match1).*?(match2):0}

for matchgroup1

 

{app:regex:.*(match1).*?(match2):1}

for matchgroup2 ?

I was about to ask the same question in order that I can 'give it a spin', so to speak. ;)

Share this post


Link to post
Share on other sites

It's not like that:

 

18-02-2009 23:43:47: Update started with 1 application(s)
18-02-2009 23:43:47: aaa: Replacing {app} in '{app:regex:.*?id=\d\d\d\d.*?(%2F%2F.*?\.exe)}' with '[url]http://www.versiontracker.com/php/dlpage.php?id=9679&db=win&pid=10008952&kind=&lnk=http%3A%2F%2Fwww.jam-software.com%2Ftreesize%2FTreeSizeProfessional-Demo.exe[/url]'
18-02-2009 23:43:47: aaa: Replacing {app2} in '{app2:replace:%2F:/}' with ''
18-02-2009 23:43:47: aaa: Replacing {app3} in 'http:{app3}' with ''
18-02-2009 23:43:47: aaa: Failed, URI inválido: Não foi possível analisar a Autoridade/o Anfitrião.
18-02-2009 23:43:47: aaa: Replacing {app} in '{app:regex:.*?id=\d\d\d\d.*?(%2F%2F.*?\.exe)}' with '[url]http://www.versiontracker.com/php/dlpage.php?id=9679&db=win&pid=10008952&kind=&lnk=http%3A%2F%2Fwww.jam-software.com%2Ftreesize%2FTreeSizeProfessional-Demo.exe[/url]'
18-02-2009 23:43:47: aaa: Replacing {app2} in '{app2:replace:%2F:/}' with ''
18-02-2009 23:43:47: aaa: Replacing {app3} in 'http:{app3}' with ''
18-02-2009 23:43:47: aaa: Failed, URI inválido: Não foi possível analisar a Autoridade/o Anfitrião.
18-02-2009 23:43:48: Update finished
18-02-2009 23:46:24: Update started with 1 application(s)
18-02-2009 23:46:24: aaa: Replacing {app} in '{app:regex:.*?id=\d\d\d\d.*?(%2F%2F.*?\.exe):1}' with '[url]http://www.versiontracker.com/php/dlpage.php?id=9679&db=win&pid=10008952&kind=&lnk=http%3A%2F%2Fwww.jam-software.com%2Ftreesize%2FTreeSizeProfessional-Demo.exe[/url]'
18-02-2009 23:46:24: aaa: Replacing {app2} in '{app2:replace:%2F:/}' with ''
18-02-2009 23:46:24: aaa: Replacing {app3} in 'http:{app3}' with ''
18-02-2009 23:46:24: aaa: Failed, URI inválido: Não foi possível analisar a Autoridade/o Anfitrião.
18-02-2009 23:46:24: aaa: Replacing {app} in '{app:regex:.*?id=\d\d\d\d.*?(%2F%2F.*?\.exe):1}' with '[url]http://www.versiontracker.com/php/dlpage.php?id=9679&db=win&pid=10008952&kind=&lnk=http%3A%2F%2Fwww.jam-software.com%2Ftreesize%2FTreeSizeProfessional-Demo.exe[/url]'
18-02-2009 23:46:24: aaa: Replacing {app2} in '{app2:replace:%2F:/}' with ''
18-02-2009 23:46:24: aaa: Replacing {app3} in 'http:{app3}' with ''
18-02-2009 23:46:24: aaa: Failed, URI inválido: Não foi possível analisar a Autoridade/o Anfitrião.
18-02-2009 23:46:24: Update finished
18-02-2009 23:47:49: Update started with 1 application(s)
18-02-2009 23:47:49: aaa: Replacing {app} in '{app:regex:.*?id=\d\d\d\d.*?(%2F%2F.*?\.exe):0}' with '[url]http://www.versiontracker.com/php/dlpage.php?id=9679&db=win&pid=10008952&kind=&lnk=http%3A%2F%2Fwww.jam-software.com%2Ftreesize%2FTreeSizeProfessional-Demo.exe[/url]'
18-02-2009 23:47:49: aaa: Replacing {app2} in '{app2:replace:%2F:/}' with ''
18-02-2009 23:47:49: aaa: Replacing {app3} in 'http:{app3}' with ''
18-02-2009 23:47:49: aaa: Failed, URI inválido: Não foi possível analisar a Autoridade/o Anfitrião.
18-02-2009 23:47:49: aaa: Replacing {app} in '{app:regex:.*?id=\d\d\d\d.*?(%2F%2F.*?\.exe):0}' with '[url]http://www.versiontracker.com/php/dlpage.php?id=9679&db=win&pid=10008952&kind=&lnk=http%3A%2F%2Fwww.jam-software.com%2Ftreesize%2FTreeSizeProfessional-Demo.exe[/url]'
18-02-2009 23:47:49: aaa: Replacing {app2} in '{app2:replace:%2F:/}' with ''
18-02-2009 23:47:49: aaa: Replacing {app3} in 'http:{app3}' with ''
18-02-2009 23:47:49: aaa: Failed, URI inválido: Não foi possível analisar a Autoridade/o Anfitrião.
18-02-2009 23:47:49: Update finished

 

But I haven't find the way to crack it either. ;)

Share this post


Link to post
Share on other sites

In 'standard' regex the ( ) groups are called 'backreferences', and are referred to positionally. The first group is referred to as \1 the second group \2 and so in.

 

This is useful for example in a text editor, where you might have search and replace:

 

Search: (findsomestring)(.*?)(findanotherstring)

Replace with: \2\3\1

 

Before: findsomestring123456findanotherstring

After: 123456findanotherstringfindsomestring

 

Flo are you using tradtional backreferences here?

Share this post


Link to post
Share on other sites
Francisco, would you translate your error box to English, please?
I think it's a different issue (input string of characters with wrong format)... probably while FranciscoR was testing the [+Function "regex" (takes arguments "regular expression" and "index of match group" optionally)] features Flo has implemented.

Share this post


Link to post
Share on other sites
Francisco' date=' would you translate your error box to English, please?[/quote']I think it's a different issue (input string of characters with wrong format)... probably while FranciscoR was testing the [+Function "regex" (takes arguments "regular expression" and "index of match group" optionally)] features Flo has implemented.

Yes, it's correct, Ketarin complaints of an ilegal format of regex function.

 

Regarding the groups: "0" is the full match, "1" is group 1, "2" is group 2 and so on. You'll see if you try.

That's what I did. 0,1( I didn't bother with 2 as 0,1 didn't work) as argument2, you have errors on my post #17. I am using the same example of the other thread. The first update on that list outputs an error because there's no argument2, right ?

 

Variable app is "http://www.versiontracker.com/php/dlpage.php?id=9679&db=win&pid=10008952&kind=&lnk=http%3A%2F%2Fwww.jam-software.com%2Ftreesize%2FTreeSizeProfessional-Demo.exe"

 

I used

{app:regex:.*?id=\d\d\d\d.*?(%2F%2F.*?\.exe):1}

{app:regex:.*?id=\d\d\d\d.*?(%2F%2F.*?\.exe):0}

 

Log error message is identical, I don't see why

{app:regex:.*?id=\d\d\d\d.*?(%2F%2F.*?\.exe):1}

Didn't work, this one correct is it not ?

 

And yes, I can reproduce it. Gimme a minute. I was using something like

{app:regex:.*?id=\d\d\d\d.*?(%2F%2F.*?\.exe):(%2F%2F.*?\.exe)}

Edited by FranciscoR

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

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