Browse Source

[jsinterp] Workaround operator associativity issue
* temporary fix for player 5a3b6271 [1]

1. https://github.com/yt-dlp/yt-dlp/issues/4635#issuecomment-1235384480

pukkandan 3 years ago
parent
commit
7009bb9f31
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

@@ -131,6 +131,10 @@ _NSIG_TESTS = [
         'https://www.youtube.com/s/player/c57c113c/player_ias.vflset/en_US/base.js',
         'https://www.youtube.com/s/player/c57c113c/player_ias.vflset/en_US/base.js',
         '-Txvy6bT5R6LqgnQNx', 'dcklJCnRUHbgSg',
         '-Txvy6bT5R6LqgnQNx', 'dcklJCnRUHbgSg',
     ),
     ),
+    (
+        'https://www.youtube.com/s/player/5a3b6271/player_ias.vflset/en_US/base.js',
+        'B2j7f_UPT4rfje85Lu_e', 'm5DmNymaGQ5RdQ',
+    ),
 ]
 ]
 
 
 
 

+ 1 - 1
youtube_dl/jsinterp.py

@@ -107,8 +107,8 @@ _OPERATORS = (
     ('+', _js_arith_op(operator.add)),
     ('+', _js_arith_op(operator.add)),
     ('-', _js_arith_op(operator.sub)),
     ('-', _js_arith_op(operator.sub)),
     ('*', _js_arith_op(operator.mul)),
     ('*', _js_arith_op(operator.mul)),
-    ('/', _js_div),
     ('%', _js_mod),
     ('%', _js_mod),
+    ('/', _js_div),
     ('**', _js_exp),
     ('**', _js_exp),
 )
 )