X-Git-Url: https://git.rmz.io/dotfiles.git/blobdiff_plain/b4320af199cb2d8595c328290770f216a0524f62..7dd48bb77afddcd296bc0a77d01cf159e247ef3b:/flexget/config.yml diff --git a/flexget/config.yml b/flexget/config.yml index 7d3229e..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,27 +26,26 @@ templates: # {{{1 transmission: host: localhost port: 9091 - path: /mnt/Skaro/torrents/done + path: /srv/torrents/done ratio: 0.0 - usenet-movies: # {{{2 + usenet: # {{{2 sabnzbd: - key: '{{secrets.sabnzbd.key}}' - url: '{{secrets.sabnzbd.url}}' - category: 'movies' + 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 - sabnzbd: - key: '{{secrets.sabnzbd.key}}' - url: '{{secrets.sabnzbd.url}}' - category: 'tv' inputs: - - rss: { url: 'https://www.usenet-crawler.com/rss?t=5030&dl=1&num=100{{secrets.crawler.api}}', silent: yes } # TV SD - - rss: { url: 'https://www.usenet-crawler.com/rss?t=5040&dl=1&num=100{{secrets.crawler.api}}', silent: yes } # TV 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 @@ -70,14 +74,39 @@ 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 - tv: # {{{2 + series: # {{{2 + set: + category: 'series' series: - normal: + settings: + default: &default_settings + identified_by: ep + timeframe: 12 hours + target: 1080p webdl h264 dts + quality: 720p+ h264+ + upgrade: yes + exists_series: + path: + - '/mnt/series/{{tvdb_series_name}}' + allow_different_qualities: better + content_size: + 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 @@ -86,185 +115,479 @@ 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 - - master of sex + - last week tonight with john oliver: { timeframe: 10 hours } + - masters of sex - my little pony - mythbusters - - qi (xl) + - 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: '{?trakt.username?}' + account: '{?trakt.account?}' + list: followlist + type: shows + settings: *default_settings + + + series-trakt-backfill: # {{{2 + configure_series: + from: + trakt_list: + username: '{?trakt.username?}' + account: '{?trakt.account?}' + list: backfill + type: shows + settings: # *default_settings + identified_by: ep + quality: 720p+ h264+ + tracking: backfill + discover: + interval: 1 hours + what: + - next_trakt_episodes: + username: '{?trakt.username?}' + account: '{?trakt.account?}' + list: backfill + context: collected + position: next + from: + - newznab: + url: 'https://api.drunkenslug.com/api?apikey={?drunkenslug.apikey?}&t=tvsearch&cat=5030,5040&extended=1' + category: tv + all_series: yes movies: # {{{2 - imdb: - min_score: 7.5 - min_votes: 30000 - imdb_required: on - my_exists_movie: + set: + category: 'movies' + priority: '-2' + exists_movie: path: - - '/mnt/Skaro/Movies' + - '/mnt/movies' allow_different_qualities: better type: files + lookup: imdb -tasks: # {{{1 - dl-tv: # {{{2 - priority: 1 - template: - - email - - tv - - filters - - usenet-tv - series: - settings: - normal: - timeframe: 12 hours - target: 1080p webdl - quality: 480p+ - upgrade: yes - exists_series: - path: '/mnt/Skaro/Series/{{tvdb_series_name}}' - allow_different_qualities: better - content_size: - min: 100 - max: 6000 - strict: yes + movies-imdb: # {{{2 + imdb_lookup: yes + require_field: imdb_url + imdb: + min_score: 7.5 + min_votes: 30000 - dl-movies-1080p: # {{{2 - priority: 1 - template: - - email - - movies - - filters - - usenet-movies - quality: 1080p webdl+ + movies-1080p: # {{{2 + quality: 1080p bluray+ h264+ content_size: min: 3000 max: 15000 strict: yes - dl-movies-720p: # {{{2 - priority: 2 - template: - - email - - movies - - filters - - usenet-movies - quality: 720p hdrip+ - delay: 7 days + movies-720p: # {{{2 + quality: 720p+ webdl+ h264+ + delay: 14 days content_size: min: 1000 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={?crawler.apikey?}&t=movie&extended=1&cat=2040' + # category: movie + # interval: 7 days # search each entry only once a week - move-tv: # {{{2 - priority: 2 - seen: local - disable_builtins: [retry_failed] - no_entries_ok: yes + trakt-add-collection: # {{{2 + list_add: + - trakt_list: + username: '{?trakt.username?}' + account: '{?trakt.account?}' + list: collection - find: - path: - - /mnt/Skaro/usenet/done - - /mnt/Skaro/torrents/done - recursive: yes - regexp: '.*\.(avi|mkv|mp4|mpg|divx|webm)$' + + move-series: # {{{2 + manual: yes + template: + - trakt-add-collection + disable: + - retry_failed + - seen + - seen_info_hash + no_entries_ok: yes regexp: reject: - '[Ss]ample' - thetvdb_lookup: yes + # 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/Skaro/Series' + 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(' ','}{')}}{{'}'}}[en]" + 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/Skaro/Series/{{folder}}" - filename: "{{filename}}" + to: "/mnt/series/{{folder}}" + rename: "{{filename}}" clean_source: 100 # removes dir if < [N] MB - exec: echo "<<<{{folder}}/{{filename}}>>>" - email: - from: flexget@tardis - to: ramsi@localhost - template: move + # log: "<<<{{folder}}/{{filename}}>>>" + exec: + - echo "<<<{{folder}}/{{filename}}>>>" + - touch "{{destination}}/{{folder}}/{{filename}}{{location|pathext}}" + digest: move-tasks move-movies: # {{{2 - priority: 3 - - seen: local - disable_builtins: [retry_failed] + manual: yes + template: + - trakt-add-collection + disable: + - retry_failed + - seen + - seen_info_hash no_entries_ok: yes - find: - path: - - /mnt/Skaro/usenet/done - - /mnt/Skaro/torrents/done - recursive: yes - regexp: '.*\.(mkv|avi|mp4)$' - 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/Skaro/Movies' + destination: '/mnt/movies' filename: "{{imdb_name}} ({{imdb_year}}){{'{'}}{{quality|replace(' ','}{')}}{{'}'}}[en]" move: - to: "/mnt/Skaro/Movies" - filename: "{{filename}}" + to: "/mnt/movies" + rename: "{{filename}}" clean_source: 100 # removes dir if < [N] MB - exec: echo "<<<{{filename}}>>>" - email: - from: flexget@tardis - to: ramsi@localhost - template: move + exec: + - echo "<<<{{filename}}>>>" + - touch "{{destination}}/{{filename}}{{location|pathext}}" + digest: move-tasks + + +tasks: # {{{1 + dl-series: # {{{2 + priority: 100 + template: + - email + - series + - series-list + - series-trakt + - filters + - usenet + - 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: '{?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 + priority: 100 + template: + - email + - movies + - movies-discover-queue + - movies-1080p + - filters + - usenet + + + dl-movies-discover-queue-720p: # {{{2 + priority: 110 + template: + - email + - movies + - movies-discover-queue + - movies-720p + - filters + - usenet + + + dl-movies-queue-1080p: # {{{2 + priority: 100 + template: + - email + - movies + - movies-1080p + - filters + - usenet + - usenet-movies + + + dl-movies-queue-720p: # {{{2 + priority: 110 + template: + - email + - movies + - movies-720p + - filters + - usenet + - usenet-movies + + + dl-movies-imdb-1080p: # {{{2 + priority: 120 + template: + - email + - movies + - movies-imdb + - movies-1080p + - filters + - usenet + - usenet-movies + + + dl-movies-imdb-720p: # {{{2 + priority: 130 + template: + - email + - movies + - movies-imdb + - movies-720p + - filters + - usenet + - usenet-movies + + + move-series-usenet: # {{{2 + manual: yes + template: + - move-series + filesystem: + path: + - /srv/usenet/done + recursive: yes + retrieve: files + regexp: '.*\.(avi|mkv|mp4|mpg|divx|webm|flv)$' + + + 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-usenet: # {{{2 + manual: yes + template: + - move-movies + filesystem: + path: + - /srv/usenet/done + recursive: yes + regexp: '.*\.(mkv|avi|mp4)$' + + + 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 + from_digest: + list: move-tasks + seen: local + accept_all: yes + notify: + task: + template: move + via: + - email: + from: flexget@tardis + to: ramsi@localhost + + + backfill-mail: # {{{2 + priority: 500 + manual: yes + template: + - email + no_entries_ok: yes + 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)$' - seed-tv-db: # {{{2 + #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: + - trakt-add-collection - find: - path: '/mnt/Skaro/Series' - regexp: '.*\.(avi|mkv|mp4|webm)$' + 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+)([^/]*)\.[^.]+$' + regexp: '.*/([^/]+)/[^/]+/(\d+)(?:x(\d+))+([^/]*)\.[^.]+$' format: '\1 S\2E\3\4' - title: replace: @@ -275,17 +598,46 @@ tasks: # {{{1 regexp: '[\(\)\{\}]' format: ' ' + metainfo_series: yes + thetvdb_lookup: yes all_series: yes assume_quality: 480p + accept_all: yes + require_field: + - tvdb_id + + seed-trakt-movies: # {{{2 + manual: yes + seen: local + template: + - trakt-add-collection + filesystem: + path: + - '/mnt/movies' + recursive: yes + retrieve: files + regexp: '.*\.(avi|mkv|mp4|webm|m4v)$' + imdb_lookup: yes + accept_all: yes require_field: - - series_name + - imdb_id schedules: # {{{1 + - tasks: ['daily-mail'] + schedule: + hour: '17' + minute: '00' + - tasks: ['dl-*'] schedule: hour: '*' - minute: '00' + minute: '48' + + - tasks: ['backfill-mail'] + schedule: + hour: '*' + minute: '48' # vim: sts=2 ts=2 sw=2 et