floele Posted January 12, 2014 Report Share Posted January 12, 2014 Beta 1: - Updates for FileHippo integration - Online database now allows duplicate names - Author GUID is now displayed in about screen Beta 2: - Updated FileHippo version regex - Fixed "beta" option Ketarin 1.7.0-b2.zip Link to comment Share on other sites More sharing options...
paulderdash Posted January 12, 2014 Report Share Posted January 12, 2014 Tried this now. All my FileHippo packages worked fine, except it updated package for Adobe Air, but when I try to install it, it says a more recent version is already installed ... If I run 'check for update' again it shows update available. If I re-update and install, same result. (The Ketarin 1.6.1 RC1 'rapid, dirty fix' posted by kazso in another thread did appear to work correctly though). Link to comment Share on other sites More sharing options...
necrox Posted January 12, 2014 Report Share Posted January 12, 2014 Thank you for the new version! I do not use Filhippo mirrors so I can't tell anything about these bugs. The only "bug" I have found is the broken tutorial (F1 key) link to our wiki. Link to comment Share on other sites More sharing options...
kazso Posted January 12, 2014 Report Share Posted January 12, 2014 I would change the FileHippo version information regex, because the current one isn't working properly. At least one space character should be before the version number. Without a space the regex would pick up any number, even if it's part of the application name. My suggestion would be: (?<=<meta property="og:title" content=".+?\s)([\d]+\.|[\d]+\s).*(?=") <- this works with return match.Value Or: <meta property="og:title" content=".+?\s(([\d]+\.|[\d]+\s).*)" <- this works with return match.Groups[1].Value This would search for a whitespace character after the first character. Then search for one or more numbers followed by a dot. If it matches, then pick up everything after the dot until it reaches the quatation mark. If it doesn't match, then search for one or more numbers followed by a whitespace character and pick up everything after the whitespace character until it reaches the quatation mark. Here are 4 examples: Alcohol 120% (http://filehippo.com/download_alcohol_120/tech/): Application name is Alcohol 120%, version is 2.0.2.5830. Original regex version info: 120% 2.0.2.5830 / my regex version info: 2.0.2.5830 Sandra Lite (http://filehippo.com/download_sandra_lite/tech/): Application name is Sandra Lite, version is 2014 (20.10). Original regex version info: 2014 (20.10) / my regex version info: 2014 (20.10) 3DMark03 (http://filehippo.com/download_3dmark03/tech/): Application name is 3DMark03, version is 3.6.0. Original regex version info: 03 3.6.0 / my regex version info: 3.6.0 WinDVD (http://filehippo.com/download_windvd/tech/): Application name is WinDVD, version is 2011 Build 289. Original regex version info: 2011 Build 289 / my regex version info: 2011 Build 289 Link to comment Share on other sites More sharing options...
UksusoFF Posted January 13, 2014 Report Share Posted January 13, 2014 thx for new version! but it's download beta from filehippo and ignore "avoid" option Link to comment Share on other sites More sharing options...
MAPJe71 Posted January 13, 2014 Report Share Posted January 13, 2014 I guess you ment: - Author GUID is now displayed in about screen Link to comment Share on other sites More sharing options...
floele Posted January 13, 2014 Author Report Share Posted January 13, 2014 Thanks for the regex, I really hoped for one of you guys coming up with something better Beta option should work, if not please post an example. Link to comment Share on other sites More sharing options...
UksusoFF Posted January 13, 2014 Report Share Posted January 13, 2014 Thanks for the regex, I really hoped for one of you guys coming up with something better Beta option should work, if not please post an example. Google Chrome download 33.0.1750.22 Dev Link to comment Share on other sites More sharing options...
kazso Posted January 13, 2014 Report Share Posted January 13, 2014 Beta option should work, if not please post an example. uTorrent doesn't work with the beta option (http://filehippo.com/download_utorrent/). On the main page all listed versions are only betas. You would only find the non-beta version, if you click on the View More... link and go to the 2nd page of the version history (http://filehippo.com/download_utorrent/history/2/). Link to comment Share on other sites More sharing options...
floele Posted January 16, 2014 Author Report Share Posted January 16, 2014 Uploaded a new beta, please try Link to comment Share on other sites More sharing options...
GioAran Posted January 17, 2014 Report Share Posted January 17, 2014 Uploaded a new beta, please try I have a problem with google chrome from filehippo (avoid beta not working) Link to comment Share on other sites More sharing options...
shawn Posted January 17, 2014 Report Share Posted January 17, 2014 Thank you Flo! Link to comment Share on other sites More sharing options...
LittlBUGer Posted January 17, 2014 Report Share Posted January 17, 2014 Avoiding betas are still not working correctly. Just to name a few that were downloaded: Firefox: 27.0 Beta 7 Google Chrome: 34.0.1788.0 Dev uTorrent: 3.4 RC4 Not sure if those specifically or what, but there are still a few bugs somewhere... :-) Link to comment Share on other sites More sharing options...
floele Posted January 18, 2014 Author Report Share Posted January 18, 2014 Yeah beta detection will get another fix, but it will be a bit hard to do completely right because all versions are now spread among multiple pages and Ketarin would have to scroll through all the pages. If a non-beta version is not on the first page, Ketarin won't find any suitable version. I think I'm too lazy right now to implement that Link to comment Share on other sites More sharing options...
kazso Posted January 19, 2014 Report Share Posted January 19, 2014 I made some changes to 1.7.0 b2 (revision 461), so the 'avoid beta' option seems to work correctly now And it's a bit faster too. Uploaded the exe, so others could try this modified version as well: http://drivehq.com/file/DFPublishFile.aspx/FileID1727818560/Key4p7jhlgddu56/Ketarin-170b2-u4.zip (i finally managed to compile the code ) And here are the source code changes for revision 461: http://drivehq.com/file/DFPublishFile.aspx/FileID1727818561/Keye1k17ia3fwgj/ketarin-rev461-changes1.zip I modified 2 files: ExternalServices.cs and Updater.cs ExternalServices.cs: Added the nonbetapages string array (private static string[] nonbetapages;). We use this to store the already found non-beta page Urls. Changed the FileHippoGetAllVersions method. First we detect the number of version history pages (regex class="pager-page-link">(?!.*class="pager-page-link">)(\d+)</a> ). Then start downloading these pages until we find a non-beta version. When it's found, then stop downloading the version history pages, add the non-beta URL to the nonbetapages array and also return the non-beta URL. If we don't find a non-beta version (a program or driver could have only beta versions), then return all URLs. Changed the GetNonBetaPageContent method. Before the FileHippoGetAllVersions call we check if a non-beta page URL already exists in the array. If it's found, then skip FileHippoGetAllVersions to speed up the non-beta version handling. Created the method ClearNonBetaPages (public static void ClearNonBetaPages()). This clears the nonbetapages array. Updater.cs: Call ClearNonBetaPages at the start of UpdateApplications. This will clear the nonbetapages array when we start the applications update.Edit: Changed the place of the ExternalServices.ClearNonBetaPageUrl(); call in Updater.cs. Edit 2: Scrapped the whole nonbetapageurl static variable. Edit 3: Added the nonbetapages array to speed up the non-beta version handling. Link to comment Share on other sites More sharing options...
GioAran Posted January 19, 2014 Report Share Posted January 19, 2014 I made some changes to 1.7.0 b2 (revision 460), so the 'avoid beta' option seems to work correctly now And it's a bit faster too. Uploaded the exe, so others could try this modified version as well: http://www.drivehq.com/file/DFPublishFile.aspx/FileID1720826603/Key4sytdgj0rrvj/Ketarin-170b2-u1.zip (i finally managed to compile the code ) And here are the source code changes for revision 460: http://www.drivehq.com/file/DFPublishFile.aspx/FileID1720824913/Keyuqxucekptrx4/ketarin-rev460-changes.zip I modified 2 files: Updater.cs and ExternalServices.cs ExternalServices.cs: Added a new global variable called nonbetapageurl (private static string nonbetapageurl = string.Empty;). This was needed to speed up the non-beta detection process. Added the method ClearNonBetaPageUrl, that clears the nonbetapageurl variable (called from Updater.cs). Changed the GetNonBetaPageContent method to speed up the non-beta detection process (skip FileHippoGetAllVersions, if we already have the URL for the non-beta version). Changed the FileHippoGetAllVersions method (this part has the most changes). First we detect the number of version history pages (regex class="pager-page-link">(?!.*class="pager-page-link">)(\d+)</a> ). Then start downloading these pages until we find a non-beta version. When it's found, then update the nonbetapageurl variable and stop downloading the version history pages. If we don't find a non-beta version (a program or driver could have only beta versions), then Ketarin will download the latest beta version. Updater.cs: Added a new method call ExternalServices.ClearNonBetaPageUrl(); after LogDialog.Log("Update finished");. This would clear the nonbetapageurl variable after an application update. 7-Zip x64 FileHippo ID '7-zip_64' does not exist. 7-Zip x86 FileHippo ID '7zip_32' does not exist. CDex FileHippo ID 'cdex' does not exist. LibreOffice FileHippo ID 'libreoffice' does not exist. uTorrent FileHippo ID 'utorrent' does not exist. I have this problems with the new exe. These are just my errors? Others feedback? Thx a lot kazso for your effort Link to comment Share on other sites More sharing options...
kazso Posted January 19, 2014 Report Share Posted January 19, 2014 Found that bug too Uploaded the new version. Link to comment Share on other sites More sharing options...
GioAran Posted January 19, 2014 Report Share Posted January 19, 2014 Found that bug too Uploaded the new version. Seems to work now. Thx a lot kazso. BEST SUPPORT EVER Link to comment Share on other sites More sharing options...
floele Posted January 20, 2014 Author Report Share Posted January 20, 2014 Hm, I get permission denied for the source code. My lazyness commands me to include it Link to comment Share on other sites More sharing options...
floele Posted January 20, 2014 Author Report Share Posted January 20, 2014 Ah works now. Could you possibly also make this without a static variable? I'm pretty sure this can mess up because Ketarin uses multiple threads for downloading. Link to comment Share on other sites More sharing options...
kazso Posted January 20, 2014 Report Share Posted January 20, 2014 Could you possibly also make this without a static variable? I'm pretty sure this can mess up because Ketarin uses multiple threads for downloading. You are right. The static variable doesn't work, so i scrapped the whole nonbetapageurl static variable for now. To make GetNonBetaPageContent still faster, the FileHippoGetAllVersions method returns only 1 url, which is the non-beta url (if it's found ofcourse, otherwise returns all urls). I reverted all changes except for the FileHippoGetAllVersions method, so only ExternalServices.cs has changed after private static string[] FileHippoGetAllVersions(string pageContent, string fileId). I will update the download links in my previous post. Link to comment Share on other sites More sharing options...
floele Posted January 20, 2014 Author Report Share Posted January 20, 2014 Thanks, I'll include it in the next release. Link to comment Share on other sites More sharing options...
kazso Posted January 25, 2014 Report Share Posted January 25, 2014 Rewrote the non-beta page URL storage. Now i added a onedimensional static string array. Ketarin fills up this array with fileId & non-beta page URL pairs (using fileId as the identifier) and expands it everytime a new pair has been added. The array will fill up like this: "7-zip_64","http://filehippo.com/download_7-zip_64/8755/","7zip_32","http://filehippo.com/download_7zip_32/8754/" | | | | nonbetapages[0] nonbetapages[1] nonbetapages[2] nonbetapages[3] Before the application update Ketarin clears this array, so it could detect the version changes properly. I added more explanation and the new download links to my original post. Link to comment Share on other sites More sharing options...
floele Posted January 26, 2014 Author Report Share Posted January 26, 2014 Please don't keep editing, make new posts instead. Otherwise it's impossible to track what and in which topic you are doing things. Don't like searching old topics a lot. So what is the purpose of this change? Link to comment Share on other sites More sharing options...
GioAran Posted January 26, 2014 Report Share Posted January 26, 2014 Thx a lot for all of your efforts kazso, ireally appreciate. I also have a problem: when try to update cdex from filehippo, every times ketarin (your last beta kazso) download it again and again, is it normal? Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now