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
743 stars 45 forks source link

[Bug]: Categories Update Issue with Version 4.1.6 #583

Closed inkysparrow closed 3 months ago

inkysparrow commented 3 months ago

Describe the Bug

After updating to version 4.1.6, I noticed that many categories were incorrectly updated to radarr. Specifically:

A large number of categories, which have nothing to do with Radarr, were updated to the radarr category.

  1. New categories were also created, named after some of the torrent files.
  2. I have been running this for months with this config. It's only after the 4.1.6 (from 4.1.5) that this issue occurred.

Please, let me know if I can provide any more info or help at all :)

Config

qbt:
  # qBittorrent parameters
  host: localhost
  user: admin
  pass: adminadmin

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 # Will set the tag of any torrents with no hardlinks.
  share_limits_tag: ~share_limit # Will add this tag when applying share limits to provide an easy way to filter torrents by share limit group/priority for each torrent
  ignoreTags_OnUpdate: # When running tag-update function, it will update torrent tags for a given torrent even if the torrent has at least one or more of the tags defined here. Otherwise torrents will not be tagged if tags exist.
  - noHL
  - issue
  - cross-seed
  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

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.
  # Must be set if you're running qbit_manage locally and qBittorrent/cross_seed is in a docker
  # <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: /data/cross-seed
  root_dir: /data/torrents/
  remote_dir: /data/torrents/
  recycle_bin: /data/torrents/.RecycleBin
  torrents_dir: /qbittorrent/data/BT_backup
  orphaned_dir: /data/torrents/orphaned_data

cat:
  # Category & Path Parameters
  # <Category Name> : <save_path>  # Path of your save directory.
  radarr: /data/torrents
  sonarr: /data/torrents
  movies: /data/torrents
  tv: /data/torrents
  torrents: /data/torrents

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.cross-seed: movies
  sonarr.cross-seed: tv
  movies.cross-seed: movies
  tv.cross-seed: tv

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 this to the notifiarr react name. This is used to add indexer reactions to the notifications sent by Notifiarr
  #   notifiarr: <notifiarr indexer>
  aither:
    tag: Aither
  blutopia:
    tag: Blutopia
  cathode-ray.tube:
    tag: CRT
  cinemaz:
    tag: CinemaZ
  empirehost:
    tag: IPT
  filelist.io|firo.org:
    tag: FileList
  ianon:
    tag: iAnon
  lst:
    tag: LST
  myanonamouse:
    tag: MaM
  opsfet:
    tag: Orpheus
  racing4everyone:
    tag: R4E
  secret-cinema:
    tag: SecretCinema
  torrentleech|tleechreload:
    tag: TorrentLeech
  tvchaosuk:
    tag: TVChaosUK
  zamunda|arenabg:
    tag: Zamunda
  # The "other" key is a special keyword and if defined will tag any other trackers that don't match the above trackers into this tag
  other:
    tag: other

nohardlinks:
  # Tag Movies/Series that are not hard linked outside the root directory
  # Mandatory to fill out directory parameter above to use this function (root_dir/remote_dir)
  # This variable should be set to your category name of your completed movies/completed series in qbit. Acceptable variable can be any category you would like to tag if there are no hardlinks found
- movies
- tv
- torrents:
      # <OPTIONAL> exclude_tags var: Will exclude torrents with any of the following tags when searching through the category.
    exclude_tags:
    - MaM
    - 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
  noHL:
    priority: 1
    include_all_tags:
    - noHL
    exclude_any_tags:
    - MaM
    - Orpheus
    max_seeding_time: 90d
    min_num_seeds: 3
    cleanup: false
  default:
    priority: 999
    max_ratio: -1
    max_seeding_time: -1
    cleanup: false

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: 30
  # <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: true
  # <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: 30
  # 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/**'
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://pastebin.com/8PxexkeG

Screenshots

No response

Installation

Docker

Version Number

4.1.6

What branch are you on?

master

inkysparrow commented 3 months ago

I see a new cat_update_all flag was added. Would setting that to false potentially resolve this?

bakerboy448 commented 3 months ago

This is not a bug and is a configuration issue. Believe discussed on discord.