-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
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{{secrets.drunkenslug.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=2040&dl=1&num=100{{secrets.drunkenslug.api}}', silent: yes } # Movies 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
- \[facepalm\]: {from: title}
- \bASAP\b: {from: title}
- \b Go\): {from: title} # filter those misplaced french only movies
- - \b(HEVC|x265)\b: {from: title} # don't get x265/HEVC
+ - \b(HEVC|[xXhH]265)\b: {from: title} # don't get x265/HEVC
series: # {{{2
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/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
- 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: { timeframe: 9 hours }
+ - 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
- 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
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
- - next_series_episodes:
- 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
# - emit_movie_queue: yes
# from:
# - newznab:
- # url: 'https://www.usenet-crawler.com/api?apikey={{secrets.crawler.apikey}}&t=movie&extended=1&cat=2040'
+ # 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: '{{secrets.trakt.username}}'
- account: '{{secrets.trakt.account}}'
+ 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
dl-series: # {{{2
priority: 100
# dl-movies-trakt: # {{{2
# priority: 10
# trakt_list:
- # username: '{{secrets.trakt.username}}'
- # account: '{{secrets.trakt.account}}'
+ # username: '{?trakt.username?}'
+ # account: '{?trakt.account?}'
# list: watchlist
# type: movies
# accept_all: yes
# crossmatch:
# from:
# - trakt_list:
- # username: '{{secrets.trakt.username}}'
- # account: '{{secrets.trakt.account}}'
+ # username: '{?trakt.username?}'
+ # account: '{?trakt.account?}'
# list: watchlist
# type: movies
# fields: [imdb_id]
- 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:
- /srv/usenet/done
- - /srv/torrents/done
recursive: yes
retrieve: files
- regexp: '.*\.(avi|mkv|mp4|mpg|divx|webm)$'
-
- regexp:
- reject:
- - '[Ss]ample'
-
- thetvdb_lookup: yes
- all_series:
- parse_only: yes
- accept_all: yes
- require_field:
- - tvdb_season
- - tvdb_episode
- - tvdb_ep_name
- - tvdb_ep_air_date
+ regexp: '.*\.(avi|mkv|mp4|mpg|divx|webm|flv)$'
- 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(' ','}{')}}{{'}'}}[en]"
- 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-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:
- /srv/usenet/done
- - /srv/torrents/done
recursive: yes
regexp: '.*\.(mkv|avi|mp4)$'
- regexp:
- reject:
- - '[Ss]ample'
-
- imdb_lookup: yes
- if:
- - movie_name is None:
- manipulate:
- - title:
- extract: 'done/([^/]*)/[^/]*$'
- from: location
- 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
+ move-movies-torrents: # {{{2
+ manual: yes
+ template:
+ - move-movies
+ filesystem:
+ path:
+ - /srv/torrents/done
+ recursive: yes
+ regexp: '.*\.(mkv|avi|mp4)$'
daily-mail: # {{{2
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
retrieve: files
regexp: '.*\.(avi|mkv|mp4|webm|m4v)$'
+ #TODO use guessit like in move-series
manipulate:
- title:
from: location
retrieve: files
regexp: '.*\.(avi|mkv|mp4|webm|m4v)$'
+ #TODO use guessit like in move-series
manipulate:
- title:
from: location