Skip to content

Version 569

Compare
Choose a tag to compare
@hydrusnetwork hydrusnetwork released this 03 Apr 21:26
· 68 commits to master since this release
c7cac8e

user contributions

  • thanks to a user, fixed a problem with the recent URL changes that caused downloaders examining multi-file posts to only grab the first file
  • thanks to a user, all the menubar commands that launch a modal dialog are now suffix'd by an ellipsis
  • thanks to a user, fixed an issue regarding KDE 6 quitting the program as soon as the pre-boot 'your database is missing a location, let's find it' repair dialog was ok'd
  • thanks to a user, the application icon is fixed in KDE Plasma Wayland (and anything else that pulls icon from .desktop file). if you have been using a hydrus.desktop file and don't see a program icon, you should rename it to /usr/share/applications/io.github.hydrusnetwork.hydrus.desktop . more importantly, if you manage a package for hydrus--please output to this file path instead of hydrus.desktop if you make one
  • thanks to a user, updated the hydrus_client.sh file to include "$@", which passes parameters given to the .sh file to the .py call

more on last week's URL work

  • fixed the 'show the Request URL under "additional urls" submenu' thing on the file log list menu. I screwed up the logic and was effectively testing for when 1 != 1
  • the converter that generates a Referral URL now operates on the API/redirect conversion principle too--it normalises the Source URL to its 'Request URL' state--keeping defined ephemeral params and filling in defaults but dropping any extra gubbins not asked for--before applying the conversion
  • fixed the 'manage url class' dialog to correctly display an example API/redirect-converted URL based on the new request url, not the normalised url (so the api/redirect example will now show the new ephemeral params properly). this was working in requests correctly behind the scenes, it was just the example text box in the dialog that was showing wrong
  • improved the 'is this query text pre-encoded?' test to check for %hh, where h is a hexadecimal character, instead of the hackier 'is % in it while not followed by whitespace or end of string?'
  • improved/simplified/optimised the overall procedure that figures out if an entered URL is pre-encoded or not. this routine now only runs at the stage where a URL is ingested and it obeys the %hh rule. these ingestion points are currently: the text boxes in a urls downloader/simple downloader page; the 'import new sources' function of file log menus; a URL ContentParser in the parsing system; the test box in manage url classes; and the main gui's 'import url' landing pad, which is used by the drag and drop system, the clipboard watcher, and the client api's 'import url' command. note that this does not occur on 'manage known urls' editing, where you can do what you want with whatever, and I won't coerce it to anything

misc

  • fixed a variety of logical cases around >0, =0, !=0, <0 for the NumberTest objects I recently applied to system:duration and elsewhere. when it comes to file searching, files that have 'None' duration are now considered equivalent to files that have an explicit 0 duration in all cases. previously, I was trying to thread a needle where '=0' would find null results but <x would not, and it was a mess. now it all works the same way. if you want to search for 'duration < x' and want to exclude still images, either add a filetype pred or slap on 'has duration'
  • improved the stability of the manual file exporter process. it was consulting an object in a thread that it shouldn't have
  • improved the ability of the manual file exporter process to report errors on a very large export that encounters errors after the dialog has closed
  • fixed the 'remember last used default tag service in manage tag dialogs' and its accompanying dropdown not saving their current value on options dialog ok. sorry for the trouble!
  • fixed the system that truncates very long filenames (for export folders and drag and drop exports) on Linux when the exporter is also outputting a sidecar that has a long extra suffix
  • the 'find potential duplicate pairs' routine that runs in idle time now properly obeys the work/rest times in options->maintenance and processing. previously, it was just the 'run now' routine that was resting in that way, and the idle thing was just doing a hardcoded 'work for 60 seconds every 10 mins or so'. thanks to the reporting user who cleverly noticed this
  • the options->connection page now mentions your proxy needs to be http://

boring stuff

  • updated the windows setup_venv.bat to allow for custom python or venv locations using parameters. this was so I could set up a multi-python testing situation easier
  • added some unit tests for the new URL encoding gubbins
  • improved un-encoded URL parsing in the downloader when the URL is relative and needs to be joined to the source url
  • improved some URL parsing and ingestion to better handle urls with non-ascii characters in the domain
  • replaced several 'does it start with "http"?' areas with a better and unified scheme/netloc test
  • wrote a routine to split URL paths into path components, and spammed it everywhere so this code is now unified. I expect we'll get a PathComponent class at some point, too. there will be a future question about what to do with double slashes, // in paths--it turns out the logic has been mixed here, and I think I will probably collapse them to / in all cases
  • rewrote an unhealthy call that indirectly caused the above multi-file post parsing problem
  • fixed some None/0 NumberTest stuff if you manage to enter '<0' or >-5 and similar
  • I figured out the problems with PyInstaller 6.x and some other stuff, there should be a 'Future Build' alongside this release in github for advanced users to test with