windows
zip: https://github.com/hydrusnetwork/hydrus/releases/download/v314/Hydrus.Network.314.-.Windows.-.Extract.only.zip
exe: https://github.com/hydrusnetwork/hydrus/releases/download/v314/Hydrus.Network.314.-.Windows.-.Installer.exe
os x
app: https://github.com/hydrusnetwork/hydrus/releases/download/v314/Hydrus.Network.314.-.OS.X.-.App.dmg
tar.gz: https://github.com/hydrusnetwork/hydrus/releases/download/v314/Hydrus.Network.314.-.OS.X.-.Extract.only.tar.gz
linux
tar.gz: https://github.com/hydrusnetwork/hydrus/releases/download/v314/Hydrus.Network.314.-.Linux.-.Executable.tar.gz
source
tar.gz: https://github.com/hydrusnetwork/hydrus/archive/v314.tar.gz
I had a great week. Tag import options are now easy to mass-manage, and I have fleshed out the new downloader system's file page parsers.
default tag import options
Almost done with tag import options, I promise!
This is an important but slightly complicated update. Nothing huge will change, and you'll see what is going on as you use it. tl;dr is: go to network->downloaders->manage default tag import options and set something good for default for file posts if you haven't already.
This week has an important update to how tag import options (TIO) typically work. First, the old TIO options under options->importing are now deprecated–they are no longer referred to by any downloader, and I will be removing the ui entirely in a couple of weeks. All downloaders now inherit from the newer network->downloaders->manage default tag import options, which operates in the new download system. Please make sure your default tag import options are set up how you want, as any new downloader or sub now inherits from this new location! You will get a popup about this on update as a reminder.
Second, the TIOs for new downloaders and subscriptions now start in a 'default' mode, meaning 'I do not have any specific options, just use whatever is set in the defaults at the time of import'. In the TIO edit ui, this is a new checkbox that greys out the rest of the panel. This means that if you change the new defaults under network->downloaders->manage default tag import options, every 'default' TIO across the program will inherit those changes!
This new 'default' mode makes the job of managing TIOs for dozens or hundreds of downloaders and subscriptions much easier, particularly now that TIO have become more powerful and complicated. Rather than, let's say, adding the tag 'vore' to twenty different subscriptions' blacklists, you can now just add it to the defaults and all your 'default'-set subscriptions will work with that updated default when they next run. But if you have a particular subscription or downloader that needs a special blacklist or namespace filtering, you can still set a specific TIO and make it happen.
Your existing downloaders and subscriptions will keep their specific TIOs on update. They will keep parsing tags like they did before.
But when you are comfortable with this new system, you may want to set many if not all of your subscriptions to default TIO, so I have added a button to manage subscriptions that sets TIO to all selected subs! Furthermore, any normal 'tag import options' button now has a right-click menu that lets you copy/paste the TIO to/from clipboard, so if you do have some clever tag filter or blacklist you want to spam to several places, you can now do it with just a few clicks.
Also, the 'url downloader' now has its own TIO. This also starts 'default', which is basically what it was doing before–referring to network->downloaders->manage default tag import options based on import URL right when it imported–but now you can overrule this 'refer to defaults' mode and set a particular set of rules if you are doing some clever one-time job with the URLs you are giving it.
more parsers
In the new page downloader, if a site does not yet have a new parser, it falls back on the old system. This left me the job of filling in the blanks for all the default sites that come with a fresh install of hydrus. I have been adding new ones here and there, but this week I pulled out the stops and finished them all off. There are new parsers for furry.booru.org, hentai foundry, moebooru (konachan, yande.ro, sakugabooru), shimmie (rule34.paheal, rule34hentai, mishimmie), newgrounds, sankaku (thanks to some users for contributing this one), and tumblr. All these sites now support Post URL drag-and-drop import (and sakugabooru doesn't actually have a search by default, so this is likely the only way you can take advantage of it for now) and have improved file parsing support and can sometimes grab a source time and so on.
So, by default, a new hydrus client now deals with file pages entirely on the new download system. This frees me up to delete more and more of the old legacy system in the coming weeks, shifting everything over to the newer and neater code. I expect I'll throw in some other new parsers for imgur and so on as well!
There remains the issue of custom boorus. Any user who added a custom booru in the old system either by downloading a yaml file from somewhere or making it themselves has something that is a bit tricky to convert to the new system automatically. I made this new system in part so I wouldn't be needed to make new downloaders, so I don't want to go down a rabbit hole of writing a hundred new parsers, but I think I'll figure out a simple way to update the old custom booru objects into barebones new parsers in a coming update. I will probably do it all in one go, when the gallery and 'searcher' object work are done, but it may need a bit of extra work on your end to connect things together. If you care about this stuff, please watch this space. I will be working with the users who are interested in making new parsers, and we'll figure out a variety of 'make it work now in a difficult technical way' to 'I can wait a couple months for the single drag-and-drop solution' methods so you can get derpibooru and the other unusual but desired boorus working properly.
Btw, the new tumblr parser does not work with the in-client tumblr downloader yet, but it will in a couple of weeks when the gallery stuff is finishing up. But if you want to try it out, just try drag-and-dropping some tumblr post URLs on the client in v314. As well as doing the difficult 'raw' URL translation correctly (and not doing it for the pre-2013 URLs for which the translation is invalid), it now figures out a creator: tag, including swapping out for the original root creator on reblog posts! It is almost as complicated as the pixiv parser, and I am really pleased that the new download system is flexible enough to have supported what I needed it to do.
misc
There are some other quality-of-life options and improvements this week:
options->speed and memory now has 'cache timeout' options for thumbnails and rendered images.
options->downloading now has 'hide/show the 'D' on short import summaries', the default being hide.
options->gui now has a 'only autosave last session during idle time', which is useful if you run a really heavy client (like 200k+ files/import objects) that you leave on all the time and are getting regular 10s+ lag from the session autosaving. I still recommend you try if you can to keep your client below 50k at once, but if you can't, try this out and let me know how it goes.
The network menu is now categorised into something better than 'a giant single mess'.
Edit subscription panels now has 'copy queries', which will copy all the selected subscription queries' search texts to your clipboard. This is basically the opposite of the 'paste queries' button on the same panel, and makes it easy to copy twenty queries to a new subscription or chat window or whatever.
full list
- tag import options can now be set to 'default', meaning 'use whatever the default is at the time of import', which will be an easier way of managing TIOs for many subs that you'd prefer all share the same TIO settings anyway
- updated tag import options ui to enable this default setting where appropriate
- updated the newer import pipeline to work with 'default'-set tag import options
- new downloaders, subscriptions, watchers, and multi-watchers now start with 'default' tag import options
- deleted the old default tag import options management code and put some text up on options->importing making notice about the impending shift. a popup message will also say this on update
- tag import options buttons now have a right-click menu with copy/paste/default options for quick assignment and duplication!
- added 'overwrite tag import options' to manage subscriptions–once you are comfortable with the new 'default' TIO mode, and after some small tests, you might want to switch all your subs over to 'default'
- the 'urls' downloader now has a tag import options–it initialises as 'default'
- added furry.booru.org to gelbooru 0.2.0 parser
- wrote a hentai foundry file page parser
- wrote a moebooru file page parser (this works for konachan, yande.re, and sakugabooru)
- wrote a shimmie parser (this works for rule34.paheal, rule34hentai, and mishimmie)
- wrote a newgrounds parser
- integrated the user-created sankaku parser
- wrote a tumblr parser that handles photo, photoset, and video posts, auto-converts to 'raw' urls for those post-2012 urls that can handle it, figures out a creator tag (reverting to the reblog root if it is a reblog post!), and cooks you breakfast
- (hence all these above sites now support drag and drop!)
- rolled out some new tumblr url classes to handle all this.
- added sakugabooru url classes
- fixed an issue where url classes were not normalising api urls in all cases, meaning some url classes would not api-link correctly in 'manage url class links' panel
- fixed an issue with deviant art legacy gallery parser pulling some funky 'creator:' tags
- some misc new downloader error handling improvements
- the watcher now uses the new gallery object to parse and generate file import objects
- the downloaders with gallery logs should now report non-success gallery fetches, along with error tracebacks (this will include some no-worry 404s the legacy downloader sometimes uses to terminate searches)
- added image and thumbnail cache timeout time delta buttons to options->speed and memory
- added a 'show the D on short file import summaries' checkbox to options->downloading–it defaults to off
- the 'I' on short file import summaries is now 'Ig' to clear up 1/I confusion
- added 'copy queries' to the edit subscription panel, which lets you copy all the selected queries' search texts to clipboard, newline separated
- added a checbox to options->gui that commands 'last session' only be autosaved during idle time. this is useful if you usually have a huge (200k+ file) session and your client is always on
- fixed file import status button right-click, which I messed up somehow last week with the 'retry ignored' add
- shook up and collapsed the network menu into neater categories
- tightened-up the rarely used pre-parsing conversion panel on the edit page parser panel to just a button with a bit of explaining text
- if database errors include the word 'malformed', the client now throws a little extra error text pointing people to the help.txt in the db dir
- cleared out some legacy download code
- cleared out legacy hard drive import error handling, moving it all to the new file import object
- misc refactoring and cleanup
next week
I moved the new gallery watcher forward as well, this week. The new gallery pipeline is mostly in place, and thread watchers now use it, so now I have to re-jigger the regular 'walk through gallery page' downloader code around a bit and then I can blitz a bunch of new gallery parsers (which are thankfully very simple) like I've just done the file page parsers today. So, I'd like to have gallery url drag-and-drop (i.e. you drag and drop a danbooru gallery search url onto the client, and it starts a new hydrus page for that search, either getting just that page's thumbnails, or starting a new search from page index 0, or starting a new search from the dropped page) in for next week.