2015-02-07, 19:31
(2015-02-03, 22:01)Kempniu Wrote:Code:fullAlgoCode += '\n\treturn %s(param)' % mainFunName.replace('$','_S_')
Actually this is only a partial fix which has been known for sometime. Some of the signature functions are now referencing sub-functions assigned to a global variable, rather than sub-functions within the signature function. It doesn't look to me like the code is structured correctly to go back through the global variable/functions and their sub-functions to find the correct function to complete the signature function. You can see this type of a function here:
12:00:39 T:9772 NOTICE: [YouTube-4.4.10] _jsToPy : 'function at(a){a=a.split("");$s.Ov(a,3);$s.Vg(a,51);$s.hJ(a,23);$s.Ov(a,2);$s.hJ(a,29);$s.Vg(a,32);$s.hJ(a,44);return a.join("")}'
$s is assigned functions preceding this as:
var $s={Ov:function(a,b){a.splice(0,b)},hJ:function(a,b){var c=a[0];a[0]=a[b%a.length];a[b]=c},Vg:function(a){a.reverse()}}; - though I think you could get away with just searching for hJ:function\(.+?\){.+?}, Ov:function\(.+?\){.+?), etc as function definitions in the cases I looked at.
Someone who has time and understands the code better could come up with a fix, it's just a pain to keep this going. My explanation above is probably not technically correct as I know less than 0 about javascript.
You can find such signatures if you just search for "VEVO" and click on a Taylor Swift or Mark Ronson video (not an endorsement).