bbolli / tumblr-utils

Utilities for dealing with Tumblr blogs, Tumblr backup
GNU General Public License v3.0
667 stars 124 forks source link

Feature Request: Exclude Tags #238

Open techno156 opened 5 months ago

techno156 commented 5 months ago

Suggestion Description

Since we have the ability to select specific tags in the list, it would also be nice to be able to exclude tags as well. For example, if I wanted to get everything from a blog, but exclude posts marked with the tag #drabbles.

Possible Implementation

As tumblr-utils is already grabbing the tags that a post contains, one way that this could be implemented is by having a list of tag exclusions either in the form of a command line argument, or as files supplied to the script, which would be loaded into a set. Posts containings tags in the set would be skipped.

The downside that I could see with this implementation is that if it is stored in memory, very large lists of ignorelisted tags may utilise significant amounts of memory and represent considerable performance overhead. However, I am unsure about how practical of a concern that would be for typical usage. Users who would have an extremely long list of tags to filter out would instead benefit from selecting particular tags that they want instead, or splitting the tag ignorelist up by individual blog, as opposed to one long list of tags to ignore.

Alternatives Considered

Another way that a similar result that this could be achieved, is if the user is logged in, to use their filtered tags. The script currently ignores tag restrictions, so it may be possible to set a command line switch to respect the filter. Compared to the above, this has the upside of allowing users who don't want tags that they're already filtered to be downloaded, saving bandwidth. However, this also has a few downsides, like users who want to specify given tags that they don't want to see on Tumblr, but might want to save (long posts, etc).