variables: private.yml
+web_server:
+ port: 8081
templates: # {{{1
email: # {{{2
inputs:
- 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
- - rss: { url: 'https://newztown.co.za/rss?t=2040&dl=1&num=100{?newztown.api?}', silent: yes } # Movies HD
usenet-tv: # {{{2
inputs:
- 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
- - rss: { url: 'https://newztown.co.za/rss?t=5030,5040&dl=1&num=100{?newztown.api?}', silent: yes } # TV SD/HD
filters: # {{{2
- '/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
- 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
- vinyl
- - westworld
+ - westworld: { timeframe: 9 hours, quality: dd5.1+ }
series-trakt: # {{{2
settings: # *default_settings
identified_by: ep
quality: 720p+ h264+
+ tracking: backfill
discover:
interval: 1 hours
what:
- - trakt_list:
+ - 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={?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
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
- usenet-movies
- move-series: # {{{2
+ move-series-usenet: # {{{2
manual: yes
template:
- - trakt-add-collection
- disable:
- - retry_failed
- - seen
- - seen_info_hash
- 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|flv)$'
- regexp:
- reject:
- - '[Ss]ample'
-
- thetvdb_lookup: yes
- if:
- - "not has_field('tvdb_episode')":
- manipulate:
- - title:
- extract: 'done/([^/]*)/[^/]*$'
- from: location
- thetvdb_lookup: yes
-
- all_series:
- parse_only: yes
- accept_all: yes
- require_field:
- - tvdb_season
- - tvdb_episode
- - tvdb_ep_name
- 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
- disable:
- - retry_failed
- - seen
- - seen_info_hash
- 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
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