windows
zip: https://github.com/hydrusnetwork/hydrus/releases/download/v321/Hydrus.Network.321.-.Windows.-.Extract.only.zip
exe: https://github.com/hydrusnetwork/hydrus/releases/download/v321/Hydrus.Network.321.-.Windows.-.Installer.exe
os x
app: https://github.com/hydrusnetwork/hydrus/releases/download/v321/Hydrus.Network.321.-.OS.X.-.App.dmg
tar.gz: https://github.com/hydrusnetwork/hydrus/releases/download/v321/Hydrus.Network.321.-.OS.X.-.Extract.only.tar.gz
linux
tar.gz: https://github.com/hydrusnetwork/hydrus/releases/download/v321/Hydrus.Network.321.-.Linux.-.Executable.tar.gz
source
tar.gz: https://github.com/hydrusnetwork/hydrus/archive/v321.tar.gz
I had a great week. An important milestone in the downloader overhaul is done. Users who use 'custom' boorus will want to read this post and may like to put off updating a week or two.
downloader overhaul
So, this week I have switched over the old hardcoded method of converting search text into an initialising gallery url to the new user-customisable and -shareable GUG (Gallery URL Generator) objects. This was the last hardcoded component I needed to replace, and so I was finally able to disconnect and delete all the old downloader code. We are now entirely running on the new customisable and shareable system!
Regular users should not see much different today. Your subs and galleries should switch over to the new 'gallery selector' values automatically. Nothing is too functionally different, but a bunch of the behind the scenes is completely new and much neater all around. The manage boorus dialog, which was the old way of cobbling together some user-customisation, is also gone–all sites now run on the same new network submenus.
I've added new downloaders for artstation and derpibooru and brought back the newgrounds artist lookup (which works better than you might think!). Now we are completely on the new system, I expect to roll out more new searchable sites in future updates myself and other users to start creating and sharing complete downloaders themselves. In the coming weeks, I will write an easy one-action way for regular users to import these new downloaders (at the moment, it is still a little ugly and technical to do and set up).
Needless to say, while my tests have gone well, this is a big update, so make sure you refresh any backup before you update, and let me know if you have any problems.
Now the new downloader is 'out' and its functions and terms are pretty much fixed, I will also be finishing the 'how to write a downloader' help, which will be a comprehensive guide on the whole new system.
custom boorus
Any 'custom' boorus (i.e. ones you created yourself or imported via the manage boorus dialog) will unfortunately not be completely automatically updated. There is not quite enough information in the old booru object to generate all the parts I need in the new system (I was able to generate GUGs and gallery/post parsers), so you will have to add/do some things to get them working again.
If you are comfortable in the new system, you will need to:
-Get a gallery and post url class for the booru.
-Double-check (and rename, if you want) the auto-generated GUG and parsers.
-Link the url classes to the parsers.
-Run a test search on the new downloader.
-Update the downloader selection in the downloader or subscription's gallery selector button.
If you are not comfortable creating url classes but are ok with importing and linking them, I recommend you check the github site here:
https://github.com/CuddleBear92/Hydrus-Presets-and-Scripts/tree/master/NEW%20Download%20System
–for url class updates, and if what you want is missing, drop requests here or in the discord, and I or another advanced user will see what we can do.
If you are completely lost but you still want to use your custom boorus, I recommend you put off updating this week. You can either find a convenient time to learn how to do the above steps (I am happy to help if you run into trouble), or you can wait a few weeks for me to bring out this 'downloader easy-import', which will make it as simple as opening one dialog and dropping a png file from the above site on it.
Note that if you used a custom derpibooru booru, since I've added explicit functionality this week, all you have to do is the final step above: go to your derpi gallery downloaders or subscriptions and change the selected gallery from the broken entry, which will be something like 'derpibooru: not found' to the new one 'derpibooru tag search' and you should be going again. You might still like to run a test download if you use more than one tag–the GUG I made uses their search format, which preserves spaces but requires a comma to separate multiple tags, like 'rainbow dash,straight'.
misc
I put some time into the native video renderer this week, cleaning up the pipeline and how the different components talk to each other. It has cleared out a bunch of jitter and scanbar calculation jank. I think I will put some more time into it, but overall I am happy with the changes. Please let me know if you run into any particular trouble with certain files.
Also, before doing client processing, repository services will now check for a little additional free space (now half the size of your client.mappings.db file, rather than a flat 1GB). If they lack the space, they'll throw up a popup and safely pause the repo. Since a PTR client.mappings.db is now about 8.5GB, please make sure your hydrus drive (and system drive, for its temp folder!) have about 5GB free at least!
full list
- downloader overhaul:
- the basic downloader overhaul is complete! at this point, any user can create and share the objects required for a completely new downloader! it is still rough in some places, so a round of EZ-import is coming to make adding new downloaders a single easy drag and drop action
- rounded out the ngug (nested gugs, which contain multiple gugs) code
- updated the edit gug panel to deal with gugs and ngugs on different notebook pages
- added a bunch of logic to this panel and backend data handling to deal with missing gugs in ngugs
- if an ngug cannot find a gug by its internal identifier key, it will now attempt to fallback to its simple name, and will silently fail if no gug can be found. all gug tracking now uses this 'key first, name later' id method, so downloaders and subs should generally survive gug renames and same-name overwrites
- the gallery selector now works in gugs. it has two 'pages', depending on which gugs are set to 'display', and will note if the chosen gug is cannot be found in the current definitions. the gugs have slightly more specific names ('gelbooru tag search', 'hentai foundry artist lookup', etc…) than before
- the gallery selector also puts 'non-functional' gugs (i.e. those with no parsable gallery url class) to a third page
- moved the gallery downloader gallery and file pipeline completely over to the new system
- the gallery downloader will now bundle nested gugs (like hentai foundry artist, which searches both works and scraps) into a single downloader
- moved the subs gallery and file pipeline comppletely over to the new system
- the subs gallery sync now handles nested gugs (like hentai foundry artist, which searches both works and scraps) in an interleaved manner and make behind-the-scenes checking decisions in a clearer and more logical way
- subs should now make correct 'hit limit' stop reason reports and not generate new gallery pages when the current page has exactly enough results to hit the current file limit
- artstation artist lookup is now available as a default downloader
- newgrounds artist lookup makes a triumphant return. it works pretty well, given how flash and NG has changed since
- derpibooru tag lookup is now available as a default downloader. due to unusual search syntax on derpibooru, please enter queries exactly as you would on derpi, using ',' or ' AND ' to separate tags (such as 'rainbow dash,straight')
- pixiv now has multiple artist lookup options–either images, manga, ugoira (doesn't work yet!), or everything
- the old downloader code is deleted!
- the old manage booru dialog is deleted!
- 'custom' boorus (i.e. new ones you created or imported to 'manage boorus'), cannot be completely automatically updated to the new system. I've figured out a way to generate new gugs and gallery&post parsers, but they will miss url classes to get working again. your custom-booru subs will notice this and safely pause until the issue is fixed. if you rely on custom boorus, please check the release post for info on this–you might like to put off updating
- many misc changes and fixes to gugs and overall gallery url handling pipeline
- some misc refactoring and concept-renaming in gallery pipeline r.e. gugs
- when the downloader tries to import what looks like a raw html file, its error notes will specify this and suggest a parser may be needed
- moved the 'media viewer url display' options panel from the manage url match links dialog to the new network->downloaders->manage downloader and url display
- this new dialog also hosts a list for managing which downloaders to show in the first list of the downloader selector
- .
- misc:
- gave the video rendering pipeline communication logic a quick pass, cleaning up a bunch of bad code and other decisions. the video renderer should be quicker to respond to various changes in scanbar position, and incidences of the frame buffer suddenly sperging out (usually inexplicably falling behind the current frame position or deciding to regen for no apparent reason) should be greatly reduced if not completely eliminated
- the test that stops repository processing if there is not enough disk space now uses half the current size of client.mappings.db for its estimate (previously 1GB) and also tests temp folder location free space (just as the vacuum test does) and reports this nature of the error along with pausing the repo, stopping further attempts
- might have fixed another out-of-order dialog close/open event combination during manage tags close->advanced content update open
- fixed gallery queries that include '/' (or some other unusual characters) that end up in the 'path' of the url (as opposed to the query). this fixes 'male/female' on e621, for instance
- 'advanced mode' users now have a 'nudge subs awake' menu entry below 'manage subs'. this simply wakes the subs daemon (which usually only checks once every four hours), in case any subs are due
- 'db report mode' now reports every db job as it comes in (formerly, it only reported some optimisation esoterica). this makes it a more lightweight version of 'db profile mode' for several debugging tasks
- fixed a tiny issue in fetching the 'how boned am I?' stats when the user had zero inbox/everything count
- fixed a typo in the default new url class object that was breaking the edit ui panel
- highlighted the quiet filename tagging options on edit import folder panel
next week
I'd like a simple week. I'll deal with anything that comes up due to this week's big changes, but otherwise I'd like to catch up on help docs and just do something easy and interesting.