2013-02-14, 21:17
(2013-02-14, 13:35)Mossy Wrote: Eden plugin zip: https://www.dropbox.com/l/SrdosdpacjeyvDgd
Thanks Mossy, I can confirm that it works on Eden!
For the paranoid ones, there's nothing bad happening here :-)
Code:
$ md5sum plugin.video.youtube-3.4.1b.zip
880de45802510ddbc1a948ca82c5b705 plugin.video.youtube-3.4.1b.zip
$ diff -r plugin.video.youtube plugin.video.youtube-3.4.1 | grep -v pyc
diff -r plugin.video.youtube/addon.xml plugin.video.youtube-3.4.1/addon.xml
2c2
< <addon id="plugin.video.youtube" name="YouTube" provider-name="TheCollective" version="3.4.1b">
---
> <addon id="plugin.video.youtube" name="YouTube" provider-name="TheCollective" version="3.4.1">
21c21
< <summary lang="en">YouTube video plugin, with quick fix</summary>
---
> <summary lang="en">YouTube video plugin</summary>
122c122
< </addon>
---
> </addon>
\ No newline at end of file
diff -r plugin.video.youtube/YouTubePlayer.py plugin.video.youtube-3.4.1/YouTubePlayer.py
22d21
< import re
25a25
>
296,300c296,312
<
< pattern = "yt.playerConfig\s*=\s*({.*});"
< match = re.search(pattern, data)
< if match is None:
< return flashvars
---
> found = False
>
> for line in data.split("\n"):
> if line.strip().startswith("var swf = \""):
> found = True
> p1 = line.find("=")
> p2 = line.rfind(";")
> if p1 <= 0 or p2 <= 0:
> continue
> data = line[p1 + 1:p2]
> break
>
> if found:
> data = json.loads(data)
> data = data[data.find("flashvars"):]
> data = data[data.find("\""):]
> data = data[:1 + data[1:].find("\"")]
302,303c314,315
< playerconfig = json.loads(match.group(1))
< flashvars = playerconfig['args']
---
> for k, v in cgi.parse_qs(data).items():
> flashvars[k] = v[0]
315d326
<
319c330
< for url_desc in flashvars[u"url_encoded_fmt_stream_map"].split(u","):
---
> for url_desc in flashvars[u"url_encoded_fmt_stream_map"].split(u","):