StuffAnThings / qbit_manage

This tool will help manage tedious tasks in qBittorrent and automate them. Tag, categorize, remove Orphaned data, remove unregistered torrents and much much more.
MIT License
635 stars 41 forks source link

[Bug]: Forcing Category not ignoring ignoreTags_OnUpdate #561

Closed Ap0ph1s-W4ite closed 1 month ago

Ap0ph1s-W4ite commented 1 month ago

Describe the Bug

Categories are being forced even when a tag is set to be ignored. The torrents that are being categorised again have the tag Author which is in the config file to be ignored.

The directory is /mnt/temporary/qbittorrent/ and qbit-manage added that to the config file, so ignore that line.

Config

# This is an example configuration file that documents all the options.
# It will need to be modified for your specific use case.
# Please refer to the link below for more details on how to set up the configuration file
# https://github.com/StuffAnThings/qbit_manage/wiki/Config-Setup

commands:
  # The commands defined below will IGNORE any commands used in command line and docker env variables.
  dry_run: false
  cross_seed: false
  recheck: false
  cat_update: true
  tag_update: true
  rem_unregistered: true
  tag_tracker_error: true
  rem_orphaned: true
  tag_nohardlinks: false
  share_limits: true
  skip_qb_version_check: true
  skip_cleanup: false

qbt:
  # qBittorrent parameters
  host: <hidden>
  user: <hidden>
  pass: <hidden>

settings:
  force_auto_tmm: false # Will force qBittorrent to enable Automatic Torrent Management for each torrent.
  tracker_error_tag: issue # Will set the tag of any torrents that do not have a working tracker.
  nohardlinks_tag: noHL
  share_limits_tag: share_limit
  ignoreTags_OnUpdate:
  - noHL
  - issue
  - cross-seed
  - Author #<- Torrents have this tag.

  share_limits_min_seeding_time_tag: MinSeedTimeNotReached
  share_limits_min_num_seeds_tag: MinSeedsNotMet
  share_limits_last_active_tag: LastActiveLimitNotReached
  cross_seed_tag: cross-seed
  cat_filter_completed: true
  share_limits_filter_completed: true
  tag_nohardlinks_filter_completed: true
  force_retag_all: false
directory:
  # Do not remove these
  # Cross-seed var: </your/path/here/>  # Output directory of cross-seed
  # root_dir var: </your/path/here/>  # Root downloads directory used to check for orphaned files, noHL, and RecycleBin.
  # <OPTIONAL> remote_dir var: </your/path/here/>  # Path of docker host mapping of root_dir.
  # remote_dir must be set if you're running qbit_manage locally and qBittorrent/cross_seed is in a docker
  # remote_dir should not be set if qbit_manage is running in a container
  # <OPTIONAL> recycle_bin var: </your/path/here/>   # Path of the RecycleBin folder. Default location is set to remote_dir/.RecycleBin
  # <OPTIONAL> torrents_dir var: </your/path/here/>  # Path of the your qbittorrent torrents directory. Required for `save_torrents` attribute in recyclebin
  # <OPTIONAL> orphaned_dir var: </your/path/here/>  # Path of the the Orphaned Data folder. This is similar to RecycleBin, but only for orphaned data.
  # cross_seed: /your/path/here/
  root_dir: /mnt/torrents
  # remote_dir: /mnt/user/data/torrents/
  recycle_bin: /mnt/torrents/.RecycleBin
  # torrents_dir: /qbittorrent/data/BT_backup
  orphaned_dir: /mnt/torrents/orphaned_data
  remote_dir: /mnt/torrents/
  cross_seed:
  torrents_dir:
cat:
  # Category & Path Parameters
  # <Category Name> : <save_path>  # Path of your save directory.
  tv-sonarr: /mnt/torrents/tv
  radarr: /mnt/torrents/movies
  prowlarr: /mnt/torrents/prowlarr

# cat_change:
  # This moves all the torrents from one category to another category. This executes on --cat-update
  # WARNING: if the paths are different and Default Torrent Management Mode is set to automatic the files could be moved !!!
  # <Old Category Name> : <New Category>
  # Radarr-HD.cross-seed: movies-hd
  # Radarr-UHD.cross-seed: movies-uhd
  # movies-hd.cross-seed: movies-hd
  # movies-uhd.cross-seed: movies-uhd
  cross-seed: /mnt/torrents/cross-seed/
  qbittorrent: /mnt/temporary/qbittorrent/ #ADDED BY QBIT-MANAGE
tracker:
  # Mandatory
  # Tag Parameters
  # <Tracker URL Keyword>:    # <MANDATORY> This is the keyword in the tracker url. You can define multiple tracker urls by splitting with `|` delimiter
  # <MANDATORY> Set tag name. Can be a list of tags or a single tag
  #   tag: <Tag Name>
  # <OPTIONAL> Set the category based on tracker URL. This category option takes priority over the category defined by save directory
  #   cat: <Category Name>
  # <OPTIONAL> Set this to the notifiarr react name. This is used to add indexer reactions to the notifications sent by Notifiarr
  #   notifiarr: <notifiarr indexer>
  opsfet.ch:
    tag: Orpheus

share_limits:
  # Control how torrent share limits are set depending on the priority of your grouping
  # Each torrent will be matched with the share limit group with the highest priority that meets the group filter criteria.
  # Each torrent can only be matched with one share limit group
  # This variable is mandatory and is a text defining the name of your grouping. This can be any string you want
  cross-seed:
    priority: 1
    categories:
    - cross-seed
    - cross-seed.cross-seed
    - radarr.cross-seed
    - tv-sonarr.cross-seed
    include_any_tags:
    - cross-seed
    cleanup: true
    max_seeding_time: 42300
    resume_torrent_after_change: true
  apps:
    categories:
    - radarr
    - tv-sonarr
    cleanup: false
    max_seeding_time: 42300
    resume_torrent_after_change: true
    priority: 2

recyclebin:
  # Recycle Bin method of deletion will move files into the recycle bin (Located in /root_dir/.RecycleBin) instead of directly deleting them in qbit
  # By default the Recycle Bin will be emptied on every run of the qbit_manage script if empty_after_x_days is defined.
  enabled: true
  # <OPTIONAL> empty_after_x_days var:
  # Will automatically remove all files and folders in recycle bin after x days. (Checks every script run)
  # If this variable is not defined it, the RecycleBin will never be emptied.
  # WARNING: Setting this variable to 0 will delete all files immediately upon script run!
  empty_after_x_days: 2
  # <OPTIONAL> save_torrents var:
  # If this option is set to true you MUST fill out the torrents_dir in the directory attribute.
  # This will save a copy of your .torrent and .fastresume file in the recycle bin before deleting it from qbittorrent
  save_torrents: false
  # <OPTIONAL> split_by_category var:
  # This will split the recycle bin folder by the save path defined in the `cat` attribute
  # and add the base folder name of the recycle bin that was defined in the `recycle_bin` sub-attribute under directory.
  split_by_category: false

orphaned:
  # Orphaned files are those in the root_dir download directory that are not referenced by any active torrents.
  # Will automatically remove all files and folders in orphaned data after x days. (Checks every script run)
  # If this variable is not defined it, the orphaned data will never be emptied.
  # WARNING: Setting this variable to 0 will delete all files immediately upon script run!
  empty_after_x_days: 2
  # File patterns that will not be considered orphaned files. Handy for generated files that aren't part of the torrent but belong with the torrent's files
  exclude_patterns:
  - '**/.DS_Store'
  - '**/Thumbs.db'
  - '**/@eaDir'
  - /data/torrents/temp/**
  - '**/*.!qB'
  - '**/*_unpackerred'
  - /mnt/torrents/encode/**

# apprise:
  # Apprise integration with webhooks
  # Leave Empty/Blank to disable
  # Mandatory to fill out the url of your apprise API endpoint
  # api_url: http://apprise-api:8000
  # Mandatory to fill out the notification url/urls based on the notification services provided by apprise. https://github.com/caronc/apprise/wiki
  # notify_url:

# notifiarr:
  # Notifiarr integration with webhooks
  # Leave Empty/Blank to disable
  # Mandatory to fill out API Key
  # apikey: ####################################
  # <OPTIONAL> Set to a unique value (could be your username on notifiarr for example)
  # instance:

# bhd:
  # BHD Integration used for checking unregistered torrents
  # apikey:
webhooks:
  error:
  run_start:
  run_end:
  function:
    cross_seed:
    recheck:
    cat_update:
    tag_update:
    rem_unregistered:
    tag_tracker_error:
    rem_orphaned:
    tag_nohardlinks:
    share_limits:
    cleanup_dirs:

Logs

https://gist.github.com/Ap0ph1s-W4ite/824a8e8b00bd0f6fad2d0c7da3decbf0

Screenshots

No response

Installation

Docker

Version Number

4.1.5

What branch are you on?

master

bobokun commented 1 month ago

ignoreTags_OnUpdate option is deprecated and no longer used as of 4.1.3 . If you want to ignore the category you can change the entry to Uncategorized: /mnt/temporary/qbittorrent/