windows
zip: https://github.com/hydrusnetwork/hydrus/releases/download/v312/Hydrus.Network.312.-.Windows.-.Extract.only.zip
exe: https://github.com/hydrusnetwork/hydrus/releases/download/v312/Hydrus.Network.312.-.Windows.-.Installer.exe
os x
app: https://github.com/hydrusnetwork/hydrus/releases/download/v312/Hydrus.Network.312.-.OS.X.-.App.dmg
tar.gz: https://github.com/hydrusnetwork/hydrus/releases/download/v312/Hydrus.Network.312.-.OS.X.-.Extract.only.tar.gz
linux
tar.gz: https://github.com/hydrusnetwork/hydrus/releases/download/v312/Hydrus.Network.312.-.Linux.-.Executable.tar.gz
source
tar.gz: https://github.com/hydrusnetwork/hydrus/archive/v312.tar.gz
I had an ok week. I mostly worked on smaller downloader jobs and tag import options.
tag import options
Tag import options now has more controls. There is a new 'cog' icon that lets you determine if tags should be applied–much like file import options's recent 'presentation' checkboxes–to 'new files', 'already in inbox', and 'already in archive', and there is an entry to only add tags that already exist (i.e. have non-zero count) on the service.
Sibling and parent filtering is also more robust, being applied before and after tag import options does its filtering. And the 'all namespaces' compromise solution used by the old defaults in file->options and network->manage default tag import options is now automatically replaced with the newer 'get all tags'.
Due to the sibling and parent changes, if you have a subscription to Rule34Hentai or another site that only has 'unnamespaced' tags, please make sure you edit its tag import options and change it to 'get all tags', as any unnamespaced tags that now get sibling-collapsed to 'creator' or 'series' pre-filtering will otherwise be discarded. Due to the more complicated download system taking over, 'get all tags' is the new option to go for if you just want everything, and I recommend it for everyone.
For those who do just want a subset of available tags, I will likely be reducing/phasing out the explicit namespace selection in exchange for a more complicated tag filter object. I also expect to add some commands to make it easier to mass-change tag import options for subscriptions and to tell downloaders and subscriptions just to always use the default, whatever that happens to be.
misc downloader stuff
I have added a Deviant Art parser. It now fetches the embedded image if the artist has disabled high-res download, and if it encounters a nsfw age-gate, it sets an 'ignored' status (the old downloader fetched a lower-quality version of the nsfw image). We will fix this ignored status when the new login system is in place.
Speaking of which, the edit subscriptions panels now have 'retry ignored' buttons, which you may wish to fire on your pixiv subscriptions. This will retry everything has has previously been ignored due to being manga, and should help in future as more 'ignored' problems are fixed.
The 'checker options' on watchers and subscriptions will now keep a fixed check phase if you set a static check period. So, if you set the static period as exactly seven days, and the sub first runs on Wednesday afternoon, it will now always set a next check time of the next Wed afternoon, no matter if they actually happen to subsequently run on Wed afternoon or Thurs morning or a Monday three weeks later. Previously, the static check period was being added to the 'last completed check time', meaning these static checks were creeping forward a few hours every check. If you wish to set the check time for these subs, please use the 'check now' button to force a phase reset.
I've jiggled the multiple watcher's sort variables around so that by default they will sort with subject alphabetical but grouped by status, with interesting statuses like DEAD at the top. It should make the default easier to at-a-glance see if you need to action anything.
full list
- converted much of the increasingly complicated tag import options to a new sub-object that simplifies a lot of code and makes things easier to serialise and update in future
- tag import options now allows you to set whether tags should be applied to new files/already in inbox/already in archive, much like the file import options' 'presentation' checkboxes
- tag import options now allows you to set whether tags should be filtered to only those that already have a non-zero current count on that tag service (i.e. only tags that 'already exist')
- tag import options now has two 'fetch if already in db' checkboxes–for url and hash matches separately (the hash stuff is advanced, but this new distinction will be of increasing use in the future)
- tag import options now applies sibling and parent collapse/expansion before tag filtering, which will improve filtering accuracy (so if you only want creator tags, and a sibling would convert an unnamespaced tag up to a creator, you will now get it)
- the old 'all namespaces' checkbox is now removed from some 'defaults' areas, and any default tag import options that had it checked will instead get 'get all' checked as they update
- caught up the ui and importer code to deal with these tag import option changes
- improved how some 'should download metadata/file' pre-import checking works
- moved all complicated 'let's derive some specific tag import options from these defaults' code to the tag import options object itself
- wrote some decent unit tests for tag import options
- wrote a parser for deviant art. it has source time now, and falls back to the embedded image if the artist has disabled high-res downloading. if it finds a mature content click-through (due to not being logged in), it will now veto and set 'ignored' status (we will revisit this and get high quality nsfw from DA when the login manager works.)
- if a check timings object (like for a subscription or watcher) has a 'static' check interval, it will now apply that period to the 'last next check time', so if you set it to check every seven days, starting on Wednesday night, it will now repeatedly check on Wed night, not creep forward a few minutes/hours every time due to applying time to the 'last check completed time'. if you were hit by this, hit 'check now' to reset your next check time to now
- the multiple watcher now sorts by status by default, and blank status now sorts below DEAD and the others, so you should get a neat subject-alphabetical sort grouped by interesting-status-first now right from the start
- added 'clear all multiwatcher highlights' to 'pages' menu
- fixed a typo bug in the new multiple watcher options-setting buttons
- added 'retry ignored' buttons to edit subscription/subscriptions panels, so you can retry pixiv manga pages en masse
- added 'always show iso time' checkbox to options->gui, which will stop replacing some recent timestamps with '5 minutes ago'
- fixed an index-selection issue with compound formulae in the new parsing system
- fixed a file progress count status error in subscriptions that was reducing progress rather than increasing range when the post urls created new urls
- improved error handling when a file import object's index can't be figured out in the file import list
- to clear up confusion, the crash recovery dialog now puts the name of the default session it would like to try loading on its ok button
- the new listctrl class will now always sort strings in a case-insensitive way
- wrote a simple 'fetch a url' debug routine for the help->debug menu that will help better diagnose various parse and login issues in future
- fixed an issue where the autocomplete dropdown float window could sometimes get stuck in 'show float' mode when it spawned a new window while having focus (usually due to activating/right-clicking a tag in the list and hitting 'show in new page'). any other instances of the dropdown getting stuck on should now also be fixable/fixed with a simple page change
- improved how some checkbox menu data is handled
- started work on a gallery log, which will record and action gallery urls in the new system much like the file import status area
- significant refactoring of file import objects–there are now 'file seeds' and 'gallery seeds'
- added an interesting new 'alterate' duplicate example to duplicates help
- brushed off and added some more examples to duplicates help, thanks to users for the contributions
- misc refactoring
next week
I also got started on the gallery overhaul this week, and I feel good about where I am going. I will keep working on this and hope to roll out a 'gallery log'–very similar to the file import status panel, that will list all gallery pages hit during a downloader's history with status and how many links parsed and so on–within the next week or two.
The number of missing entries in network->manage url class links is also shrinking. A few more parsers to do here, and then I will feel comfortable to start removing old downloader code completely.