Coder Social home page Coder Social logo

cuddlebear92 / hydrus-presets-and-scripts Goto Github PK

View Code? Open in Web Editor NEW
239.0 21.0 47.0 33.94 MB

collection of presets and scripts for Hydrus

Python 83.36% JavaScript 16.64%
hydrus presets booru imageboard scripts-collection scripts repository tags namespaces

hydrus-presets-and-scripts's Introduction

Hydrus Presets, Scripts & Issue Tracker

A collection of presets and scripts for Hydrus.

For issues regarding custom downloaders found in this repo either use the support chat found in the Discord server or use this repo's issues page, found here: https://github.com/CuddleBear92/Hydrus-Presets-and-Scripts/issues

Issues for the main Hydrus repo is listed at: https://github.com/hydrusnetwork/hydrus/issues

Total Collection of Supported Sites are found here: https://github.com/CuddleBear92/Hydrus-Presets-and-Scripts/wiki/0--Supported-websites

Hydrus: https://github.com/hydrusnetwork/hydrus

Further information and help pages about Hydrus are found here: http://hydrusnetwork.github.io/hydrus/

for help using these presets and scripts, take a look at our wiki: https://github.com/CuddleBear92/Hydrus-Presets-and-Scripts/wiki

Social:

Hydrus Send Url.shortcut

This is an iOS and iPad OS shortcut for sending urls to your Hydrus client. Download and import into your Shortcuts app and fill the client address, api key and the tab name it will use in Hydrus.

hydrus-presets-and-scripts's People

Contributors

a1270 avatar audrican avatar bigretromike avatar chad90b avatar cravxx avatar cuddlebear92 avatar floogulinc avatar funmaker avatar goawaynow avatar hydrusnetwork avatar imtbl avatar kotonbu avatar matjojo avatar mentalgen avatar miraihi avatar mruac avatar msglosers avatar nandemo-sky avatar prof-m avatar purpleazurite avatar qnf6eq avatar rachmadaniharyono avatar river58 avatar suika avatar tcheerno avatar tokumeiii avatar trashcand69 avatar var-username avatar yukiestelle avatar zweibach avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hydrus-presets-and-scripts's Issues

Fill out Wiki

  • Using/Installing Downloader Presets
  • Using/Installing Parsing Scripts
  • How to Make Download Presets (Old)
  • How to Make Download Presets (New Engine)
  • How to Make Parsing Scripts

  • Basics of Hydrus
  • Basics of Searching (most boorus)
  • Basics of Tagging in Hydrus

Supported Sites

  • Fill in all boxes
  • link to site on sitenames
  • link to presets and scripts when we have them

Different slideshow schemes

Let's say I have a set of tags 1-9. I want to view a slideshow of tags 1-3, then after a set time (and/or triggered by a keybinding), I want the slideshow to display tags 4-6, and after that, 7-9. Basically: just the ability to queue up different slideshows in advance.

dev: With that much power you might as well just plug a scripting language into hydrus.

op:

Perhaps. I see hydrus as very similar to foobar2000: tags and the power to manipulate them. foobar2000 does not have a scripting language but it is possible to generate a set of playlists using tags, and bind keys to change the currently playing playlist. My feature request is best described as a set of playlists, which I don't see as a very tall or complex demand. I think a scripting language would be extreme overkill for such a feature.

Yiff.party rip description

Since some creators password protect the archive, would it be possible to download post description into file notes?

File Relation and linking (dynamically shared tags)

We should be able to link files against each other so they share tags when new are added to the "worse file".
This is key for the dupe system, times where the image is the same but is worse.
You don't want to loose the ability to gain tags from the ptr when new tags are added to the bad file.

This should have a way to read and gain the tags of the bad file while being able to delete and add additional tags to the better file for example.

That way things can be added and edited on the newer file. tags like lowres might not be a good thing for a highres file and so on.

Automatically pausing Parsing and Downloading when issues arise.

Automatically pausing Parsing and Downloading when issues arise.
Issues like:

  • Getting a timeout from the booru/site.
  • Loosing an internet connection.
  • Loosing Connection to Drive (esp for usb drives and nas).

These things should pause both the parser and the downloader.
The parser so the parsing progress is not lost (since an timeout will clear out the parse as a whole)
And the Downloader so it doesnt fill the queue with errors.
That last one is less of an issue now that we can retry failed in queue. but the Parsing parts are important.

Issue with downloader

So, I tried to make my own, and when I failed, I came here. But, even with the resources here I still fail to make it function. Hydrus says everything is working fine. Everything looks fine. But, whenever I try to download any tags it doesn't search for anything and just says done.

So, I was wondering if anyone could help me out and show me how one sets this up. I am fairly tech illiterate but I'd love to learn.

Download Preset Support

Drag and drop windows with tag rules

Show two windows side by side and one window can be programmed with the rule "ADD tag foo" and the other one has the rule "REMOVE tag foo, ADD tag bar" and you can drag and drop files to them.

dev: Drag and drop windows for tag rules is something I had never thought of, but I like it a lot. It could also do file uploading/exporting and other such duties. I want to add thumbnail dragging and dropping in future, so this could be a great extension of that code.

tag censorship

tag censorship of namespaces appears to be buggy or underdocumented. Inputting

page:

into the blacklist does not get rid of pages. If I literally define page:1, that explicit page will be censored.
The input textbox doesn't autocomplete tags like every other tag searching text box in the program does.
There is only a blacklist OR whitelist- why not both?

Censoring all namespaces with : works, and that allowed me to see that the censorship doesn't work in the way I had thought it would. Maybe I'm not in the correct mindset yet, but I navigate my picture library by choosing tags to filter by. By default, hydrus is blank, so I always throw in a system:everything. This displays all the tags in my library in the "selection tags" box, and it is from here that I choose tags to filter by: it's much easier to scroll through a list of tags than it is to try and remember what words I may or may not have used to describe my pictures. In no way, ever, is the page: namespace a useful sorting tool- HOWEVER it is necessary data to have for sorting, and I do appreciate that the page number is shown on both the thumbnail and in the internal picture viewer. Censoring page: removes it from the thumbnail and internal picture viewer. All I want is to hide tags from the "selection tags" list! Could you implement a "hide these tags from selection tags" list please?

In no way, ever, is the page: namespace a useful sorting tool-

derp, I meant it's useless for filtering. It's useful for sorting

dev:

hide these tags from selection tags

This would help with a lot of other namespaces too, for example "title:". I would very much appreciate this feature.

Download Preset Support - Booru.org (Need Downloader Change)

new Download Engine changes are needed for all info.

Cannot gather tags without downloader rewrite.

Ref:
http://booru.org/top

Requested:


Collapsible Tag Namespaces

Collapsible Tag Namespaces.
Meaning you can close and practically hide a namespace in the tag viewer and ofc open them again when needed.

This is Extremely useful for large tag lists, esp when they contain pages, filenames and other things that might take up space.

The user might want all the info to be available to them at any time. But the user don't want it to take up so much space all the time.

This is one of the most important QoL improvements that can be done with the tag viewer and manager.

Possible optimizations for current gallery downloaders

Download Preset Support - Wallhaven

Ref:
https://alpha.wallhaven.cc/

Login engine is needed for NSFW downloads

  • Global wallhaven for all ratings and categories (login needed)

  • Anime SFW
  • Anime Sketchy
  • Anime NSFW (login needed)
  • Anime All Ratings (login needed)

  • General SFW
  • General Sketchy
  • General NSFW (login needed)
  • General All Ratings (login needed)

  • People SFW
  • People Sketchy
  • People NSFW (login needed)
  • People All Ratings (login needed)

more Image search sites

database for multiple user

The installer defaults to c:\hydrus, saying that "program files requires admin". Not necessarily true- give the user write access to the database folder, or simply leave it writable by the 'Users' group. Done. This is what steam does.

But hydrus only has one database, correct? Therefore, in a multi-user environment each user must have their own installation of hydrus. The convention for a program without multi-user support is to default install to "c:\users[username]\appdata\roaming\hydrus". Use the following variable, don't hard-code the path: "%APPDATA%\hydrus". If you point to appdata by default, be sure that you do not have the installer request UAC elevation, as it currently does. I'm not intimately familiar with install scripts, but I believe it should be possible to only request elevation if the installer needs it (eg should the user manually enter 'program files' as the destination). Just remember to manually grant database write access to the initial user (if not the Users group), NOT the elevated user, and you should be able to install to any directory without issue.

dev:

Databases and multi-user

While hydrus by default only uses a single database, you can extend it by using some special databases with hash and tag information ripped from websites that collect such things.
In addition, hydrus uses the mobile installation method, with the program and its data closely coupled, which I find a much better way to do it.
I find your interest in this aspect of application development interesting. Could you expand upon why this should be a feature?

op:

Could you expand upon why this should be a feature?

I'm not sure I follow- I'm suggesting he follow the conventions of the OS. For example, a convention on linux is that you don't design your program to run as root. If a program does run as root, then changing that is more of a bug fix than a feature request. This context is not so dire, but the analogy is clear: I'm offering solutions to a problem, not asking for a feature.

It occurred to me that another way of doing the above would be to install to program files and have the database be in %APPDATA%\hydrus, that's probably the best way to do it, unless you want to keep the mobile approach and just install to %APPDATA%\hydrus. As for "mobile approach", well isn't that what the mobile, zipped version is for? There's no reason the installable version should defy host OS convention so there can be two redundant distribution methods.

a Watched Temp folder for editing.

a Watched Temp folder for editing.
Meaning that the folder is watched by Hydrus to look out for changes to the file. so once saved it will do actions like importing the new file and automatically copy over the tags of the original file.

This makes sense for Image Editors for example.
Still unsure how this would work with files not overwriting the original though. like saving in another format or saving in another folder.

suggested tag

7f2c0e No.528:

A "suggested tag" feature. When you're adding tags it should show tags most commonly used with the ones already added, as if you're doing a search for images with the incidence (desc) option. For example when I tag an image with character:alice margatroid it should suggest the tags blond hair, blue eyes, and hairband.

Audio Playback in Media Viewer

Audio support for the media viewer.
For videos, flash files and even sound files like mp3.

This can be fixed with the mpv player too i guess #20

Pool searching?

Searching

searching for pools needs its own issues.

  • Konachan (both) http://konachan.com/pool?query={SEARCH}
  • Hypnohub http://hypnohub.net/pool?query={SEARCH}
  • 3Dbooru http://behoimi.org/pool?query={SEARCH}
  • Yande.re https://yande.re/pool?query={SEARCH}
  • e621 https://e621.net/pool?query={SEARCH}
  • e926 https://e926.net/pool?query={SEARCH}
  • Danbooru (complex input)
  • Safebooru (complex input)
  • Atfbooru (complex input)
  • 20%Cooler http://twentypercentcooler.net/pool?query={SEARCH}
  • 3dbooru http://behoimi.org/pool?query={SEARCH}
  • Lolibooru https://lolibooru.moe/pool?query={SEARCH}
  • WildCritters (complex input)
  • One Yukkuri Place (complex input)
  • rule34Hentai http://rule34hentai.net/post/list/{SEARCH}/1

Option to specify hamming distance in "find similar images",

you can't change the option once it's in the filter window and you have to enter the hash manually in the "system:similar to" option

dev: Find similar is another thing I threw together. I've been meaning to expand it for a long time, but never got around to it. I would still like to add a 'find me all the dupes in my collection', but there are several big new things I need to create first. For now, I can definitely add a custom default distance for the menu entry.

Tag sets with hotkeys

save a set of tags under a hotkey so it's quick to add them to a file while filtering

dev: Internal tag conversion is something that has been on my radar for a while– particularly for large but finicky jobs like adjusting page:n to page:n+1 for two hundred files. I haven't thought about what the dialog would look like for such a complicated and powerful tool, though. Maybe split it into two halves, like

- LEFT: IF FILE MATCHES THESE PROPERTIES, 
- MIDDLE: DO THESE THINGS. 
- RIGHT: AFTER RUNNING THE SEARCH, THESE FILES MATCHED.
THIS IS WHAT THEY WILL LOOK LIKE AFTERWARDS.
YOU SURE YOU WANT TO DO IT?.

Perhaps this is just an powerful formalisation of the drag and drop idea above. Perhaps I need to write a scripting logic for the program first, so people can do these mass edits a bit easier?

dev: Allowing more complicated hotkeys could also use this scripting/macro language, and would be the easiest of the three things to do. I'll make a note to do that first.

local tag and namespace sibling choices.

letting the user choose what namespace or what tag to use with the siblings in say the ptr.
Allowing the user to choose out of the ordinary options if they choose

This will also go for namespaces as a whole as many might want some namespaces to change. and some might want namespaces where there is none and so on.

shortcut keys

7f2c0e No.528:

  • When filtering with the manage tags window open the left and right arrow keys should change images and apply tags on image change.
  • The hotkey to open file externally should open the current image when filtering.
  • Right click on an image -> favorite/dislike along with system:favorites and system:disliked or some other form of bookmarking images.

Current wishlist

This list will only contain features requested through Discord under the #wishlist channel just for my sanity sake.

Items which appeared in the latest feature vote will not be listed here either.

DOWNLOAD SYSTEM PROVEMENTS

  • Quick restart of a gallery until it finds known URL/files.
  • Retry failed downloads due to a faulty internet connection on a scheduled basis instead of removing them from the queue.
  • Publishing a subscription into a gallery-like page e.g show a new page with all the subscriptions syncd in the last hour, each one being a query that needs to be highlighted to be shown
  • New type of parser/URL class where instead of returning Gallery, Post, Watcher, or File, it should Return string/tags, or queries e.g. .csv file with tags for the Danbooru parser to query the website with. Should only require to update the .csv to change what's downloaded. Acknowledged by Devman, waiting for the next iteration of the downloader alongside polishing the idea
  • Default bandwidth rules in the easy import .png
  • URL removing in selection by RegEx pattern match, substitution or right-click context menu
  • Favorite system for subscriptions so those marked get priority in term of network and processing
  • Bandwidth rule that allows to set a "live" limit on data transfer e.g. "Allow only 500kb/s"
  • Total progress of sub instead of each query e.g. 50/100 traps in gelbooru query, 7 queries remaining
  • UTC timestamp to ISO date text in content parsing
  • Extraction of data directly from URL in addition to fetched html/JSON context
  • System to be considered busy when syncing a sub so idle maintenance does not trigger. Acknowledged by Dev
  • Download speed in the gallery downloader to become a rolling average
  • Default tag import options to import tags by default
  • Reverse download order for gallery downloads

DUPLICATE FILTER IMPROVEMENTS

  • Mark the parts of the images with the highest difference
  • Sorting of dupes based on user preferences. For example, dupe check first those images with creator:pusc first.
  • Color-coded differences e.g color "Higher resolution" in green
  • Make categories persistent so all aspects are always shown
  • Floaty window/second screen support e.g have a floating window on the right showcasing the main differences between both files

PERFORMANCE/UNDER THE HOOD IMPROVEMENTS

  • Store/cache the BMPs of both images when using the Dupe Filter so they're not constantly re-rerendered
  • XPath support
  • Selection of maintenance jobs to be performed during idle time.

QUALITY OF LIFE (TAGGING WORKFLOW) IMPROVEMENTS

  • Sort favorite tags by incidence
  • Refresh tag recommendation after adding a tag
  • Group images by alternates
  • Redistributed popups, especially for subscriptions e.g. show errors in a smaller column next to the main one showing progress
  • Duplicate page on right-click context menu
  • The ability to use things like duration, resolution, system:.. in sorting scheme.
    e.g. hair-eyes-duration[low>high]-time importet[high>low]
  • When selecting files, show selected files out of total e.g. 53 out of 197 files in current page
  • Quick-add tag(s) to a subscription (from a right-click menu)
  • General file entry (as in, inbox) to receive a built-in macro system in which a single keypress may execute multiple functions.
  • Higher resolution support with increased max thumbsize and scaler for fonts Devman has acknowledged the 200px thumbnails
  • More sorting options alongside the current tags/import time
  • Zoom improvement
  • Custom import actions e.g. import and then do MD5 search on Gelbooru
  • Addition of commonly used RegEx
  • Key modifiers for the mouse wheel e.g. holding "a" while scrolling downwards applies "anime" tag
  • Siblings for namespaces e.g sibling creator: to artist: Acknowledged by Devman
  • Underscores to be used as empty spaces when searching tags in Hydrus e.g looking_ should give looking_at_viewer_ and looking at viewer Acknowledged by Devman
  • HTML parsing being able to transition into API
  • Context menu option to add search terms to favorites
  • WEBP support Acknowledged by Devman, awaiting for PIL
  • Mass IQDB or equivalent tag searching
  • Auto checking using default tag lookup scripts of recently downloaded/imported files
  • Context option to go to an image origin e.g. After downloading images from a watcher and working on them through another page (like system:limit 50), right click on it to open the page that downloaded them (4chan watcher)
  • Left-side UI split. "Processing" related buttons would stay on the left side (for example, downloader related options, file import options) while the tags get a new column on the right side.
    e.g. https://i.imgur.com/pmcxewN.png (OC by Losers, donut steal)
  • Dockable UI
  • Tags retain source metadata e.g. manual tagging, Pixiv tagging, AI-generated, X-booru...
  • The ability to search for number of tags within a namespace or a simple pattern with wildcards
    e.g. number of "character:anything" less than 2
  • When right clicking and going to open new search pages for each in selection it could show the number of tags selected at the bottom left.
  • Send all inboxed files from any query to a new tab with a simple right click on the query.
  • Select a favorite tab in the tag manager
  • Allow to sort tags in tag manager/selection tags windows/sidebar with similiar namespace sorting sheme options as in sort/collect.
  • Tag presentation on thumbnail bottom left
  • Truncate the tags or sibling them just for the tag presentation e.g. language:english => eng
  • An option/toggle to make anything that goes through the dupe filtered and is not deleted (as in, is a worse image or just straight up deleted) archived in the inbox
  • Tagging filter, where using it on a group of files would apply tag A or B depending on what click is used
  • Sort certain mimes depending on their inherent qualities e.g JPEG by quality index, audio and vide by bitrate
    v338 added bitrate sorting
  • Rename siblings to "aliases" and parents to "implications"

md5 script for all supported sites

as stated bellow, some sites use : (%3A) over = (%3D)
this cannot be changed at this moment it seems in the script system in place.

Works (%3d is accepted)


NEW unchecked sites goes here


Broken (does not accept %3d)

Pooling for sites?

pool id

  • safebooru http://safebooru.org/index.php?page=pool&s=show&id={CODE}
  • e621 https://e621.net/pool/show/{CODE}
  • e926 https://e926.net/pool/show/{CODE}
  • Rule34 https://rule34.xxx/index.php?page=pool&s=show&id={CODE}
  • Yande.re https://yande.re/pool/show/{CODE}
  • 3Dbooru http://behoimi.org/pool/show/{CODE}
  • Furrybooru http://furry.booru.org/index.php?page=pool&s=show&id={CODE}
  • Hypnohub https://hypnohub.net/pool/show/{CODE}
  • Konachan https://konachan.com/pool/show/{CODE}
  • Xbooru http://xbooru.com/index.php?page=pool&s=show&id={CODE}
  • Danbooru http://danbooru.donmai.us/pools/{CODE}
  • Safebooru http://safebooru.donmai.us/pools/{CODE}
  • Lolibooru https://lolibooru.moe/pool/show/{CODE}
  • Atfbooru http://atfbooru.ninja/pools/{CODE}
  • 20%Cooler http://twentypercentcooler.net/pool/show/{CODE}
  • MSPAbooruhttp://mspabooru.com/index.php?page=pool&s=show&id={CODE}
  • WildCritters http://wildcritters.ws/pool/show/{CODE}
  • One Yukkuri Place http://yukkuri.shii.org/pools/{CODE}
  • Dollbooru http://dollbooru.org/pool/view/{CODE}
  • rule34Hentai http://rule34hentai.net/pool/view/{CODE}
  • Giantessbooru http://giantessbooru.com/pool/view/{CODE}

random sort oder

I'd like to suggest a random sort order where multi-page images are kept together. pixiv often has two or more images that are meant to be viewed in sequence, and I'd like to have a sort order preserve this in an otherwise random slideshow.

7f2c0e No.518

As long as the order of the images is part of some kind of tag namespace it wouldn't be hard to add that. An option to randomize one namespace and keep all the others' orders would do what you want.

7f2c0e No.520:

An option to randomize one namespace and keep all the others' orders would do what you want.

I don't have any formal manga/comic collections where I would use series, volume, title, chapter AND page, so I don't want to presume how this should be implemented, but I don't think that accurately describes what I want. Perhaps this would require more than one sort rule to fully flesh out the idea for all use cases, but all I want is a given collection of pages to be presented in order. Perhaps we should define four sort rules:

random + preserve page order for title
random + preserve page order for chapters
random + preserve page and chapter order for volumes
random + preserve page and chapter and volume order for series

That doesn't even cover all possibilities. Optimally, sort orders should just be user definable.

filename on hydrus

I'm not entirely sold on the complete abandonment of file names. Correct me if I'm wrong, but there are no file names in hydrus, everything must be a tag. Tags are for navigation, and file names can contain information that would just clutter my tag list with useless bloat. Example: MPCHC video snapshot creates a file with name "[filename][timestamp].png. The file name usually contains the episode name and number. There is no benefit to marking the episode name, number, and timestamp as tags, but this is also information I don't want to discard. If hydrus simply kept the file name… Also, the way you have hydrus store images sort of prevents operating on a picture library with external tools, such as a duplicate image scanner. Without human readable file names or a coherent, modifiable folder structure, I would have to export my entire database, delete all images in the database, do whatever needs to be done to the files, and re-import them. Why does hydrus simply not maintain a database of files as they are? Why must it completely take over, move and rename everything? It seems unnecessary and overbearing.

The internal image viewer navigates through pictures within the currently defined filter. If you open an image with an external viewer it will navigate effectively randomly; whatever pictures happen to be stored next to the one you initially viewed. Perhaps you could implement the option to hardlink all images in the currently defined filter to a temporary folder. External viewers would become more useable.

dev:

Filenames and location of files

Filenames in and of themselves can be cluttering, agreed, but by making pretty much everything a tag, you guarantee much easier forward compatibility. Using the "title:" namespace should do what you want.
The reason to "take over, move and rename everything" comes from its mobile nature. This is one area where I would like some more options though.

op:

Filenames & 'taking over' folders/files

I would be more amenable to the way things are currently done if I could automatically tag everything with a filename: and folder: namespace upon import and hide it from the 'tag selection' as per my other feature request. If done right, exports could restore the files and folders exactly as they were. While this is indeed possible to do at the moment, you have to manually define the regex/tag pattern every time you import or export- which brings me to a new feature request: import/export profiles. Save a predefined set of conditions for future imports and exports.

7f2c0e No.518:

If hydrus simply kept the file name…

I have a namespace called "filename" that I add to every file I import. If I ever want to get the original file back all I have to do is export it and use [filename]. This is the regex I use:
[^\\/:*?"<>|\r\n]+(?=..*$)
If you want to add it to files you've already imported, just import them again and it will tag their existing database entries.

Perhaps you could implement the option to hardlink all images in the currently defined filter to a temporary folder. External viewers would become more useable.

Oh I like this one, though I think read only symlinks would be safer. Otherwise it would be easy, create a folder named something meaningful from the search, and symlink every file into that folder.

7f2c0e No.520:

I have a namespace called "filename" that I add to every file I import

Yes, I saw the thread for "better regex" here, and I have been using the filename: where necessary, but it's a band-aid solution for a problem that hydrus goes out of its way to create! Hydrus hashes every image and renames the image files to their hash, correct? Then when importing a picture, if the file names match no duplicate is added. How about hydrus has the option to NOT move/rername files, and hashes are stored as a hidden tag (or otherwise in some form in the database)? This approach would actually be more efficient too, since it involves less read/write operations to the disk and relies on the database instead of the files. I get that you can live with tags and tags alone, but throwing out file names altogether is just needlessly limiting options.

Moreover the band-aid solution of creating a filename: tag doesn't address the issue that, once pictures are inside hydrus, access is relatively exclusive to hydrus, which is a problem. See next paragraph for an example.

just import them again and it will tag their existing database entries.

Yes, I have noticed this and I appreciate it deeply. I have made use of it several times already. However, if I'm exporting the entire database to perform operations on the files with some other program, the import will not work unless I delete the database first. Changed files will be seen as new files: duplicates everywhere. Deleted files will still exist in hydrus' database… Not starting from scratch would just be a mess. Using some other program to operate directly on the database images \could\ work if hydrus is smart about handling unexpected changes, but from that program there will no identifying information on the pictures; this would prevent me from making an informed decision for a process such as batch removing duplicate images. If two+ pictures are near identical, I'd prefer to remove the one with less/no tags, but I will have no way of knowing which picture that is. Similarly, if I ever want to open ANY picture with ANY program, I can't use file -> open in said program anymore- I'd need to open hydrus, export the picture, THEN open it with any given program. If hydrus allowed having coherent file names and structures, I could process my library so that tags are listed in the file name. Do this, and hydrus will go from being a roadblock, to a lubricant.

though I think read only symlinks would be safer.

symlinks require administrative powers under Windows, hardlinks do not, which is why I suggested hardlinks. If symlinks prove superior for whatever reason, then by all means it should be default in the linux version, and optional non-default for windows. I have to wonder how efficient the process of creating thousands of links is… we might run into a problem where it takes so long it just isn't feasible.

create a folder named something meaningful from the search

I was thinking that it would be linked to a system temp folder- no need for a meaningful name. If you want to save the folder for later you can rescue it from the temp folder manually, rename it to whatever you want. Well, hydrus could automate this process for you too, if the dev feels so inclined to write it.

7f2c0e No.528:

I don't mind that Hydrus renames and moves files into its own directory, but I would like an option to have the subdirs of client_files and client_thumbnails folders be stored as compressed archives (zips) instead of loose files. I currently store images this way and use a cbz reader to view them in order to reduce wear on hard drives. When you get larger collections (literally millions of tiny files) doing things this way almost becomes a necessity. Plus all that file slack adds up.

Download Preset Support - 3D sites

Public todo list

This issue is here to combine todo / suggestions / recommendations for hydrus.

This is not official hydrus todo list, but to avoid any duplicate things that user want for hydrus

The time of posting you get issues from should be logged.
For example got everything between 01.01.2018-17.02.2018 as an example. This way its easier to track what has been pulled and not without checking for emotes.

any added issue from the discord channel should be reacted with ✅ as a marker

Group Tag consolidation

  1. Tag consolidation across different personal homeservers (federation)
    • Communities should be able to standardize the group's tags across different homeservers, such that it is less chaotic compared to Gelbooru and other low-end boorus
    • Assuming this is not done in a democratic manner, "moderators" of the community shall take responsibility for maintaining the tag database and requests from "members"
    • "Member"s shall send a list of hash to tag list pairs to a centralized server in order for "moderators" to approve and update the community tag database
    • When a homeserver is finish downloading a file or set of files, it shall query the community server to seek the community's tags and add it to the local database
    • Such a community database should have an automated service for incremental backup, similar to Quartzic's QuickSync service
    • Problems will arise when there are clashes between the logic of PTR and private community tag databases, and there shall be namespaces that separate the two
  2. Tag consolidation across different Boorus and Art Galleries
    • Since Danbooru, Gelbooru, Sankaku and others have incompatible non-alias tags (and "dictionary definitions"), it is important to "unify" tags from across different Boorus. The best way to do this is to construct a dictionary for a one-to-many mapping of tag names
    • Auto-downloaders using Hydrus' internal downloader or external tools such as gallery-dl should incorporate such tag-sync behavior when downloading tag-based image sets across different Boorus and galleries to make data gathering easier
    • Japanese pixiv to English Booru tag-definition mapping is needed if one wants to search for certain items in the database, as direct import will not resolve the linguistic gap. See: This Google document that has a mapping between Japanese and English tags
    • Such a database should either be part of PTR, or part of the first point's private tag tracking community service, where automated downloads from the Boorus will trigger a connection to the community server to clean the tags if needed

Name DnD cached files after tags.

Name DnD cached files after tags.
This means when you drag and drop the files to say discord it will save its cached file something from the tags. For example series, character and other namespaces.
This will help programs that read the namespace more.
Instead of a hash value you will get the title of the series and such instead which is better for everyone.

custom thumbnail

Thumbnails larger than 200x200 and/or display larger thumbnail on mouse-hover.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.