Browse Source

[jsinterp] Handle `Date` at epoch 0

See yt-dlp/yt_dlp#6400
pukkandan 2 years ago
parent
commit
3e92c60fcd
2 changed files with 5 additions and 1 deletions
  1. 4 0
      test/test_youtube_signature.py
  2. 1 1
      youtube_dl/jsinterp.py

+ 4 - 0
test/test_youtube_signature.py

@@ -67,6 +67,10 @@ _SIG_TESTS = [
 ]
 
 _NSIG_TESTS = [
+    (
+        'https://www.youtube.com/s/player/7862ca1f/player_ias.vflset/en_US/base.js',
+        'X_LCxVDjAavgE5t', 'yxJ1dM6iz5ogUg',
+    ),
     (
         'https://www.youtube.com/s/player/9216d1f7/player_ias.vflset/en_US/base.js',
         'SLp9F5bwjAdhE9F-', 'gWnb9IK2DJ8Q1w',

+ 1 - 1
youtube_dl/jsinterp.py

@@ -405,7 +405,7 @@ class JSInterpreter(object):
                 left, right = self._separate_at_paren(obj[len(klass):])
                 argvals = self.interpret_iter(left, local_vars, allow_recursion)
                 expr = konstr(*argvals)
-                if not expr:
+                if expr is None:
                     raise self.Exception('Failed to parse {klass} {left!r:.100}'.format(**locals()), expr=expr)
                 expr = self._dump(expr, local_vars) + right
                 break