X-Git-Url: https://git.rmz.io/dotfiles.git/blobdiff_plain/ca89775db49fd0376f920e77487e0485e98e787f..0038a5d6682b9facccbf188b65e1679f5de3b0f9:/flexget/config.yml diff --git a/flexget/config.yml b/flexget/config.yml index 40b5b26..f0a55d6 100644 --- a/flexget/config.yml +++ b/flexget/config.yml @@ -1,10 +1,18 @@ -secrets: private.yml +variables: private.yml -email: # {{{1 - from: flexget@tardis - to: ramsi@localhost +web_server: + port: 8081 templates: # {{{1 + email: # {{{2 + notify: + task: + via: + - email: + from: flexget@tardis + to: ramsi@localhost + + torrents: # {{{2 inputs: - rss: { url: 'https://ezrss.it/feed/', silent: yes } @@ -15,36 +23,30 @@ templates: # {{{1 # - rss: { url: 'http://www.torlock.com/television/rss.xml', silent: yes } # - rss: { url: 'http://torrentz.eu/feed_verified?q=tv', silent: yes } # - rss: { url: 'http://rss.thepiratebay.org/208', silent: yes } - 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_paused: # {{{2 - sabnzbd: - key: '{{secrets.sabnzbd.key}}' - url: '{{secrets.sabnzbd.url}}' - priority: -2 usenet-movies: # {{{2 - template: usenet - set: - category: 'to check' 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 - template: usenet 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 content_filter: @@ -72,164 +74,520 @@ 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 - burn notice - chuck - 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 + - the wire: { quality: 720p+ } - two and a half men - - the wire: - quality: 720p+ + - 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: 50000 - 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 - seen_movies: strict + lookup: imdb -tasks: # {{{1 - tv-shows: # {{{2 - series: - settings: - normal: - timeframe: 12 hours - target: 1080p webdl - quality: 480p+ - upgrade: yes - priority: 1 - template: - - tv - - filters - - usenet-tv - 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 + movies-1080p: # {{{2 - priority: 1 - template: - - movies - - filters - - usenet-movies - quality: 1080p webdl+ + quality: 1080p bluray+ h264+ content_size: min: 3000 max: 15000 strict: yes + movies-720p: # {{{2 - priority: 2 - template: - - movies - - filters - - usenet-movies - quality: 720p hdrip+ - delay: 7 days + quality: 720p+ webdl+ h264+ + delay: 14 days content_size: min: 1000 max: 10000 strict: yes - move-tv: # {{{2 - priority: 2 - thetvdb_lookup: yes - metainfo_series: yes - seen: local - disable_builtins: [retry_failed] - all_series: - parse_only: yes - accept_all: 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 + + + 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' + # 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/Skaro/Series/{{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]" + 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 - priority: 3 + 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 - seen: local - disable_builtins: [retry_failed] + 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 + 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 + - find: + 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: - - /mnt/Skaro/usenet/done - - /mnt/Skaro/torrents/done + - /srv/usenet/done recursive: yes regexp: '.*\.(mkv|avi|mp4)$' - move: - to: "/mnt/Skaro/Movies" - filename: "{{imdb_name}} ({{imdb_year}}){{'{'}}{{quality|replace(' ','}{')}}{{'}'}}[en]" - clean_source: 100 # removes dir if < [N] MB - seed-tv-db: # {{{2 + 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 - find: - path: '/mnt/Skaro/Series' - regexp: '.*\.(avi|mkv|mp4|webm)$' + 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: - - series_name + - tvdb_id + + + seed-trakt-series: # {{{2 + manual: yes + seen: local + template: + - trakt-add-collection + + 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: @@ -239,21 +597,47 @@ tasks: # {{{1 replace: regexp: '[\(\)\{\}]' format: ' ' + + metainfo_series: yes + thetvdb_lookup: yes all_series: yes assume_quality: 480p - # template: tv - # configure_series: - # from: - # listdir: - # - /mnt/Skaro/Series - # series: - # settings: - # normal: - # target: 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: + - imdb_id + schedules: # {{{1 - - tasks: '*' - interval: - hours: 1 + - tasks: ['daily-mail'] + schedule: + hour: '17' + minute: '00' + + - tasks: ['dl-*'] + schedule: + hour: '*' + minute: '48' + + - tasks: ['backfill-mail'] + schedule: + hour: '*' + minute: '48' # vim: sts=2 ts=2 sw=2 et