X-Git-Url: https://git.rmz.io/dotfiles.git/blobdiff_plain/c8b926917cbdbce38644505a86d53174acc3a79e..7dd48bb77afddcd296bc0a77d01cf159e247ef3b:/flexget/config.yml diff --git a/flexget/config.yml b/flexget/config.yml index baaa975..f0a55d6 100644 --- a/flexget/config.yml +++ b/flexget/config.yml @@ -1,11 +1,16 @@ -secrets: private.yml +variables: private.yml +web_server: + port: 8081 templates: # {{{1 email: # {{{2 - email: - from: flexget@tardis - to: ramsi@localhost + notify: + task: + via: + - email: + from: flexget@tardis + to: ramsi@localhost torrents: # {{{2 @@ -21,24 +26,26 @@ templates: # {{{1 transmission: host: localhost port: 9091 - path: /mnt/Skaro/torrents/done + path: /srv/torrents/done ratio: 0.0 usenet: # {{{2 sabnzbd: - key: '{{secrets.sabnzbd.key}}' - url: '{{secrets.sabnzbd.url}}' + key: '{?sabnzbd.key?}' + url: '{?sabnzbd.url?}' usenet-movies: # {{{2 inputs: - - rss: { url: 'https://www.usenet-crawler.com/rss?t=2040&dl=1&num=100{{secrets.crawler.api}}', silent: yes } # Movies HD + - rss: { url: 'https://api.drunkenslug.com/rss?t=2040&dl=1&num=100{?drunkenslug.api?}', silent: yes } # Movies HD + - rss: { url: 'https://www.usenet-crawler.com/rss?t=2040&dl=1&num=100{?crawler.api?}', silent: yes } # Movies HD usenet-tv: # {{{2 inputs: - - rss: { url: 'https://www.usenet-crawler.com/rss?t=5030,5040&dl=1&num=100{{secrets.crawler.api}}', silent: yes } # TV SD/HD + - rss: { url: 'https://api.drunkenslug.com/rss?t=5030,5040&dl=1&num=100{?drunkenslug.api?}', silent: yes } # Movies HD + - rss: { url: 'https://www.usenet-crawler.com/rss?t=5030,5040&dl=1&num=100{?crawler.api?}', silent: yes } # TV SD/HD filters: # {{{2 @@ -67,6 +74,7 @@ templates: # {{{1 - \[facepalm\]: {from: title} - \bASAP\b: {from: title} - \b Go\): {from: title} # filter those misplaced french only movies + - \b(HEVC|[xXhH]265)\b: {from: title} # don't get x265/HEVC series: # {{{2 @@ -77,25 +85,28 @@ templates: # {{{1 default: &default_settings identified_by: ep timeframe: 12 hours - target: 1080p webdl h264+ - quality: 480p+ h264+ + target: 1080p webdl h264 dts + quality: 720p+ h264+ upgrade: yes exists_series: path: - - '/mnt/Skaro/Series/{{tvdb_series_name}}' + - '/mnt/series/{{tvdb_series_name}}' allow_different_qualities: better content_size: - min: 100 - max: 6000 + min: 100 + max: 10000 strict: yes series-list: # {{{2 series: default: - 8 out of 10 cats + - always sunny in philadelphia - american dad - archer 2009 + - arrested development - better call saul + - black mirror - boardwalk empire - breaking bad - broadchurch @@ -104,38 +115,52 @@ templates: # {{{1 - community - danger 5: { quality: 720p+ } - dexter + - dirk gently's holistic detective agency - doctor who 2005 - downton abbey - eureka - family guy + - fargo - foyle's war - futurama - - game of thrones + - game of thrones: { timeframe: 9 hours, quality: dd5.1+ } - homeland - house of cards 2013: { alternate_name: house of cards us } - how i met your mother - - last week tonight with john oliver + - last week tonight with john oliver: { timeframe: 10 hours } - masters of sex - my little pony - mythbusters + - narcos - qi: { special_ids: 'uncut' } - ray donovan - red dwarf + - rick and morty - sherlock - suits - the big bang theory - the blacklist + - the blacklist redemption + - the boys - the cleveland show + - the crown + - the expanse + - the man in the high castle + - the mandalorian + - the umbrella academy - the walking dead - - two and a half men - the wire: { quality: 720p+ } + - two and a half men + - vinyl + - westworld: { timeframe: 9 hours, quality: dd5.1+ } series-trakt: # {{{2 configure_series: from: trakt_list: - username: Ram-Z + username: '{?trakt.username?}' + account: '{?trakt.account?}' list: followlist type: shows settings: *default_settings @@ -145,39 +170,48 @@ templates: # {{{1 configure_series: from: trakt_list: - username: Ram-Z + username: '{?trakt.username?}' + account: '{?trakt.account?}' list: backfill - type: episodes + type: shows settings: # *default_settings identified_by: ep quality: 720p+ h264+ + tracking: backfill discover: interval: 1 hours what: - - emit_series: - from_start: yes + - next_trakt_episodes: + username: '{?trakt.username?}' + account: '{?trakt.account?}' + list: backfill + context: collected + position: next from: - newznab: - url: 'https://www.usenet-crawler.com/api?apikey={{secrets.crawler.apikey}}&t=tvsearch&cat=5030,5040&extended=1' + url: 'https://api.drunkenslug.com/api?apikey={?drunkenslug.apikey?}&t=tvsearch&cat=5030,5040&extended=1' category: tv + all_series: yes movies: # {{{2 set: category: 'movies' + priority: '-2' exists_movie: path: - - '/mnt/Skaro/Movies' + - '/mnt/movies' allow_different_qualities: better type: files lookup: imdb movies-imdb: # {{{2 + imdb_lookup: yes + require_field: imdb_url imdb: min_score: 7.5 min_votes: 30000 - imdb_required: on movies-1080p: # {{{2 @@ -196,23 +230,112 @@ templates: # {{{1 max: 10000 strict: yes - movies-discover-queue: # {{{2 - movie_queue: accept - discover: - what: - - emit_movie_queue: yes - from: - - newznab: - url: 'https://www.usenet-crawler.com/api?apikey={{secrets.crawler.apikey}}&t=movie&extended=1&cat=2040' - category: movie - interval: 7 days # search each entry only once a week + # movies-discover-queue: # {{{2 + # movie_queue: accept + # discover: + # what: + # - emit_movie_queue: yes + # from: + # - newznab: + # url: 'https://www.usenet-crawler.com/api?apikey={?crawler.apikey?}&t=movie&extended=1&cat=2040' + # category: movie + # interval: 7 days # search each entry only once a week trakt-add-collection: # {{{2 - trakt_add: - username: '{{secrets.trakt.login}}' - password: '{{secrets.trakt.passw}}' - list: collection + list_add: + - trakt_list: + username: '{?trakt.username?}' + account: '{?trakt.account?}' + list: collection + + + move-series: # {{{2 + manual: yes + template: + - trakt-add-collection + disable: + - retry_failed + - seen + - seen_info_hash + no_entries_ok: yes + + regexp: + reject: + - '[Ss]ample' + + # guessit can extract info from full paths which may contain more info + # manipulate: + # - title: + # from: location + + parsing: + series: guessit + + all_series: + parse_only: yes + accept_all: yes + thetvdb_lookup: yes + require_field: + - tvdb_season + - tvdb_episode + + set: + destination: '/mnt/series' + folder: "{{tvdb_series_name}}/{% if tvdb_season == 0 %}Specials{% else %}Season {{tvdb_season}}{% endif %}" + filename: "{{tvdb_season}}x{{tvdb_episode|pad(2)}} {{tvdb_ep_name|replace('/','-')}} ({{tvdb_ep_air_date|formatdate('%Y')}}){{'{'}}{{quality|replace(' ','}{')}}{{'}'}}[{{tvdb_language}}]" + move: + to: "/mnt/series/{{folder}}" + rename: "{{filename}}" + clean_source: 100 # removes dir if < [N] MB + + # log: "<<<{{folder}}/{{filename}}>>>" + exec: + - echo "<<<{{folder}}/{{filename}}>>>" + - touch "{{destination}}/{{folder}}/{{filename}}{{location|pathext}}" + digest: move-tasks + + + move-movies: # {{{2 + manual: yes + template: + - trakt-add-collection + disable: + - retry_failed + - seen + - seen_info_hash + no_entries_ok: yes + + regexp: + reject: + - '[Ss]ample' + + # guessit can extract info from full paths which may contain more info + # manipulate: + # - title: + # from: location + + parsing: + movie: guessit + + imdb_lookup: yes + accept_all: yes + require_field: + - imdb_name + - imdb_year + + set: + destination: '/mnt/movies' + filename: "{{imdb_name}} ({{imdb_year}}){{'{'}}{{quality|replace(' ','}{')}}{{'}'}}[en]" + move: + to: "/mnt/movies" + rename: "{{filename}}" + clean_source: 100 # removes dir if < [N] MB + + exec: + - echo "<<<{{filename}}>>>" + - touch "{{destination}}/{{filename}}{{location|pathext}}" + digest: move-tasks tasks: # {{{1 @@ -228,24 +351,43 @@ tasks: # {{{1 - usenet-tv - dl-series-trakt-backfill: # {{{2 - priority: 110 - template: - - series - - series-trakt-backfill - - filters - - usenet - digest: backfill - - - dl-movies-trakt: # {{{2 - priority: 10 - trakt_list: - username: Ram-Z - list: watchlist - type: movies - accept_all: yes - movie_queue: add + # dl-series-trakt-backfill: # {{{2 + # priority: 110 + # template: + # - series + # - series-trakt-backfill + # - filters + # - usenet + # digest: backfill + + + # dl-movies-trakt: # {{{2 + # priority: 10 + # trakt_list: + # username: '{?trakt.username?}' + # account: '{?trakt.account?}' + # list: watchlist + # type: movies + # accept_all: yes + # movie_queue: add + + + # dl-movies-trakt-remove: # {{{2 + # priority: 20 + # disable: + # - seen + # emit_movie_queue: yes + # crossmatch: + # from: + # - trakt_list: + # username: '{?trakt.username?}' + # account: '{?trakt.account?}' + # list: watchlist + # type: movies + # fields: [imdb_id] + # action: reject + # accept_all: yes + # movie_queue: remove dl-movies-discover-queue-1080p: # {{{2 @@ -316,100 +458,66 @@ tasks: # {{{1 - usenet-movies - move-series: # {{{2 + move-series-usenet: # {{{2 manual: yes template: - - trakt-add-collection - seen: local - disable: - - retry_failed - no_entries_ok: yes - - find: + - move-series + filesystem: path: - - /mnt/Skaro/usenet/done - - /mnt/Skaro/torrents/done + - /srv/usenet/done recursive: yes - regexp: '.*\.(avi|mkv|mp4|mpg|divx|webm)$' + retrieve: files + regexp: '.*\.(avi|mkv|mp4|mpg|divx|webm|flv)$' - regexp: - reject: - - '[Ss]ample' - - thetvdb_lookup: yes - all_series: - parse_only: yes - accept_all: yes - require_field: tvdb_series_name - - set: - destination: '/mnt/Skaro/Series' - folder: "{{tvdb_series_name}}/{% if tvdb_season == 0 %}Specials{% else %}Season {{tvdb_season}}{% endif %}" - filename: "{{tvdb_season}}x{{tvdb_episode|pad(2)}} {{tvdb_ep_name|replace('/','-')}} ({{tvdb_ep_air_date|formatdate('%Y')}}){{'{'}}{{quality|replace(' ','}{')}}{{'}'}}[en]" - move: - to: "/mnt/Skaro/Series/{{folder}}" - filename: "{{filename}}" - clean_source: 100 # removes dir if < [N] MB - exec: echo "<<<{{folder}}/{{filename}}>>>" - digest: move-tasks + move-series-torrents: # {{{2 + manual: yes + template: + - move-series + filesystem: + path: + - /srv/torrents/done + recursive: yes + retrieve: files + regexp: '.*\.(avi|mkv|mp4|mpg|divx|webm|flv)$' - move-movies: # {{{2 + move-movies-usenet: # {{{2 manual: yes template: - - trakt-add-collection - seen: local - disable: - - retry_failed - no_entries_ok: yes - - find: + - move-movies + filesystem: path: - - /mnt/Skaro/usenet/done - - /mnt/Skaro/torrents/done + - /srv/usenet/done recursive: yes regexp: '.*\.(mkv|avi|mp4)$' - regexp: - reject: - - '[Ss]ample' - - imdb_lookup: yes - if: - - movie_name is None: - manipulate: - - title: - extract: '([^/]*)/[^/]*$' - from: location - imdb_lookup: yes - accept_all: yes - require_field: imdb_name - - set: - destination: '/mnt/Skaro/Movies' - filename: "{{imdb_name}} ({{imdb_year}}){{'{'}}{{quality|replace(' ','}{')}}{{'}'}}[en]" - move: - to: "/mnt/Skaro/Movies" - filename: "{{filename}}" - clean_source: 100 # removes dir if < [N] MB - - exec: echo "<<<{{filename}}>>>" - digest: move-tasks + move-movies-torrents: # {{{2 + manual: yes + template: + - move-movies + filesystem: + path: + - /srv/torrents/done + recursive: yes + regexp: '.*\.(mkv|avi|mp4)$' daily-mail: # {{{2 manual: yes no_entries_ok: yes - emit_digest: + from_digest: list: move-tasks seen: local accept_all: yes - email: - from: flexget@tardis - to: ramsi@localhost - template: move + notify: + task: + template: move + via: + - email: + from: flexget@tardis + to: ramsi@localhost backfill-mail: # {{{2 @@ -418,30 +526,68 @@ tasks: # {{{1 template: - email no_entries_ok: yes - emit_digest: + from_digest: list: backfill seen: local accept_all: yes + seed-series-db: # {{{2 + manual: yes + seen: local + + filesystem: + path: + - '/mnt/series' + recursive: yes + retrieve: files + regexp: '.*\.(avi|mkv|mp4|webm|m4v)$' + + #TODO use guessit like in move-series + manipulate: + - title: + from: location + replace: + regexp: '.*/([^/]+)/[^/]+/(\d+)(?:x(\d+))+([^/]*)\.[^.]+$' + format: '\1 S\2E\3\4' + - title: + replace: + regexp: '\[.*\]' + format: '' + - title: + replace: + regexp: '[\(\)\{\}]' + format: ' ' + + metainfo_series: yes + thetvdb_lookup: yes + all_series: + tracking: no + assume_quality: 480p + accept_all: yes + require_field: + - tvdb_id + + seed-trakt-series: # {{{2 manual: yes seen: local template: - - seed-search - trakt-add-collection - find: + filesystem: path: - - '/mnt/Skaro/Series' - regexp: '.*\.(avi|mkv|mp4|webm|m4v)$' + - '/mnt/series' recursive: yes + retrieve: files + regexp: '.*\.(avi|mkv|mp4|webm|m4v)$' + #TODO use guessit like in move-series manipulate: - title: from: location replace: - regexp: '.*/([^/]+)/[^/]+/(\d+)x(\d+)([^/]*)\.[^.]+$' + regexp: '.*/([^/]+)/[^/]+/(\d+)(?:x(\d+))+([^/]*)\.[^.]+$' format: '\1 S\2E\3\4' - title: replace: @@ -466,12 +612,12 @@ tasks: # {{{1 seen: local template: - trakt-add-collection - seen: local - find: + filesystem: path: - - '/mnt/Skaro/Movies' - regexp: '.*\.(avi|mkv|mp4|webm|m4v)$' + - '/mnt/movies' recursive: yes + retrieve: files + regexp: '.*\.(avi|mkv|mp4|webm|m4v)$' imdb_lookup: yes accept_all: yes require_field: