]> code.delx.au - youtube-cgi/blobdiff - youtube.cgi
added window.location.hash
[youtube-cgi] / youtube.cgi
index 3149343fe286d9281fa595dcc181bc5acdff5ab7..7d3935771ebbbec6f11268b9ac75e641241413f1 100755 (executable)
@@ -165,11 +165,14 @@ def decode_signature(js_url, signature):
         stdout=subprocess.PIPE
     )
     js_decode_script = ("""
-        var vm = require("vm");
+        var vm = require('vm');
 
         var sandbox = {
             window: {
-                location: {},
+                location: {
+                    hash: '',
+                    href: ''
+                },
                 history: {
                     pushState: function(){}
                 },
@@ -181,8 +184,9 @@ def decode_signature(js_url, signature):
             transformed_signature: null
         };
 
-        var execstring = ";transformed_signature = %(func_name)s(signature);";
-        vm.runInNewContext(%(code)s + execstring, sandbox);
+        var code_string = %(code)s + ';';
+        var exec_string = 'transformed_signature = %(func_name)s(signature);';
+        vm.runInNewContext(code_string + exec_string, sandbox);
 
         console.log(sandbox.transformed_signature);
     """ % params)