variables: private.yml
+web_server:
+ port: 8081
templates: # {{{1
email: # {{{2
usenet-movies: # {{{2
inputs:
- - 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
- 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://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
- - rss: { url: 'https://api.drunkenslug.com/rss?t=2040&dl=1&num=100{?drunkenslug.api?}', silent: yes } # Movies 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
- 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
+ - 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
- 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
+ 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
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