]> git.rmz.io Git - dotfiles.git/blobdiff - flexget/config.yml
flexget: add drunkenslug as source
[dotfiles.git] / flexget / config.yml
index 15cc56db357fc39a13d2196c94d4721deb371e50..f692dab7aadc0d66fb5b9df614bc16a5de02ac73 100644 (file)
@@ -21,7 +21,7 @@ templates: # {{{1
     transmission:
       host: localhost
       port: 9091
-      path: /mnt/Skaro/torrents/done
+      path: /srv/torrents/done
       ratio: 0.0
 
 
@@ -34,11 +34,15 @@ templates: # {{{1
   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
 
 
   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
 
 
   filters: # {{{2
@@ -67,6 +71,7 @@ templates: # {{{1
         - \[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
 
 
   series: # {{{2
@@ -74,7 +79,7 @@ templates: # {{{1
       category: 'series'
     series:
       settings:
-        default:
+        default: &default_settings
           identified_by: ep
           timeframe: 12 hours
           target: 1080p webdl h264+
@@ -82,7 +87,7 @@ templates: # {{{1
           upgrade: yes
     exists_series:
       path:
-        - '/mnt/Skaro/Series/{{tvdb_series_name}}'
+        - '/mnt/series/{{tvdb_series_name}}'
       allow_different_qualities: better
     content_size:
       min:  100
@@ -110,11 +115,11 @@ templates: # {{{1
         - family guy
         - foyle's war
         - futurama
-        - game of thrones
+        - game of thrones: { timeframe: 9 hours }
         - homeland
         - house of cards 2013: { alternate_name: house of cards us }
         - how i met your mother
-        - last week tonight with john oliver
+        - last week tonight with john oliver: { timeframe: 10 hours }
         - masters of sex
         - my little pony
         - mythbusters
@@ -129,24 +134,66 @@ templates: # {{{1
         - the walking dead
         - two and a half men
         - the wire: { quality: 720p+ }
+        - vinyl
+
+
+  series-trakt: # {{{2
+    configure_series:
+      from:
+        trakt_list:
+          username: '{{secrets.trakt.username}}'
+          account: '{{secrets.trakt.account}}'
+          list: followlist
+          type: shows
+      settings: *default_settings
+
+
+  series-trakt-backfill: # {{{2
+    configure_series:
+      from:
+        trakt_list:
+          username: '{{secrets.trakt.username}}'
+          account: '{{secrets.trakt.account}}'
+          list: backfill
+          type: shows
+      settings: # *default_settings
+        identified_by: ep
+        quality: 720p+ h264+
+    discover:
+      interval: 1 hours
+      what:
+        - trakt_list:
+            username: '{{secrets.trakt.username}}'
+            account: '{{secrets.trakt.account}}'
+            list: backfill
+            type: episodes
+        - next_series_episodes:
+            from_start: yes
+      from:
+        - newznab:
+            url: 'https://www.usenet-crawler.com/api?apikey={{secrets.crawler.apikey}}&t=tvsearch&cat=5030,5040&extended=1'
+            category: tv
+    all_series: yes
 
 
   movies: # {{{2
     set:
       category: 'movies'
+      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
@@ -165,23 +212,24 @@ templates: # {{{1
       max: 10000
       strict: yes
 
-  movies-queued: # {{{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: 5 seconds
+  # 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
 
 
   trakt-add-collection: # {{{2
-    trakt_add:
-      username: '{{secrets.trakt.login}}'
-      password: '{{secrets.trakt.passw}}'
-      list: collection
+    list_add:
+      - trakt_list:
+          username: '{{secrets.trakt.username}}'
+          account: '{{secrets.trakt.account}}'
+          list: collection
 
 
 tasks: # {{{1
@@ -191,33 +239,95 @@ tasks: # {{{1
       - email
       - series
       - series-list
+      - series-trakt
       - filters
       - usenet
       - usenet-tv
 
 
-  dl-movies-queued-1080p: # {{{2
+  # dl-series-trakt-backfill: # {{{2
+  #   priority: 110
+  #   template:
+  #     - series
+  #     - series-trakt-backfill
+  #     - filters
+  #     - usenet
+  #   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-discover-queue-1080p: # {{{2
     priority: 100
     template:
       - email
       - movies
-      - movies-queued
+      - movies-discover-queue
       - movies-1080p
       - filters
       - usenet
 
 
-  dl-movies-queued-720p: # {{{2
+  dl-movies-discover-queue-720p: # {{{2
     priority: 110
     template:
       - email
       - movies
-      - movies-queued
+      - movies-discover-queue
       - movies-720p
       - filters
       - usenet
 
 
+  dl-movies-queue-1080p: # {{{2
+    priority: 100
+    template:
+      - email
+      - movies
+      - movies-1080p
+      - filters
+      - usenet
+      - usenet-movies
+
+
+  dl-movies-queue-720p: # {{{2
+    priority: 110
+    template:
+      - email
+      - movies
+      - movies-720p
+      - filters
+      - usenet
+      - usenet-movies
+
+
   dl-movies-imdb-1080p: # {{{2
     priority: 120
     template:
@@ -249,13 +359,15 @@ tasks: # {{{1
     seen: local
     disable:
       - retry_failed
+      - nzb_size
     no_entries_ok: yes
 
-    find:
+    filesystem:
       path:
-        - /mnt/Skaro/usenet/done
-        - /mnt/Skaro/torrents/done
+        - /srv/usenet/done
+        - /srv/torrents/done
       recursive: yes
+      retrieve: files
       regexp: '.*\.(avi|mkv|mp4|mpg|divx|webm)$'
 
     regexp:
@@ -266,21 +378,26 @@ tasks: # {{{1
     all_series:
       parse_only: yes
     accept_all: yes
+    require_field:
+      - tvdb_season
+      - tvdb_episode
+      - tvdb_ep_name
+      - tvdb_ep_air_date
 
     set:
-      destination: '/mnt/Skaro/Series'
+      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/Skaro/Series/{{folder}}"
-      filename: "{{filename}}"
+      to: "/mnt/series/{{folder}}"
+      rename: "{{filename}}"
       clean_source: 100   # removes dir if < [N] MB
 
-    exec: echo "<<<{{folder}}/{{filename}}>>>"
-    email:
-      from: flexget@tardis
-      to: ramsi@localhost
-      template: move
+    # log: "<<<{{folder}}/{{filename}}>>>"
+    exec:
+      - echo "<<<{{folder}}/{{filename}}>>>"
+      - touch "{{destination}}/{{folder}}/{{filename}}{{location|pathext}}"
+    digest: move-tasks
 
 
   move-movies: # {{{2
@@ -290,12 +407,13 @@ tasks: # {{{1
     seen: local
     disable:
       - retry_failed
+      - nzb_size
     no_entries_ok: yes
 
-    find:
+    filesystem:
       path:
-        - /mnt/Skaro/usenet/done
-        - /mnt/Skaro/torrents/done
+        - /srv/usenet/done
+        - /srv/torrents/done
       recursive: yes
       regexp: '.*\.(mkv|avi|mp4)$'
 
@@ -304,36 +422,74 @@ tasks: # {{{1
         - '[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/Skaro/Movies'
+      destination: '/mnt/movies'
       filename: "{{imdb_name}} ({{imdb_year}}){{'{'}}{{quality|replace(' ','}{')}}{{'}'}}[en]"
     move:
-      to: "/mnt/Skaro/Movies"
-      filename: "{{filename}}"
+      to: "/mnt/movies"
+      rename: "{{filename}}"
       clean_source: 100   # removes dir if < [N] MB
 
-    exec: echo "<<<{{filename}}>>>"
+    exec:
+      - echo "<<<{{filename}}>>>"
+      - touch "{{destination}}/{{filename}}{{location|pathext}}"
+    digest: move-tasks
+
+
+  daily-mail: # {{{2
+    manual: yes
+    no_entries_ok: yes
+    from_digest:
+      list: move-tasks
+    seen: local
+    accept_all: yes
     email:
       from: flexget@tardis
       to: ramsi@localhost
       template: move
 
 
-  seed-tv-db: # {{{2
+  backfill-mail: # {{{2
+    priority: 500
+    manual: yes
+    template:
+      - email
+    no_entries_ok: yes
+    from_digest:
+      list: backfill
+    seen: local
+    accept_all: yes
+
+
+  seed-series-db: # {{{2
     manual: yes
+    seen: local
 
-    find:
-      path: '/mnt/Skaro/Series'
-      regexp: '.*\.(avi|mkv|mp4|webm)$'
+    filesystem:
+      path:
+        - '/mnt/series'
       recursive: yes
+      retrieve: files
+      regexp: '.*\.(avi|mkv|mp4|webm|m4v)$'
 
     manipulate:
       - title:
           from: location
           replace:
-            regexp: '.*/([^/]+)/[^/]+/(\d+)x(\d+)([^/]*)\.[^.]+$'
+            regexp: '.*/([^/]+)/[^/]+/(\d+)(?:x(\d+))+([^/]*)\.[^.]+$'
             format: '\1 S\2E\3\4'
       - title:
           replace:
@@ -344,17 +500,84 @@ tasks: # {{{1
             regexp: '[\(\)\{\}]'
             format: ' '
 
+    metainfo_series: yes
+    thetvdb_lookup: yes
+    all_series:
+      tracking: no
+    assume_quality: 480p
+    accept_all: yes
+    require_field:
+      - tvdb_id
+
+
+  seed-trakt-series: # {{{2
+    manual: yes
+    seen: local
+    template:
+      - trakt-add-collection
+
+    filesystem:
+      path:
+        - '/mnt/series'
+      recursive: yes
+      retrieve: files
+      regexp: '.*\.(avi|mkv|mp4|webm|m4v)$'
+
+    manipulate:
+      - title:
+          from: location
+          replace:
+            regexp: '.*/([^/]+)/[^/]+/(\d+)(?:x(\d+))+([^/]*)\.[^.]+$'
+            format: '\1 S\2E\3\4'
+      - title:
+          replace:
+            regexp: '\[.*\]'
+            format: ''
+      - title:
+          replace:
+            regexp: '[\(\)\{\}]'
+            format: ' '
+
+    metainfo_series: yes
+    thetvdb_lookup: yes
     all_series: yes
     assume_quality: 480p
+    accept_all: yes
+    require_field:
+      - tvdb_id
+
 
+  seed-trakt-movies: # {{{2
+    manual: yes
+    seen: local
+    template:
+      - trakt-add-collection
+    filesystem:
+      path:
+        - '/mnt/movies'
+      recursive: yes
+      retrieve: files
+      regexp: '.*\.(avi|mkv|mp4|webm|m4v)$'
+    imdb_lookup: yes
+    accept_all: yes
     require_field:
-      - series_name
+      - imdb_id
 
 
 schedules: # {{{1
+  - tasks: ['daily-mail']
+    schedule:
+      hour: '17'
+      minute: '00'
+
   - tasks: ['dl-*']
     schedule:
       hour: '*'
       minute: '48'
 
+  - tasks: ['backfill-mail']
+    schedule:
+      hour: '*'
+      minute: '48'
+
 # vim: sts=2 ts=2 sw=2 et