Bladeren bron

new save playlists option

Nick Sweeting 5 jaren geleden
bovenliggende
commit
2829b18b0b
3 gewijzigde bestanden met toevoegingen van 5 en 1 verwijderingen
  1. 2 0
      archivebox/config/__init__.py
  2. 1 0
      archivebox/config/stubs.py
  3. 2 1
      archivebox/extractors/media.py

+ 2 - 0
archivebox/config/__init__.py

@@ -68,6 +68,7 @@ CONFIG_DEFAULTS: Dict[str, ConfigDefaultDict] = {
         'SAVE_WARC':                {'type': bool,  'default': True, 'aliases': ('FETCH_WARC',)},
         'SAVE_GIT':                 {'type': bool,  'default': True, 'aliases': ('FETCH_GIT',)},
         'SAVE_MEDIA':               {'type': bool,  'default': True, 'aliases': ('FETCH_MEDIA',)},
+        'SAVE_PLAYLISTS':           {'type': bool,  'default': True, 'aliases': ('FETCH_PLAYLISTS',)},
         'SAVE_ARCHIVE_DOT_ORG':     {'type': bool,  'default': True, 'aliases': ('SUBMIT_ARCHIVE_DOT_ORG',)},
     },
 
@@ -228,6 +229,7 @@ DERIVED_CONFIG_DEFAULTS: ConfigDefaultDict = {
     'USE_YOUTUBEDL':            {'default': lambda c: c['USE_YOUTUBEDL'] and c['SAVE_MEDIA']},
     'YOUTUBEDL_VERSION':        {'default': lambda c: bin_version(c['YOUTUBEDL_BINARY']) if c['USE_YOUTUBEDL'] else None},
     'SAVE_MEDIA':               {'default': lambda c: c['USE_YOUTUBEDL'] and c['SAVE_MEDIA']},
+    'SAVE_PLAYLISTS':           {'default': lambda c: c['SAVE_PLAYLISTS'] and c['SAVE_MEDIA']},
 
     'USE_CHROME':               {'default': lambda c: c['USE_CHROME'] and (c['SAVE_PDF'] or c['SAVE_SCREENSHOT'] or c['SAVE_DOM'])},
     'CHROME_BINARY':            {'default': lambda c: c['CHROME_BINARY'] if c['CHROME_BINARY'] else find_chrome_binary()},

+ 1 - 0
archivebox/config/stubs.py

@@ -42,6 +42,7 @@ class ConfigDict(BaseConfig, total=False):
     SAVE_WARC: bool
     SAVE_GIT: bool
     SAVE_MEDIA: bool
+    SAVE_PLAYLISTS: bool
     SAVE_ARCHIVE_DOT_ORG: bool
 
     RESOLUTION: str

+ 2 - 1
archivebox/extractors/media.py

@@ -13,6 +13,7 @@ from ..util import (
 from ..config import (
     MEDIA_TIMEOUT,
     SAVE_MEDIA,
+    SAVE_PLAYLISTS,
     YOUTUBEDL_BINARY,
     YOUTUBEDL_VERSION,
     CHECK_SSL_VALIDITY
@@ -45,7 +46,6 @@ def save_media(link: Link, out_dir: Optional[str]=None, timeout: int=MEDIA_TIMEO
         '--write-description',
         '--write-info-json',
         '--write-annotations',
-        '--yes-playlist',
         '--write-thumbnail',
         '--no-call-home',
         '--no-check-certificate',
@@ -59,6 +59,7 @@ def save_media(link: Link, out_dir: Optional[str]=None, timeout: int=MEDIA_TIMEO
         '--audio-quality', '320K',
         '--embed-thumbnail',
         '--add-metadata',
+        *(['--yes-playlist'] if SAVE_PLAYLISTS else []),
         *([] if CHECK_SSL_VALIDITY else ['--no-check-certificate']),
         link.url,
     ]