Browse Source

[documentation] Crypto is an optional dependency

pukkandan 4 years ago
parent
commit
06ff212d64
6 changed files with 10 additions and 8 deletions
  1. 2 2
      .github/workflows/build.yml
  2. 2 2
      README.md
  3. 1 0
      devscripts/pyinst.py
  4. 1 0
      requirements.txt
  5. 1 1
      setup.py
  6. 3 3
      youtube_dlc/postprocessor/embedthumbnail.py

+ 2 - 2
.github/workflows/build.yml

@@ -84,7 +84,7 @@ jobs:
       with:
           python-version: '3.8'
     - name: Install Requirements
-      run: pip install pyinstaller mutagen
+      run: pip install pyinstaller mutagen Crypto
     - name: Bump version
       id: bump_version
       run: python devscripts/update-version.py
@@ -122,7 +122,7 @@ jobs:
           python-version: '3.4.4'
           architecture: 'x86'
     - name: Install Requirements for 32 Bit
-      run: pip install pyinstaller==3.5 mutagen
+      run: pip install pyinstaller==3.5 mutagen Crypto
     - name: Bump version
       id: bump_version
       run: python devscripts/update-version.py

+ 2 - 2
README.md

@@ -102,9 +102,9 @@ You can install yt-dlp using one of the following methods:
 ### COMPILE
 
 **For Windows**:
-To build the Windows executable, you must have pyinstaller (and optionally mutagen for embedding thumbnail in opus/ogg files)
+To build the Windows executable, you must have pyinstaller (and optionally mutagen and Crypto)
 
-    python -m pip install --upgrade pyinstaller mutagen
+    python -m pip install --upgrade pyinstaller mutagen Crypto
 
 Once you have all the necessary dependancies installed, just run `py devscripts\pyinst.py`. The executable will be built for the same architecture (32/64 bit) as the python used to build it. It is strongly reccomended to use python3 although python2.6+ is supported.
 

+ 1 - 0
devscripts/pyinst.py

@@ -73,6 +73,7 @@ PyInstaller.__main__.run([
     '--exclude-module=test',
     '--exclude-module=ytdlp_plugins',
     '--hidden-import=mutagen',
+    '--hidden-import=Crypto',
     'youtube_dlc/__main__.py',
 ])
 SetVersion('dist/youtube-dlc%s.exe' % _x86, VERSION_FILE)

+ 1 - 0
requirements.txt

@@ -1 +1,2 @@
 mutagen
+Crypto

+ 1 - 1
setup.py

@@ -20,7 +20,7 @@ LONG_DESCRIPTION = '\n\n'.join((
     '**PS**: Many links in this document will not work since this is a copy of the README.md from Github',
     open("README.md", "r", encoding="utf-8").read()))
 
-REQUIREMENTS = ['mutagen']
+REQUIREMENTS = ['mutagen', 'Crypto']
 
 
 if len(sys.argv) >= 2 and sys.argv[1] == 'py2exe':

+ 3 - 3
youtube_dlc/postprocessor/embedthumbnail.py

@@ -10,9 +10,9 @@ import base64
 
 try:
     import mutagen
-    _has_mutagen = True
+    has_mutagen = True
 except ImportError:
-    _has_mutagen = False
+    has_mutagen = False
 
 from .ffmpeg import FFmpegPostProcessor
 
@@ -153,7 +153,7 @@ class EmbedThumbnailPP(FFmpegPostProcessor):
                     success = False
 
         elif info['ext'] in ['ogg', 'opus']:
-            if not _has_mutagen:
+            if not has_mutagen:
                 raise EmbedThumbnailPPError('module mutagen was not found. Please install using `python -m pip install mutagen`')
             self.to_screen('Adding thumbnail to "%s"' % filename)