X-Git-Url: https://git.rmz.io/dotfiles.git/blobdiff_plain/1460b76c17a112669c6db64a4bf874e74e61f174..7dd48bb77afddcd296bc0a77d01cf159e247ef3b:/flexget/config.yml diff --git a/flexget/config.yml b/flexget/config.yml index 60436d2..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,26 +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://newztown.co.za/rss?t=2040&dl=1&num=100{{secrets.newztown.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://newztown.co.za/rss?t=5030,5040&dl=1&num=100{{secrets.newztown.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 @@ -69,7 +74,7 @@ templates: # {{{1 - \[facepalm\]: {from: title} - \bASAP\b: {from: title} - \b Go\): {from: title} # filter those misplaced french only movies - - \bMeGusta\b: {from: title} # badly encoded x265 + - \b(HEVC|[xXhH]265)\b: {from: title} # don't get x265/HEVC series: # {{{2 @@ -80,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 @@ -107,13 +115,15 @@ 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 @@ -121,26 +131,36 @@ templates: # {{{1 - 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: '{{secrets.trakt.username}}' - account: '{{secrets.trakt.account}}' + username: '{?trakt.username?}' + account: '{?trakt.account?}' list: followlist type: shows settings: *default_settings @@ -150,26 +170,26 @@ templates: # {{{1 configure_series: from: trakt_list: - username: '{{secrets.trakt.username}}' - account: '{{secrets.trakt.account}}' + 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: - - trakt_list: - username: '{{secrets.trakt.username}}' - account: '{{secrets.trakt.account}}' + - next_trakt_episodes: + username: '{?trakt.username?}' + account: '{?trakt.account?}' list: backfill - type: episodes - - emit_series: - from_start: yes + 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 @@ -180,17 +200,18 @@ templates: # {{{1 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 @@ -209,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.username}}' - account: '{{secrets.trakt.account}}' - 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 @@ -251,33 +361,33 @@ tasks: # {{{1 # digest: backfill - dl-movies-trakt: # {{{2 - priority: 10 - trakt_list: - username: '{{secrets.trakt.username}}' - account: '{{secrets.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: '{{secrets.trakt.username}}' - account: '{{secrets.trakt.account}}' - list: watchlist - type: movies - fields: [imdb_id] - action: reject - accept_all: yes - movie_queue: remove + # 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 @@ -348,108 +458,66 @@ tasks: # {{{1 - usenet-movies - move-series: # {{{2 + move-series-usenet: # {{{2 manual: yes template: - - trakt-add-collection - seen: local - disable: - - retry_failed - - nzb_size - no_entries_ok: yes - + - move-series filesystem: path: - - /mnt/Skaro/usenet/done - - /mnt/Skaro/torrents/done + - /srv/usenet/done recursive: yes retrieve: files - regexp: '.*\.(avi|mkv|mp4|mpg|divx|webm)$' + 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_episode - - 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 - - # log: "<<<{{folder}}/{{filename}}>>>" - exec: - - echo "<<<{{folder}}/{{filename}}>>>" - - touch "{{destination}}/{{folder}}/{{filename}}{{location|pathext}}" - 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 - - nzb_size - no_entries_ok: yes - + - 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}}>>>" - - touch "{{destination}}/{{filename}}{{location|pathext}}" - 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 @@ -458,7 +526,7 @@ tasks: # {{{1 template: - email no_entries_ok: yes - emit_digest: + from_digest: list: backfill seen: local accept_all: yes @@ -470,11 +538,12 @@ tasks: # {{{1 filesystem: path: - - '/mnt/Skaro/Series' + - '/mnt/series' recursive: yes retrieve: files regexp: '.*\.(avi|mkv|mp4|webm|m4v)$' + #TODO use guessit like in move-series manipulate: - title: from: location @@ -508,11 +577,12 @@ tasks: # {{{1 filesystem: path: - - '/mnt/Skaro/Series' + - '/mnt/series' recursive: yes retrieve: files regexp: '.*\.(avi|mkv|mp4|webm|m4v)$' + #TODO use guessit like in move-series manipulate: - title: from: location @@ -544,7 +614,7 @@ tasks: # {{{1 - trakt-add-collection filesystem: path: - - '/mnt/Skaro/Movies' + - '/mnt/movies' recursive: yes retrieve: files regexp: '.*\.(avi|mkv|mp4|webm|m4v)$'