Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- variables: secrets.yml
- ##### schedules
- #
- schedules:
- - tasks: ['clean-*']
- interval:
- minutes: 30
- - tasks: ['*-rss']
- schedule:
- hour: 05-09
- minute: "*/30"
- - tasks: ['populate-*','*-nextep','fill-*','*-discover', '*-manual', 'update-*']
- schedule:
- hour: 05-10/3
- - tasks: ['move-*', download-subtitles]
- schedule:
- hour: 05-09
- minute: 15,45
- - tasks: [subtitle-series]
- schedule:
- day_of_week: mon
- hour: 10
- - tasks: [subtitle-movies]
- schedule:
- day_of_week: fri
- hour: 10
- - tasks: [get-subtitles]
- schedule:
- day: 1
- hour: 10
- - tasks: [duplicate-movies]
- schedule:
- day: 1
- hour: 10
- templates:
- ##### Series config
- #
- series:
- #require_field: tvdb_series_name
- metainfo_series: yes
- thetvdb_lookup: yes
- imdb_lookup: yes
- #set:
- #content_filename: "{{ series_name }} - {{ series_id }} - {{ tvdb_ep_name|default('Unknown') }} - {{ quality|upper }}"
- tvmaze_lookup: yes
- #trakt_lookup:
- #account: "{? trakt.account ?}"
- include: series.yml
- configure_series:
- from:
- entry_list: trakt-series
- settings:
- identified_by: ep
- timeframe: 16 hours
- target: hdtv+ 720p !10bit
- quality: webrip+ 720p !10bit
- propers: 16 hours
- specials: no
- season_packs: yes
- content_size:
- min: 100
- max: 1500
- ##### Movies config
- #
- movies-1080p:
- imdb_lookup: yes
- tmdb_lookup: yes
- metainfo_movie: yes
- movie_list: trakt-movies
- quality: 1080p tvrip+ !h265 !10bit !dts
- content_size:
- min: 900
- max: 8000
- movies-720p:
- imdb_lookup: yes
- tmdb_lookup: yes
- metainfo_movie: yes
- movie_list: trakt-movies
- quality: 720p+ hdrip+ !10bit !cam !dts
- content_size:
- min: 500
- max: 5000
- movies-sd:
- imdb_lookup: yes
- tmdb_lookup: yes
- metainfo_movie: yes
- movie_list: trakt-movies
- quality: sdtv+ <720p !10bit !cam !dts
- content_size:
- min: 200
- max: 2000
- ##### Transmission config
- #
- transmission-anchors:
- _transmission-settings: &transmission-settings
- host: "{? transmission.host ?}"
- port: 9091
- username: "{? transmission.user ?}"
- password: "{? transmission.pass ?}"
- ##### Common rejections
- #
- reject:
- regexp:
- reject:
- - \b(s|d)ub(s|bed|lado|titulado)?\b
- - \bhc\b
- - \bdual\b
- - \b3d\b
- - \bfre(nch)?\b
- - \bita(lian)?\b
- - \bspa(nish)?\b
- - \bger(man)?\b
- - \bcastellano\b
- - \brus(sian)?\b
- content_filter:
- reject:
- - '*.rar'
- - '*.zip'
- ##### ADVANCED SETTINGS #####
- ##### Global config
- #
- global:
- no_entries_ok: yes
- pathscrub: windows
- free_space:
- path: "/{? folder.root ?}"
- space: 5000
- # Requires log_filter plugin
- log_filter:
- task:
- - marked seen
- - already downloaded
- - already been downloaded
- - Task does not have any
- - Task doesn't have any
- - is before begin value
- move:
- - left because it exceeds safety value
- - does not exists (anymore)
- urlrewriter:
- - URL rewritten to
- enzyme.mkv:
- - Reading
- - Processing
- enzyme.parsers.ebml.core:
- - ignored
- - Maximum level
- subliminal.video:
- - Scanning video
- parser_internal:
- - appears to be an episode pack
- content_size:
- - rejecting
- search_rss:
- - Error
- assume_quality:
- - ""
- utils.requests:
- - Waiting
- manipulate:
- - Field `title` is now
- filesystem:
- - Starting to scan
- ##### Common torrents config
- #
- torrents:
- torrent_alive:
- min_seeds: 8
- reject_for: 15 minutes
- magnets: no
- # Might need to disable if you are getting errors connecting to https sources
- # Can remove if you upgrade to python 2.7.9+ or install requests[security]
- #verify_ssl_certificates: no
- domain_delay:
- thepiratebay.org: 10 seconds
- thepiratebay.se: 10 seconds
- limetorrents: 3 seconds
- rarbg: 3 seconds
- ##### Transmission series config
- #
- transmission-series:
- transmission:
- <<: *transmission-settings
- main_file_only: yes
- include_subs: yes
- rename_like_files: yes
- content_filename: "{{tvdb_series_name|default(series_name)|pathscrub}} - {{tvdb_ep_id|default(series_id)}}{% if tvdb_ep_name|default(False) %} - {{tvdb_ep_name|pathscrub}}{% endif %}{% if quality|default(False) %} - [{{quality}}]{% endif %}"
- path: "/{? folder.root2 ?}{? folder.downseries ?}{{tvdb_series_name|default(series_name)|pathscrub}}/"
- ##### Transmission movies config
- #
- transmission-movies:
- transmission:
- <<: *transmission-settings
- main_file_only: yes
- include_subs: yes
- rename_like_files: yes
- content_filename: "{{tmdb_name|pathscrub}} ({{tmdb_year}}){% if quality|default(False) %} - [{{quality}}]{% endif %}"
- path: "/{? folder.root2 ?}{? folder.downmovies ?}{{movie_name|pathscrub}}/"
- ##### Pushbullet config
- #
- pushbullet:
- notify:
- entries:
- title: "[flexget] {{task}}"
- message: "{{title}}"
- via:
- - pushbullet:
- api_key: "{? pushbullet.api ?}"
- pushbullet-series:
- notify:
- entries:
- title: "[flexget] {{task}}"
- message: "{{title}} \nEP name: {{tvdb_ep_name}} \nAir date: {{tvdb_ep_air_date}} \nRating: {{tvdb_ep_rating}} \nStatus: {{tvdb_status}} \nLink: {{tvdb_url}}"
- via:
- - pushbullet:
- api_key: "{? pushbullet.api ?}"
- ##### Disable builtins for some tasks
- #
- disable-seen-retry:
- disable:
- - seen
- - seen_info_hash
- - retry_failed
- ##### Series metainfo mainly for move and update tasks
- #
- series-metainfo:
- metainfo_series: yes
- thetvdb_lookup: yes
- #require_field: series_name
- ##### Guessit parsing for some series tasks and anime, not applied to all tasks because it causes issues with "name (year)" based series, like scandal
- #
- series-guessit:
- parsing:
- series: guessit
- ##### Movies metainfo mainly for move and update tasks
- #
- movies-metainfo:
- tmdb_lookup: yes
- parsing:
- movie: guessit
- ##### Guessit parsing for anime movies task
- #
- movies-guessit:
- parsing:
- movie: guessit
- tasks:
- ##### Populates the series database with the files on the library, to avoid duplicate downloads
- #
- populate-series-db:
- priority: 1
- template:
- - series-metainfo
- seen: local
- filesystem:
- path: "/{? folder.root ?}{? folder.series ?}"
- recursive: yes
- retrieve: files
- regexp: '.*\.(avi|mkv|mp4)$'
- accept_all: yes
- configure_series:
- from:
- filesystem:
- path: "/{? folder.root ?}{? folder.series ?}"
- retrieve: dirs
- settings:
- tracking: no
- ##### Fetches the next unwatched episode from the series watchlist and adds it to a custom entry list
- #
- get-series-nextep:
- priority: 2
- template:
- - disable-seen-retry
- - series-metainfo
- list_clear:
- what:
- - entry_list: trakt-series-begin
- next_trakt_episodes:
- account: "{? trakt.account ?}"
- list: "{? trakt.series ?}"
- context: watched
- position: next
- accept_all: yes
- list_add:
- - entry_list: trakt-series-begin
- ##### Formats the output of the previous task to tvdb format and sets the begin episode for the series
- #
- set-series-nextep:
- priority: 3
- template:
- - disable-seen-retry
- - series-metainfo
- entry_list: trakt-series-begin
- accept_all: yes
- set:
- series_name: "{{tvdb_series_name|escape|replace(''', '')}}"
- set_series_begin: yes
- ##### Fetch, format and output trakt series list to a custom entry list
- #
- fill-series-list:
- priority: 4
- template:
- - disable-seen-retry
- - series-metainfo
- list_clear:
- what:
- - entry_list: trakt-series
- trakt_list:
- account: "{? trakt.account ?}"
- list: "{? trakt.series ?}"
- type: shows
- accept_all: yes
- set:
- title: "{{tvdb_series_name|escape|replace(''', '')}}"
- list_add:
- - entry_list: trakt-series
- ##### Download episodes from manually downloaded torrents
- #
- download-series-manual:
- priority: 6
- manual: yes
- template:
- - disable-seen-retry
- - series-metainfo
- - transmission-series
- - pushbullet
- filesystem:
- path: "/{? folder.root2 ?}{? folder.downseries ?}"
- mask: '*.torrent'
- parsing:
- series: guessit
- accept_all: yes
- exec:
- on_output:
- for_accepted: rm -f "{{location}}"
- ##### Download episodes from RSS feeds
- #
- download-series-rss:
- priority: 7
- template:
- - series
- - reject
- - torrents
- - transmission-series
- - pushbullet
- inputs:
- - rss: https://eztv.ag/ezrss.xml
- ##### Discover and download season packs
- #
- download-seasons-discover:
- priority: 8
- template:
- - series
- - reject
- - torrents
- - transmission-series
- - pushbullet
- #thetvdb does not support season lookups yet
- thetvdb_lookup: no
- magnets: yes
- convert_magnet:
- timeout: 10 seconds
- force: yes
- discover:
- release_estimations: strict
- interval: 15 minutes
- what:
- - next_series_seasons:
- from_start: yes
- from:
- - piratebay:
- category: highres tv
- - rarbg:
- category: [1, 18, 41, 49]
- ##### Discover and download older episodes and pilots from recently added series
- #
- download-series-discover:
- priority: 8
- template:
- - series
- - reject
- - torrents
- - transmission-series
- - pushbullet
- magnets: yes
- convert_magnet:
- timeout: 20 seconds
- force: yes
- discover:
- release_estimations: strict
- interval: 15 minutes
- what:
- - next_series_episodes:
- from_start: yes
- from:
- - piratebay:
- category: highres tv
- - rarbg:
- category: [1, 18, 41, 49]
- ##### Remove manually movies downloaded from the movie queue and trakt list
- #
- clean-movies-queue:
- priority: 31
- template:
- - disable-seen-retry
- - movies-metainfo
- filesystem:
- path: "/{? folder.root2 ?}{? folder.movies ?}"
- recursive: yes
- retrieve: files
- regexp: '.*\.(avi|mkv|mp4)$'
- accept_all: yes
- list_remove:
- - movie_list: trakt-movies
- - trakt_list:
- account: "{? trakt.account ?}"
- list: "{? trakt.movies ?}"
- type: movies
- ##### Fill the movie queue with movies from trakt list
- #
- fill-movie-queue:
- priority: 32
- trakt_list:
- account: "{? trakt.account ?}"
- list: "{? trakt.movies ?}"
- type: movies
- strip_dates: yes
- accept_all: yes
- list_add:
- - movie_list: trakt-movies
- fill-imdb-movie-queue:
- imdb_watchlist:
- user_id: ur15183663
- list: watchlist
- imdb_watchlist:
- user_id: ur15183663
- list: watchlist
- type: movies
- imdb_watchlist:
- user_id: ur84943445
- list: watchlist
- type: movies
- imdb_watchlist:
- user_id: ur48749037
- list: watchlist
- type: movies
- imdb_list:
- login: "{? imdb.login ?}"
- password: "{? imdb.password ?}"
- list: watchlist
- accept_all: yes
- list_add:
- - movie_list: imdb-movies
- ##### Download movies manually downloaded torrents
- #
- download-movies-manual:
- priority: 34
- template:
- - disable-seen-retry
- - movies-metainfo
- - transmission-movies
- - pushbullet
- filesystem:
- path: "/{? folder.root2 ?}{? folder.downmovies ?}"
- mask: '*.torrent'
- accept_all: yes
- exec:
- on_output:
- for_accepted: rm -f "{{location}}"
- list_remove:
- - movie_list: trakt-movies
- - trakt_list:
- account: "{? trakt.account ?}"
- list: "{? trakt.movies ?}"
- type: movies
- ##### Download 1080p movies
- #
- download-movies-1080p-discover:
- priority: 37
- template:
- - movies-1080p
- - reject
- - torrents
- - transmission-movies
- - pushbullet
- exists_movie:
- - "/{? folder.root2 ?}{? folder.downmovies ?}"
- - "/{? folder.root2 ?}{? folder.movies ?}"
- magnets: yes
- convert_magnet:
- timeout: 20 seconds
- force: yes
- discover:
- release_estimations: loose
- interval: 15 minutes
- what:
- - movie_list: trakt-movies
- #- movie_list: from-imdb
- from:
- - piratebay:
- category: highres movies
- - rarbg:
- category: [1, 18, 41, 49]
- list_match:
- from:
- - movie_list: trakt-movies
- #- movie_list: from-imdb
- list_remove:
- - trakt_list:
- account: "{? trakt.account ?}"
- list: "{? trakt.movies ?}"
- type: movies
- ##### Download 720p movies if the movie is not recent
- #
- download-movies-720p-discover:
- priority: 38
- template:
- - movies-720p
- - reject
- - torrents
- - transmission-movies
- - pushbullet
- exists_movie:
- - "/{? folder.root2 ?}{? folder.downmovies ?}"
- - "/{? folder.root2 ?}{? folder.movies ?}"
- magnets: yes
- convert_magnet:
- timeout: 20 seconds
- force: yes
- discover:
- release_estimations: loose
- interval: 15 minutes
- what:
- - movie_list: trakt-movies
- #- movie_list: from-imdb
- from:
- - piratebay:
- category: highres movies
- if:
- - tmdb_year > now.year - 1: reject
- list_match:
- from:
- - movie_list: trakt-movies
- #- movie_list: from-imdb
- list_remove:
- - trakt_list:
- account: "{? trakt.account ?}"
- list: "{? trakt.movies ?}"
- type: movies
- ##### Download sd movies if the movie is not recent
- #
- download-movies-sd-discover:
- priority: 39
- template:
- - movies-sd
- - reject
- - torrents
- - transmission-movies
- - pushbullet
- exists_movie:
- - "/{? folder.root2 ?}{? folder.downmovies ?}"
- - "/{? folder.root2 ?}{? folder.movies ?}"
- magnets: yes
- convert_magnet:
- timeout: 10 seconds
- force: yes
- discover:
- release_estimations: loose
- interval: 15 minutes
- what:
- - movie_list: trakt-movies
- #- movie_list: from-imdb
- from:
- - piratebay:
- category: movies
- - rarbg:
- category: [1, 18, 41, 49]
- if:
- - tmdb_year > now.year - 2: reject
- list_match:
- from:
- - movie_list: trakt-movies
- #- movie_list: from-imdb
- list_remove:
- - trakt_list:
- account: "{? trakt.account ?}"
- list: "{? trakt.movies ?}"
- type: movies
- ##### Move series from downloads folder to respective folders, along with existing subtitles and adding the files to the subtitle queue
- #
- move-series:
- priority: 41
- #require_field: series_name
- template:
- - disable-seen-retry
- - series-metainfo
- - series-guessit
- - pushbullet-series
- filesystem:
- path: "/{? folder.root2 ?}{? folder.downseries ?}"
- recursive: yes
- retrieve: files
- regexp: '.*\.(avi|mkv|mp4)$'
- accept_all: yes
- move:
- to: "/{? folder.root ?}{? folder.series ?}{{tvdb_series_name|default(series_name)}}/Season {{ series_season|pad(2)}}/"
- rename: "{{tvdb_series_name|default(series_name)}} - {{tvdb_ep_id|default(series_id)}}{% if tvdb_ep_name|default(False) %} - {{tvdb_ep_name|pathscrub}}{% endif %}{% if quality|default(False) %} - [{{quality}}]{% endif %}"
- along:
- extensions:
- - srt
- - sub
- - en.srt
- - en.sub
- - pt.sub
- - pt.srt
- - es.sub
- - es.srt
- - fr.sub
- - fr.srt
- subdirs:
- - Subs
- clean_source: 50
- list_add:
- - subtitle_list:
- list: subtitles
- path: "{{location}}"
- remove_after: 7 days
- exec:
- on_exit:
- phase: find "/{? folder.root2 ?}{? folder.downseries ?}"* -type d -empty -delete
- ##### Move movies from downloads folder to the movies folder, along with possible subtitles and adding the files to the subtitle queue
- #
- move-movies:
- priority: 42
- require_field: tmdb_name
- thetvdb_lookup: yes
- set:
- content_filename: "{{ series_name }} - {{ series_id }} - {{ tvdb_ep_name|default('Unknown') }} - {{ quality|upper }}"
- template:
- - disable-seen-retry
- - movies-metainfo
- - pushbullet
- filesystem:
- path: "/{? folder.root2 ?}{? folder.downmovies ?}"
- recursive: yes
- retrieve: files
- regexp: '.*\.(avi|mkv|mp4)$'
- accept_all: yes
- regexp:
- reject:
- - \btrailer\b
- - \bsample\b
- move:
- to: '/{? folder.root2 ?}{? folder.movies ?}/{{tmdb_name}} {{tmdb_year}}'
- rename: "{{tmdb_name|pathscrub}} ({{tmdb_year}}){% if quality|default(False) %} - [{{quality}}]{% endif %}"
- along:
- extensions:
- - srt
- - sub
- - en.srt
- - en.sub
- - pt.sub
- - pt.srt
- - es.sub
- - es.srt
- - fr.sub
- - fr.srt
- subdirs:
- - Subs
- clean_source: 100
- list_add:
- - subtitle_list:
- list: subtitles
- path: "{{location}}"
- remove_after: 7 days
- exec:
- on_exit:
- phase: find "/{? folder.root2 ?}{? folder.downmovies ?}"* -type d -empty -delete
- ##### Download subtitles for the previously queued files
- #
- download-subtitles:
- priority: 45
- template:
- - disable-seen-retry
- - pushbullet
- subtitle_list:
- list: subtitles
- list_match:
- from:
- - subtitle_list:
- list: subtitles
- subliminal:
- exact_match: yes
- single: no
- languages:
- - eng
- - pt
- - por
- - br
- - bra
- - en
- - fr
- - es
- ###download subtitles for series
- subtitle-series:
- priority: 70
- filesystem:
- path: "/{? folder.root ?}{? folder.series ?}"
- regexp: '.*\.(avi|mkv|mp4)$'
- recursive: yes
- accept_all: yes
- subliminal:
- languages:
- - por
- alternatives:
- - en
- - eng
- - es
- - spa
- - fr
- - fra
- - bra
- - br
- - pt
- exact_match: yes
- single: no
- providers:
- - opensubtitles
- - addic7ed
- - podnapisi
- - thesubdb
- - tvsubtitles
- authentication:
- addic7ed:
- username: "{? addicted.user ?}"
- password: "{? addicted.pass ?}"
- opensubtitles:
- username: "{? opensubtitles.user ?}"
- password: "{? opensubtitles.pass ?}"
- legendastv:
- username: "{? legendastv.user ?}"
- password: "{? legendastv.pass ?}"
- podnapisi:
- username: "{? podnapisi.user ?}"
- password: "{? podnapisi.pass ?}"
- ###download subtitles for movies
- subtitle-movies:
- priority: 71
- filesystem:
- path: "/{? folder.root2 ?}{? folder.movies ?}"
- regexp: '.*\.(avi|mkv|mp4)$'
- recursive: yes
- accept_all: yes
- subliminal:
- languages:
- - por
- alternatives:
- - en
- - eng
- - es
- - spa
- - fr
- - fra
- - pt
- - bra
- - br
- exact_match: yes
- single: no
- hearing_impaired: yes
- providers:
- - opensubtitles
- - addic7ed
- - podnapisi
- - thesubdb
- - tvsubtitles
- authentication:
- addic7ed:
- username: "{? addicted.user ?}"
- password: "{? addicted.pass ?}"
- opensubtitles:
- username: "{? opensubtitles.user ?}"
- password: "{? opensubtitles.pass ?}"
- legendastv:
- username: "{? legendastv.user ?}"
- password: "{? legendastv.pass ?}"
- podnapisi:
- username: "{? podnapisi.user ?}"
- password: "{? podnapisi.pass ?}"
- ###download subtitles for all files
- get-subtitles:
- priority: 72
- disable:
- - seen
- - retry_failed
- filesystem:
- path:
- - "/{? folder.root2 ?}{? folder.movies ?}"
- - "/{? folder.root ?}{? folder.series ?}"
- regexp: '.*\.(avi|mkv|mp4)$'
- recursive: yes
- accept_all: yes
- subliminal:
- languages:
- - por
- alternatives:
- - en
- - eng
- - es
- - spa
- - fr
- - fra
- - pt
- - bra
- - br
- exact_match: yes
- providers:
- - opensubtitles
- - addic7ed
- - podnapisi
- - thesubdb
- - tvsubtitles
- single: no
- hearing_impaired: yes
- authentication:
- addic7ed:
- username: "{? addicted.user ?}"
- password: "{? addicted.pass ?}"
- opensubtitles:
- username: "{? opensubtitles.user ?}"
- password: "{? opensubtitles.pass ?}"
- legendastv:
- username: "{? legendastv.user ?}"
- password: "{? legendastv.pass ?}"
- podnapisi:
- username: "{? podnapisi.user ?}"
- password: "{? podnapisi.pass ?}"
- ##### Clean finished torrents from transmission
- #
- clean-transmission:
- priority: 47
- disable: details
- clean_transmission:
- <<: *transmission-settings
- finished_for: 1 hour
- preserve_tracker: Btnext|Scene-rush
- ##### Update trakt series list from local series folders, excluding the ones that already ended
- #
- update-series-list:
- priority: 51
- template:
- - disable-seen-retry
- - series-metainfo
- filesystem:
- path: "/{? folder.root ?}{? folder.series ?}"
- retrieve: dirs
- manipulate:
- - title:
- replace:
- regexp: '$'
- format: ' S01E01'
- accept_all: yes
- if:
- - tvdb_status == 'Ended': reject
- list_add:
- - trakt_list:
- account: "{? trakt.account ?}"
- list: "{? trakt.series ?}"
- type: shows
- ##### Clean the series that already ended from trakt series list
- #
- clean-series-list:
- priority: 53
- delay: 8 day
- template:
- - disable-seen-retry
- - series-metainfo
- - pushbullet
- trakt_list:
- account: "{? trakt.account ?}"
- list: "{? trakt.series ?}"
- type: shows
- if:
- - tvdb_status == 'Ended': accept
- list_add:
- - trakt_list:
- account: "{? trakt.account ?}"
- list: "{? trakt.ended ?}"
- type: shows
- list_remove:
- - trakt_list:
- account: "{? trakt.account ?}"
- list: "{? trakt.series ?}"
- type: shows
- ##### move duplicated movies
- #
- duplicate-movies:
- priority: 50
- template:
- - pushbullet
- manual: yes
- seen: no
- filesystem:
- path: "/{? folder.root2 ?}{? folder.movies ?}"
- #retrieve: dirs
- imdb_lookup: yes
- duplicates:
- field: imdb_id
- action: accept
- move:
- to: "/{? folder.root ?}{? folder.repmovies ?}"
- allow_dir: yes
- ##### webui
- #
- web_server:
- run_v2: true
- bind: 0.0.0.0
- port: 3539
- web_ui: yes
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement