View difference between Paste ID: V3f5XvPJ and fWve02Xn
SHOW: | | - or go back to the newest paste.
1-
presets:
1+
variables: secrets.yml
2-
  tvshows:
2+
schedules:
3-
    exists_series:
3+
##### YOUR TORRENT CLIENT SHOULD RUN THIS COMMAND AFTER EVERY DOWNLOAD: PATH_TO_flexget/bin/flexget execute --tasks find-* move-*
4-
      - /media/usb/TV Shows/
4+
##### Alternatively uncomment this task to process downloaded files every 30min.
5-
      - /media/usb/Downloads/ 
5+
#  - tasks: [ 'find-*', 'move-*']
6
#    interval:
7
#      minutes: 30
8-
        - FASTSUB
8+
##### Every day at 2AM, check nextep to search (necessary if you added a new show to the list but have already watched it partly) and find subtitles attempt #2 (without original name). 
9-
        - VOSTFR
9+
  - tasks: ['*-nextep', get-subtitles]
10-
        - Subtitulado
10+
    schedule:
11
      hour:  2
12
##### Twice a day between 2AM and 7AM: scan existing files, fill queue, check the feeds for latest episodes, discover missing episodes.
13
  - tasks: ['purge-*', 'populate-*', 'fill-*', '*-manual', '*-rss', '*-discover']
14
    schedule:
15-
        - '*.avi'  
15+
      hour: '2-7/2'
16-
    transmission: 
16+
##### Weekly cleanup of Transmission, Trakt TVshows list (fully watched && ended = delete from list) and harddrive.
17-
      host: localhost
17+
  - tasks: ['clean-*']
18
    interval:
19-
      username: USERNAME
19+
      weeks: 1
20-
      password: PASSWORD
20+
21-
      path: /media/usb/TV Shows/{{series_name}}/S{{"%02d"|format(series_season)}}  
21+
22
templates:
23-
      - rss: http://showrss.karmorra.info/rss.php?user_id=USERID&hd=2&proper=1&namespaces=true&magnets=true
23+
24-
      - rss: http://kat.ph/tv/?rss=1
24+
##### Series config# Please uncomment `tracking: backfill` if you need Flexget to download as much as old episodes as it can find. Do the same in series-discover-episodes and series-discover-seasons tasks
25-
      - rss: http://ezrss.it/feed/
25+
  series:
26-
      - rss: http://rss.bt-chat.com/?group=3
26+
    thetvdb_lookup: yes
27-
      - rss: http://extratorrent.com/rss.xml?cid=8
27+
    tvmaze_lookup: yes
28-
  movies:
28+
    configure_series:
29-
    transmission: 
29+
30-
      host: localhost
30+
        entry_list: trakt-series
31
      settings:
32-
      username: USERNAME
32+
        identified_by: ep
33-
      password: PASSWORD
33+
        timeframe: 1 hours
34-
      path: /media/usb/Movies
34+
        target: webrip+ 720p !10bit h265
35
        quality: webrip+ <=1080p !10bit xvid+
36
        propers: 48 hours
37-
  Get tvshows 720p hdtv:
37+
        specials: no
38-
    priority: 1
38+
        season_packs: 3
39-
    preset: tvshows
39+
#        tracking: backfill
40-
    import_series:
40+
41
      min: 100
42-
        trakt_list:
42+
43-
          username: USERNAME
43+
      require:
44-
          password: PASSWORD
44+
        - '*.mkv'
45-
          api_key: APIKEY
45+
        - '*.mp4'
46-
          custom: Following in HD
46+
47
48-
        quality: 720p hdtv
48+
##### Movies config#
49
  movies-HQ:
50-
  Get tvshows hdtv <720p:
50+
    tmdb_lookup: yes
51
    movie_list: trakt-movies
52-
    preset: tvshows
52+
    quality: 1080p webdl+ !10bit !h265
53-
    import_series:
53+
54
      min: 8000
55-
        trakt_list:
55+
      max: 25000
56-
          username: USERNAME
56+
57-
          password: PASSWORD
57+
  movies-NQ:
58-
          api_key: APIKEY
58+
    tmdb_lookup: yes
59-
          custom: Following
59+
    movie_list: trakt-movies
60
    quality: 1080p webdl+ !10bit !h265
61-
        quality: hdtv <720p
61+
62
      min: 2000
63-
  Fill movie queue:
63+
      max: 7999
64
65-
    interval: 1 day
65+
  movies-LQ:
66
    tmdb_lookup: yes
67-
      username: USERNAME
67+
    movie_list: trakt-movies
68-
      api_key: APIKEY
68+
    quality: 720p webdl+ !10bit !h265
69-
      movies: watchlist
69+
70-
    seen: local                    # We don't want accepted movies on this feed to affect actual download feed
70+
      min: 900
71-
    queue_movies:
71+
      max: 8000
72-
      quality: 720p+ bluray
72+
73-
      force: no
73+
##### Transmission config#
74-
    imdb_lookup: yes
74+
  transmission-anchors:
75
    _transmission-settings: &transmission-settings
76
      host: "{? transmission.host ?}"
77-
  Get movies:
77+
78-
    preset: movies
78+
      username: "{? transmission.user ?}"
79
      password: "{? transmission.pass ?}"
80
81-
      max: 20000
81+
##### Common rejections#
82-
      min: 4000
82+
  reject:
83-
    torrent_alive: yes
83+
84
      reject:
85
        - \b(s|d)ub(s|bed|lado|titulado)?\b
86-
        - emit_movie_queue: yes
86+
        - \bhc\b
87
        - \bdual\b
88-
        - piratebay: yes
88+
        - \b3d\b
89-
        - search_rss:
89+
        - \bfre(nch)?\b
90-
            url: http://pirateproxy.net/feeds/207
90+
        - \bita(lian)?\b
91-
            link: magneturi
91+
        - \bspa(nish)?\b
92-
        - search_rss:
92+
        - \bger(man)?\b
93-
            url:  http://katmirror.com/highres-movies/?rss=1
93+
        - \bcastellano\b
94-
        - kat:
94+
        - \brus(sian)?\b
95-
            verified: yes
95+
        - \btamil\b
96-
        - torrentz: verified
96+
        - \bhindi\b
97-
    movie_queue: yes
97+
98
      reject:
99
        - '*.rar'
100
        - '*.zip'
101
102
103
##### ADVANCED SETTINGS #####
104
##### Global config#
105
  global:
106
    no_entries_ok: yes
107
    pathscrub: windows
108
    free_space:
109
      path: "/{? folder.root ?}"
110
      space: 5000
111
    # Requires log_filter plugin
112
    log_filter:
113
      task:
114
        - marked seen
115
        - because quality already downloaded
116
        - because episode has already been downloaded
117
        - Task does not have any
118
      move:
119
        - left because it exceeds safety value
120
        - does not exists (anymore)
121
      urlrewriter:
122
        - URL rewritten to
123
      enzyme.mkv:
124
        - Reading
125
        - Processing
126
      enzyme.parsers.ebml.core:
127
        - ignored
128
        - Maximum level
129
      subliminal.video:
130
        - Scanning video
131
      parser_internal:
132
        - appears to be an episode pack
133
      content_size:
134
        - rejecting
135
      search_rss:
136
        - Error
137
      assume_quality:
138
        - ""
139
      utils.requests:
140
        - Waiting
141
142
##### Common torrents config#
143
  torrents:
144
    torrent_alive:
145
      min_seeds: 3
146
      reject_for: 15 minutes
147
    magnets: no
148
    # Might need to disable if you are getting errors connecting to https sources
149
    # Can remove if you upgrade to python 2.7.9+ or install requests[security]
150
    verify_ssl_certificates: no
151
    domain_delay:
152
      thepiratebay.se: 10 seconds
153
      thepiratebay.org: 10 seconds
154
      limetorrents: 3 seconds
155
      anidex.info: 3 seconds
156
      bt-chat.com: 1 seconds
157
      ezrss.it: 1 seconds
158
      showrss.info: 2 seconds
159
      torlock.eu: 1 seconds
160
      torrenticity.com: 1 seconds
161
      zooqle.com: 2 seconds
162
    urlrewrite:
163
      torrentz2:
164
        regexp: 'http://torrentz2.eu/(?P<id>\w*)'
165
        format: 'magnet:?xt=urn:btih:\g<id>&dn=&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80&tr=udp%3A%2F%2Fopen.demonii.com%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969%2Fannounce'
166
167
168
##### Transmission series config#
169
  transmission-series:
170
    transmission:
171
      <<: *transmission-settings
172
      main_file_only: yes
173
      include_subs: yes
174
      rename_like_files: yes
175
      content_filename: "{{tvdb_series_name|escape|replace('&#39;', '')|pathscrub}} - {{series_id}}{% if tvdb_ep_name|default(False) %} - {{tvdb_ep_name|pathscrub}}{% endif %}{% if quality|default(False) %} - [{{quality}}]{% endif %}"
176
      path: "/{? folder.root ?}{? folder.downseries ?}{{tvdb_series_name|default(series_name)|pathscrub}}/"
177
178
##### Transmission movies config#
179
  transmission-movies:
180
    transmission:
181
      <<: *transmission-settings
182
      main_file_only: yes
183
      include_subs: yes
184
      rename_like_files: yes
185
      content_filename: "{{tmdb_name|pathscrub}} ({{tmdb_year}}){% if quality|default(False) %} - [{{quality}}]{% endif %}{% if release_group|default(False) %} - [{{release_group}}]{% endif %}"
186
      path: "/{? folder.root ?}{? folder.downmovies ?}{{movie_name|pathscrub}}"
187
188
##### Pushbullet config#
189
#  pushbullet:
190
#    notify:
191
#      entries:
192
#        title: "[flexget] {{task}}"
193
#        message: "{{title}}"
194
#        via:
195
#          - pushbullet:
196
#              api_key: "{? pushbullet.api ?}"
197
198
##### Disable builtins for some tasks#
199
  disable-seen-retry:
200
    disable:
201
      - seen
202
      - seen_info_hash
203
      - retry_failed
204
205
##### Series metainfo mainly for move and update tasks#
206
  series-metainfo:
207
    metainfo_series: yes
208
    thetvdb_lookup: yes
209
210
##### Guessit parsing for some series tasks, not applied to all tasks because it causes issues with "name (year)" based series, like scandal#
211
  series-guessit:
212
    parsing:
213
      series: guessit
214
215
##### Movies metainfo mainly for move and update tasks#
216
  movies-metainfo:
217
    tmdb_lookup: yes
218
    parsing:
219
      movie: guessit
220
    metainfo_movie: yes
221
222
223
##### Move template, only necessary if you rename files AFTER they are downloaded. 
224
#  move-series:
225
#    move:
226
#      to: "/{? folder.root ?}{? folder.series ?}{{tvdb_series_name|escape|replace('&#39;', '')|pathscrub}}/S{{series_season|pad(2)}}/"
227
#      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 %}"
228
#      along:
229
#        extensions:
230
#          - srt
231
#          - sub
232
#        subdirs:
233
#          - Subs
234
#      clean_source: 50
235
#    kodi_library:
236
#      action: scan
237
#      category: video
238
#      url: http://localhost
239
#      port: 8080
240
#    list_add:
241
#      - subtitle_list:
242
#          list: subtitles
243
#          path: "{{location}}"
244
#          remove_after: 7 days
245
246
247
tasks:
248
########## SERIES ##########
249
# SYNC WITH TRAKT
250
##### First run only (use ~/flexget/bin/flexget execute --now) Sync Flexget database with watched status in Trakt#  
251
  get-series-nextep:
252
    priority: 2
253
    template:
254
      - disable-seen-retry
255
      - series-metainfo
256
    list_clear:
257
      what:
258
        - entry_list: trakt-series-begin
259
    next_trakt_episodes:
260
      account: "{? trakt.account ?}"
261
      list: "{? trakt.series ?}"
262
      context: watched
263
      position: next
264
    accept_all: yes
265
    list_add:
266
      - entry_list: trakt-series-begin
267
      
268
  set-series-nextep:
269
    priority: 3
270
    template:
271
      - disable-seen-retry
272
      - series-metainfo
273
    entry_list: trakt-series-begin
274
    accept_all: yes
275
    set:
276
      series_name: "{{tvdb_series_name|escape|replace('&#39;', '')}}"
277
    set_series_begin: yes
278
 
279
 # SCAN DATABASE 
280
##### Populates the series database with the files on the library, to avoid duplicate downloads#
281
  populate-series-db:
282
    priority: 4
283
    template:
284
      - series-metainfo
285
    seen: local
286
    filesystem:
287
      path: "/{? folder.root ?}{? folder.series ?}"
288
      recursive: yes
289
      retrieve: files
290
      regexp: '.*\.(avi|mkv|mp4)$'
291
    accept_all: yes
292
    configure_series:
293
      from:
294
        filesystem:
295
          path: "/{? folder.root ?}{? folder.series ?}"
296
          retrieve: dirs
297
      settings:
298
        tracking: no
299
        identified_by: ep
300
  
301
 ##### Fetch, format and output trakt series list to a custom entry list#
302
  fill-series-list:
303
    priority: 5
304
    template:
305
      - disable-seen-retry
306
      - series-metainfo
307
    list_clear:
308
      what:
309
        - entry_list: trakt-series
310
    trakt_list:
311
      account: "{? trakt.account ?}"
312
      list: "{? trakt.series ?}"
313
      type: shows
314
    accept_all: yes
315
    set:
316
      title: "{{tvdb_series_name|escape|replace('&#39;', '')}}"
317
    list_add:
318
      - entry_list: trakt-series   
319
320
321
# GET SERIES
322
##### Download episodes from manually downloaded torrents#
323
  download-series-manual:
324
    priority: 6
325
    template:
326
      - disable-seen-retry
327
      - series-metainfo
328
      - series-guessit
329
      - transmission-series
330
    filesystem:
331
      path: "/{? folder.root ?}{? folder.downseries ?}"
332
      mask: '*.torrent'
333
    accept_all: yes
334
    exec:
335
      on_output:
336
        for_accepted: rm -f "{{location}}"
337
338
339
##### Download episodes from RSS feeds#
340
  download-series-rss:
341
    priority: 7
342
    template:
343
      - series
344
      - reject
345
      - torrents
346
      - transmission-series
347
    inputs:
348
      - rss: http://showrss.info/user/USERID.rss?magnets=true&namespaces=true&name=null&quality=anyhd&re=yes
349
      - rss: https://eztv.ag/ezrss.xml
350
      - rss: https://rarbg.to/rssdd.php?category=1;18;41;49
351
      - rss: 
352
          url: https://zooqle.com/search?q=%2A+category%3ATV&fmt=rss
353
          title: 'torrent:fileName'
354
      - rss: https://www.limetorrents.cc/rss/20/
355
356
      
357
358
##### Discover and download season packs# Please uncomment `backfill` if you need Flexget to download as much as old episodes as it can find. Do the same in series-discover-seasons task and series template.
359
  download-seasons-discover:
360
    priority: 8
361
    template:
362
      - series
363
      - reject
364
      - torrents
365
      - transmission-series
366
      - series-metainfo
367
    #season lookup not supported by thetvdb
368
    thetvdb_lookup: no
369
    magnets: yes
370
    convert_magnet:
371
      timeout: 120 seconds
372
      force: yes
373
    discover:
374
      release_estimations: strict
375
      interval: 15 minutes
376
      what:
377
        - next_series_seasons: yes
378
#            backfill: yes
379
      from:
380
        - piratebay:
381
            category: highres tv
382
        - limetorrents:
383
            category: tv
384
        - rarbg:
385
            category: [1, 18, 41, 49]
386
        - search_rss: https://torrentz2.eu/feed?f=\{{search_term}}
387
388
389
##### Discover and download older episodes# Please uncomment `tracking: backfill` if you need Flexget to download as much as old episodes as it can find. Do the same in series-discover-seasons task and series template.
390
  download-series-discover:
391
    priority: 9
392
    template:
393
      - series
394
      - reject
395
      - torrents
396
      - transmission-series
397
      - series-metainfo
398
    magnets: yes
399
    convert_magnet:
400
      timeout: 120 seconds
401
      force: yes
402
    discover:
403
      release_estimations: strict
404
      interval: 15 minutes
405
      what:
406
        - next_series_episodes: yes
407
#            backfill: yes
408
      from:
409
        - piratebay:
410
            category: highres tv
411
        - limetorrents:
412
            category: tv
413
        - rarbg:
414
            category: [1, 18, 41, 49]
415
        - search_rss: https://torrentz2.eu/feed?f=\{{search_term}}
416
417
########## MOVIES ##########
418
419
##### Remove manually downloaded movies from the movie queue and trakt list#
420
  purge-movies-queue:
421
    priority: 11
422
    template:
423
      - disable-seen-retry
424
      - movies-metainfo
425
    filesystem:
426
      path: "/{? folder.root ?}{? folder.movies ?}"
427
      recursive: yes
428
      retrieve: files
429
      regexp: '.*\.(avi|mkv|mp4)$'
430
    accept_all: yes
431
    list_remove:
432
      - movie_list: trakt-movies
433
      - trakt_list:
434
          account: "{? trakt.account ?}"
435
          list: "{? trakt.movies ?}"
436
          type: movies
437
438
439
##### Fill the movie queue with movies from trakt list#
440
  fill-movies-queue:
441
    priority: 12
442
    trakt_list:
443
      account: "{? trakt.account ?}"
444
      list: "{? trakt.movies ?}"
445
      type: movies
446
      strip_dates: yes
447
    accept_all: yes
448
    list_add:
449
      - movie_list: trakt-movies
450
451
452
##### Download movies manually downloaded torrents#
453
  download-movies-manual:
454
    priority: 13
455
    template:
456
      - disable-seen-retry
457
      - movies-metainfo
458
      - transmission-movies
459
    filesystem:
460
      path: "/{? folder.root ?}{? folder.downmovies ?}"
461
      mask: '*.torrent'
462
    accept_all: yes
463
    exec:
464
      on_output:
465
        for_accepted: rm -f "{{location}}"
466
    list_remove:
467
      - movie_list: trakt-movies
468
      - trakt_list:
469
          account: "{? trakt.account ?}"
470
          list: "{? trakt.movies ?}"
471
          type: movies
472
473
474
##### Discover and download 1080p movies with good bitrate (min. 8GB)#
475
  download-movies-HQ-discover:
476
    priority: 14
477
    template:
478
      - movies-HQ
479
      - reject
480
      - torrents
481
      - transmission-movies
482
    exists_movie:
483
      - "/{? folder.root ?}{? folder.downmovies ?}"
484
      - "/{? folder.root ?}{? folder.movies ?}"
485
    magnets: yes
486
    convert_magnet:
487
      timeout: 120 seconds
488
      force: yes
489
    seen: local
490
    discover:
491
      release_estimations: loose
492
      interval: 15 minutes
493
      what:
494
        - movie_list: trakt-movies
495
      from:
496
        - piratebay:
497
            category: highres movies
498
        - limetorrents:
499
            category: movies
500
    list_match:
501
      from:
502
        - movie_list: trakt-movies
503
    list_remove:
504
      - trakt_list:
505
          account: "{? trakt.account ?}"
506
          list: "{? trakt.movies ?}"
507
          type: movies
508
509
510
##### Discover and download NQ movies (fullHD min 2GB), if the movie is not recent#
511
  download-movies-NQ-discover:
512
    priority: 15
513
    template:
514
      - movies-NQ
515
      - reject
516
      - torrents
517
      - transmission-movies
518
    exists_movie:
519
      - "/{? folder.root ?}{? folder.downmovies ?}"
520
      - "/{? folder.root ?}{? folder.movies ?}"
521
    magnets: yes
522
    convert_magnet:
523
      timeout: 120 seconds
524
      force: yes
525
    seen: local
526
    discover:
527
      release_estimations: loose
528
      interval: 15 minutes
529
      what:
530
        - movie_list: trakt-movies
531
      from:
532
        - piratebay:
533
            category: highres movies
534
        - limetorrents:
535
            category: movies
536
    list_match:
537
      from:
538
        - movie_list: trakt-movies
539
    list_remove:
540
      - trakt_list:
541
          account: "{? trakt.account ?}"
542
          list: "{? trakt.movies ?}"
543
          type: movies
544
545
546
##### Discover and download lower quality/bitrate movies (1-8GB 720p), if the movie is not recent#
547
  download-movies-LQ-discover:
548
    priority: 16
549
    template:
550
      - movies-LQ
551
      - reject
552
      - torrents
553
      - transmission-movies
554
    exists_movie:
555
      - "/{? folder.root ?}{? folder.downmovies ?}"
556
      - "/{? folder.root ?}{? folder.movies ?}"
557
    magnets: yes
558
    convert_magnet:
559
      timeout: 120 seconds
560
      force: yes
561
    seen: local
562
    discover:
563
      release_estimations: loose
564
      interval: 15 minutes
565
      what:
566
        - movie_list: trakt-movies
567
      from:
568
        - piratebay:
569
            category: highres movies
570
        - limetorrents:
571
            category: movies
572
    list_match:
573
      from:
574
        - movie_list: trakt-movies
575
    list_remove:
576
      - trakt_list:
577
          account: "{? trakt.account ?}"
578
          list: "{? trakt.movies ?}"
579
          type: movies
580
581
582
########## SUBTITLES (attempt 1/2) ##########
583
584
##### The first attempt to find subtitles by searching for a match before renaming files.
585
  find-subtitles-series:
586
    priority: 21
587
    template:
588
      - disable-seen-retry
589
    filesystem:
590
      path: "/{? folder.root ?}{? folder.downseries ?}"
591
      recursive: yes
592
      retrieve: files
593
      regexp: '.*\.(avi|mkv|mp4)$'
594
    accept_all: yes
595
    seen: local
596
    subliminal:
597
      languages:
598
        - eng
599
      exact_match: yes
600
      single: no
601
      providers: [opensubtitles, addic7ed, tvsubtitles, podnapisi]
602
      authentication:
603
        opensubtitles:
604
          username: "{? subtitles.user ?}"
605
          password: "{? subtitles.pass ?}"
606
        addic7ed:
607
          username: "{? subtitles.user ?}"
608
          password: "{? subtitles.pass ?}"
609
610
611
##### The first attempt to find subtitles by searching for a match before renaming files.
612
  find-subtitles-movies:
613
    priority: 22
614
    template:
615
      - disable-seen-retry
616
    filesystem:
617
      path: "/{? folder.root ?}{? folder.downmovies ?}"
618
      recursive: yes
619
      retrieve: files
620
      regexp: '.*\.(avi|mkv|mp4)$'
621
    accept_all: yes
622
    seen: local
623
    subliminal:
624
      languages:
625
        - eng
626
      exact_match: yes
627
      single: no
628
      providers: [opensubtitles, addic7ed, tvsubtitles, podnapisi]
629
      authentication:
630
        opensubtitles:
631
          username: "{? subtitles.user ?}"
632
          password: "{? subtitles.pass ?}"
633
        addic7ed:
634
          username: "{? subtitles.user ?}"
635
          password: "{? subtitles.pass ?}"
636
637
638
##########      LIBRARY     ##########
639
  move-series:
640
    priority: 31
641
    template:
642
      - disable-seen-retry
643
      - series-metainfo
644
      - series-guessit
645
    filesystem:
646
      path: "/{? folder.root ?}{? folder.downseries ?}"
647
      recursive: yes
648
      retrieve: files
649
      regexp: '.*\.(avi|mkv|mp4)$'
650
    accept_all: yes
651
    move:
652
      to: "/{? folder.root ?}{? folder.series ?}{{tvdb_series_name|escape|replace('&#39;', '')|pathscrub}}/S{{series_season|pad(2)}}/"
653
      rename: "{{tvdb_series_name|escape|replace('&#39;', '')|pathscrub}} - {{series_id}}{% if tvdb_ep_name|default(False) %} - {{tvdb_ep_name|pathscrub}}{% endif %}{% if quality|default(False) %} - [{{quality}}]{% endif %}"
654
      along:
655
        extensions:
656
          - srt
657
          - sub
658
        subdirs:
659
          - Subs
660
      clean_source: 50
661
    kodi_library:
662
      action: scan
663
      category: video
664
      url: http://192.168.1.1
665
      port: 8080
666
    list_add:
667
      - subtitle_list:
668
          list: subtitles
669
          path: "{{location}}"
670
          remove_after: 7 days
671
    exec:
672
      on_exit:
673
        phase: find "/{? folder.root ?}{? folder.downseries ?}"* -type d -empty -delete
674
675
676
677
##### First add the downloaded series a list, this allows us to solve issues with files that have incorrect filenames. 
678
#  move-series-list:
679
#    priority: 32
680
#    template:
681
#      - disable-seen-retry
682
#      - series-metainfo
683
#    list_clear:
684
#      what:
685
#        - entry_list: downloaded-series
686
#    filesystem:
687
#      path: "/{? folder.root ?}{? folder.downseries ?}"
688
#      recursive: yes
689
#      retrieve: files
690
#      regexp: '.*\.(avi|mkv|mp4)$'
691
#    accept_all: yes
692
#    list_add:
693
#      - entry_list: downloaded-series
694
   
695
    
696
##### Now move series from downloads folder to respective folders, along with existing subtitles and adding the files to the subtitle queue    
697
#  move-series-SxxEyy:
698
#    priority: 33
699
#    template:
700
#      - disable-seen-retry
701
#      - series-metainfo
702
#      - move-series
703
#    entry_list: downloaded-series
704
#    accept_all: yes    
705
#    require_field: tvdb_series_name
706
#    exec:
707
#      on_exit:
708
#        phase: find "/{? folder.root ?}{? folder.downseries ?}"* -type d -empty -delete
709
710
711
##### Fix the leftovers: Move series with incoreect epid numbering were rejected by the move-series task due to incorrect filename (SSEE instead of SxxEyy).  
712
#  move-series-SSEE:
713
#    priority: 34
714
#    template:
715
#      - disable-seen-retry
716
#      - series-metainfo
717
#      - move-series
718
#    entry_list: downloaded-series
719
#    accept_all: yes  
720
#    manipulate:
721
#      - title:
722
#          replace:
723
#            regexp: '([01]\d)([0-2]\d)'
724
#            format: 'S\1E\2'
725
#      - filename:
726
#          from: title
727
#    require_field: tvdb_series_name
728
#    exec:
729
#      on_exit:
730
#        phase: find "/{? folder.root ?}{? folder.downseries ?}"* -type d -empty -delete
731
732
733
##### Fix the leftovers: downloaded series that were rejected by the move-series task due to incorrect filename (SEE instead of SxxEyy), will get a title fix and should get moved on next run.  
734
#  move-series-SEE:
735
#    priority: 35
736
#    template:
737
#      - disable-seen-retry
738
#      - series-metainfo
739
#      - move-series
740
#    entry_list: downloaded-series
741
#    accept_all: yes  
742
#    manipulate:
743
#      - title:
744
#          replace:
745
#            regexp: '([1-9])([0-2]\d)'
746
#            format: 'S\1E\2'
747
#      - filename:
748
#          from: title
749
#    require_field: tvdb_series_name
750
#    exec:
751
#      on_exit:
752
#        phase: find "/{? folder.root ?}{? folder.downseries ?}"* -type d -empty -delete
753
754
755
##### Move movies from downloads folder to the movies folder, along with possible subtitles and adding the files to the subtitle queue#
756
  move-movies:
757
    priority: 36
758
    template:
759
      - disable-seen-retry
760
      - movies-metainfo
761
    require_field: tmdb_name
762
    filesystem:
763
      path: "/{? folder.root ?}{? folder.downmovies ?}"
764
      recursive: yes
765
      retrieve: files
766
      regexp: '.*\.(avi|mkv|mp4)$'
767
    accept_all: yes
768
    regexp:
769
      reject:
770
        - \btrailer\b
771
        - \bsample\b
772
    move:
773
      to: "/{? folder.root ?}{? folder.movies ?}"
774
      rename: "{{tmdb_name|pathscrub}} ({{tmdb_year}}){% if quality|default(False) %} - [{{quality}}]{% endif %}{% if release_group|default(False) %} - [{{release_group}}]{% endif %}"
775
      along:
776
        extensions:
777
          - srt
778
          - sub
779
        subdirs:
780
          - Subs
781
      clean_source: 100
782
    kodi_library:
783
      action: scan
784
      category: video
785
      url: http://192.168.1.1
786
      port: 8080
787
    list_add:
788
      - subtitle_list:
789
          list: subtitles
790
          path: "{{location}}"
791
          remove_after: 7 days
792
    exec:
793
      on_exit:
794
        phase: find "/{? folder.root ?}{? folder.downmovies ?}"* -type d -empty -delete
795
796
797
########## SUBTITLES (attempt 2/2) ##########
798
799
##### Download subtitles for the previously queued files#
800
  get-subtitles:
801
    priority: 40
802
    template:
803
      - disable-seen-retry
804
    subtitle_list:
805
      list: subtitles
806
      recursion_depth: 3
807
    list_match:
808
      from:
809
        - subtitle_list:
810
            list: subtitles
811
    subliminal:
812
      languages:
813
        - eng
814
      exact_match: yes
815
      single: no
816
      providers: [opensubtitles, addic7ed, tvsubtitles, podnapisi]
817
      authentication:
818
        opensubtitles:
819
          username: "{? subtitles.user ?}"
820
          password: "{? subtitles.pass ?}"
821
        addic7ed:
822
          username: "{? subtitles.user ?}"
823
          password: "{? subtitles.pass ?}"
824
825
826
########## CLEANUP ##########
827
828
  clean-transmission:
829
    priority: 51
830
    disable: details
831
    clean_transmission:
832
      <<: *transmission-settings
833
      finished_for: 1 day
834
835
##### Remove ended or canceled series that have been watched from trakt list#
836
  clean-series-list:
837
    priority: 52
838
    template:
839
      - disable-seen-retry
840
      - series-metainfo
841
    trakt_lookup:
842
      account: "{? trakt.account ?}"
843
      username: "{? trakt.account ?}"    
844
    trakt_list:
845
      account: "{? trakt.account ?}"
846
      list: "{? trakt.series ?}"
847
      type: shows    
848
    if:
849
      - "tvdb_status == 'Ended' and trakt_watched": accept
850
    list_remove:
851
      - trakt_list:
852
          account: "{? trakt.account ?}"
853
          list: "{? trakt.series ?}"
854
          type: shows
855
          
856
##### Remove watched seasons from drive#          
857
  clean-old-seasons:
858
    priority: 53
859
    template:
860
      - disable-seen-retry
861
      - series-metainfo
862
    entry_list: trakt-series-begin
863
    accept_all: yes
864
    if:
865
      - series_season == 1 or series_episode == 1: reject
866
      - series_season > 1:
867
          set:
868
            to_remove: "S{{(series_season-1)|pad(2)}}"
869
    exec:
870
      on_output:
871
        for_accepted: find "/{? folder.root ?}{? folder.series ?}{{tvdb_series_name|escape|replace('&#39;', '')}}" -type d -name "{{to_remove}}" -exec rm -r '{}' \;
872
    kodi_library:
873
      action: clean
874
      category: video
875
      url: http://192.168.1.1
876
      port: 8080