The branch, eden has been updated
via 320e5a5e4ca3cb2a0baba55b7242847e1ee28951 (commit)
from 8f8e12965e8d8b4012f59b283a919b9051f74024 (commit)
- Log -----------------------------------------------------------------
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/scripts;a=commit;h=320e5a5e4ca3cb2a0baba55b7242847e1ee28951
commit 320e5a5e4ca3cb2a0baba55b7242847e1ee28951
Author: Martijn Kaijser <[email protected]>
Date: Wed Nov 6 10:50:00 2013 +0100
[script.module.urlresolver] 1.1.2
diff --git a/script.module.urlresolver/addon.xml
b/script.module.urlresolver/addon.xml
index ce6903f..3d05258 100644
--- a/script.module.urlresolver/addon.xml
+++ b/script.module.urlresolver/addon.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="script.module.urlresolver"
name="urlresolver"
- version="1.1.1"
+ version="1.1.2"
provider-name="XBMCHub.com">
<requires>
<import addon="xbmc.python" version="2.0" />
diff --git a/script.module.urlresolver/changelog.txt
b/script.module.urlresolver/changelog.txt
index 5b08985..5bd8dda 100644
--- a/script.module.urlresolver/changelog.txt
+++ b/script.module.urlresolver/changelog.txt
@@ -1,3 +1,6 @@
+[B]Version 1.1.2[/B]
+- Vidxden bugfix
+
[B]Version 1.1.1[/B]
- New unwise class for new unpacking method some sites are now using
- Added VideoTanker
diff --git a/script.module.urlresolver/lib/urlresolver/plugins/daclips.py
b/script.module.urlresolver/lib/urlresolver/plugins/daclips.py
index 65ac38b..36b1017 100644
--- a/script.module.urlresolver/lib/urlresolver/plugins/daclips.py
+++ b/script.module.urlresolver/lib/urlresolver/plugins/daclips.py
@@ -36,7 +36,7 @@ class DaclipsResolver(Plugin, UrlResolver, PluginSettings):
self.priority = int(p)
self.net = Net()
#e.g. http://daclips.com/vb80o1esx2eb
- self.pattern =
'http://((?:www.)?daclips.(?:in|com))/(?:embed-)?([0-9a-zA-Z]+)'
+ self.pattern = 'http://((?:www.)?daclips.(?:in|com))/([0-9a-zA-Z]+)'
def get_media_url(self, host, media_id):
@@ -45,7 +45,7 @@ class DaclipsResolver(Plugin, UrlResolver, PluginSettings):
try:
resp = self.net.http_GET(web_url)
html = resp.content
- r = re.findall(r"<title>404 - Not Found</title>",html)
+ r = re.findall(r'<span class="t" id="head_title">404 - File Not
Found</span>',html)
if r:
raise Exception ('File Not Found or removed')
post_url = resp.get_url()
@@ -53,9 +53,9 @@ class DaclipsResolver(Plugin, UrlResolver, PluginSettings):
for i in re.finditer('<input type="hidden" name="(.+?)"
value="(.+?)">', html):
form_values[i.group(1)] = i.group(2)
html = self.net.http_POST(post_url, form_data=form_values).content
- r = re.search('file: "(.+?)"', html)
+ r = re.search('file: "http(.+?)"', html)
if r:
- return r.group(1)
+ return "http" + r.group(1)
else:
raise Exception ('Unable to resolve Daclips link')
diff --git a/script.module.urlresolver/lib/urlresolver/plugins/mightyupload.py
b/script.module.urlresolver/lib/urlresolver/plugins/mightyupload.py
index 3790a4d..72a549f 100644
--- a/script.module.urlresolver/lib/urlresolver/plugins/mightyupload.py
+++ b/script.module.urlresolver/lib/urlresolver/plugins/mightyupload.py
@@ -42,7 +42,7 @@ class MightyuploadResolver(Plugin, UrlResolver,
PluginSettings):
try:
html = self.net.http_GET(web_url).content
form_values = {}
- for i in re.finditer('<input type="hidden" name="(.+?)"
value="(.+?)">', html):
+ for i in re.finditer('<input type="hidden" name="(.*?)"
value="(.*?)"', html):
form_values[i.group(1)] = i.group(2)
html = self.net.http_POST(web_url, form_data=form_values).content
r = re.search("<div id=\"player_code\">.*?<script
type='text/javascript'>(.*?)</script>",html,re.DOTALL)
@@ -54,6 +54,8 @@ class MightyuploadResolver(Plugin, UrlResolver,
PluginSettings):
js = jsunpack.unpack(r.group(1))
r = re.search("'file','([^']+)'", js.replace('\\',''))
if not r:
+ r = re.search('"src"value="([^"]+)', js.replace('\\',''))
+ if not r:
raise Exception ('Unable to resolve Mightyupload link.
Filelink not found.')
return r.group(1)
diff --git a/script.module.urlresolver/lib/urlresolver/plugins/movpod.py
b/script.module.urlresolver/lib/urlresolver/plugins/movpod.py
index 853ad13..a6a0f7d 100644
--- a/script.module.urlresolver/lib/urlresolver/plugins/movpod.py
+++ b/script.module.urlresolver/lib/urlresolver/plugins/movpod.py
@@ -36,7 +36,7 @@ class MovpodResolver(Plugin, UrlResolver, PluginSettings):
self.priority = int(p)
self.net = Net()
#e.g. http://movpod.com/vb80o1esx2eb
- self.pattern =
'http://((?:www.)?movpod.(?:net|in))/(?:embed-)?([0-9a-zA-Z]+)'
+ self.pattern = 'http://((?:www.)?movpod.(?:net|in))/([0-9a-zA-Z]+)'
def get_media_url(self, host, media_id):
@@ -46,9 +46,6 @@ class MovpodResolver(Plugin, UrlResolver, PluginSettings):
try:
resp = self.net.http_GET(web_url)
html = resp.content
- r = re.findall(r"<title>404 - Not Found</title>",html)
- if r:
- raise Exception ('File Not Found or removed')
post_url = resp.get_url()
@@ -57,9 +54,9 @@ class MovpodResolver(Plugin, UrlResolver, PluginSettings):
form_values[i.group(1)] = i.group(2)
html = self.net.http_POST(post_url, form_data=form_values).content
- r = re.search('file: "(.+?)"', html)
+ r = re.search('file: "http(.+?)"', html)
if r:
- return r.group(1)
+ return "http" + r.group(1)
else:
raise Exception ('Unable to resolve Movpod Link')
diff --git a/script.module.urlresolver/lib/urlresolver/plugins/sharerepo.py
b/script.module.urlresolver/lib/urlresolver/plugins/sharerepo.py
index ebc05fc..c8a9230 100644
--- a/script.module.urlresolver/lib/urlresolver/plugins/sharerepo.py
+++ b/script.module.urlresolver/lib/urlresolver/plugins/sharerepo.py
@@ -20,7 +20,7 @@ from t0mm0.common.net import Net
from urlresolver.plugnplay.interfaces import UrlResolver
from urlresolver.plugnplay.interfaces import PluginSettings
from urlresolver.plugnplay import Plugin
-import re, xbmcgui, os
+import re, xbmcgui, os, urllib2
from urlresolver import common
from lib import jsunpack
diff --git a/script.module.urlresolver/lib/urlresolver/plugins/thefile.py
b/script.module.urlresolver/lib/urlresolver/plugins/thefile.py
index a070601..b2d3ccd 100644
--- a/script.module.urlresolver/lib/urlresolver/plugins/thefile.py
+++ b/script.module.urlresolver/lib/urlresolver/plugins/thefile.py
@@ -43,10 +43,10 @@ class TheFileResolver(Plugin, UrlResolver, PluginSettings):
web_url = self.get_url(host, media_id)
try:
html = self.net.http_GET(web_url).content
- r = re.search("<script
type='text/javascript'>(.+?)</script>",html,re.DOTALL)
+ r =
re.search('<script\stype=(?:"|\')text/javascript(?:"|\')>eval\(function\(p,a,c,k,e,[dr]\)(?!.+player_ads.+).+?</script>',html,re.DOTALL)
if r:
js = jsunpack.unpack(r.group(1))
- r = re.search("'file','(.+?)'", js)
+ r = re.search("'file','(.+?)'", js.replace('\\',''))
if r:
return r.group(1)
raise Exception ('File Not Found or removed')
diff --git a/script.module.urlresolver/lib/urlresolver/plugins/uploadc.py
b/script.module.urlresolver/lib/urlresolver/plugins/uploadc.py
index f17e7e5..1c1a7e9 100644
--- a/script.module.urlresolver/lib/urlresolver/plugins/uploadc.py
+++ b/script.module.urlresolver/lib/urlresolver/plugins/uploadc.py
@@ -61,7 +61,7 @@ class UploadcResolver(Plugin, UrlResolver, PluginSettings):
# modified by mscreations. get the file url from the returned
javascript
match = re.search("addVariable[(]'file','(.+?)'[)]", html,
re.DOTALL + re.IGNORECASE)
if match:
- return match.group(1)
+ return
match.group(1)+'|Referer=http%3A%2F%2Fwww.uploadc.com%2Fplayer%2Fplayer-embed.swf'
raise Exception ('File Not Found or removed')
except urllib2.URLError, e:
diff --git a/script.module.urlresolver/lib/urlresolver/plugins/vidxden.py
b/script.module.urlresolver/lib/urlresolver/plugins/vidxden.py
index b049257..8a8bfea 100644
--- a/script.module.urlresolver/lib/urlresolver/plugins/vidxden.py
+++ b/script.module.urlresolver/lib/urlresolver/plugins/vidxden.py
@@ -80,18 +80,18 @@ class VidxdenResolver(Plugin, UrlResolver, PluginSettings):
html = resp.content
try: os.remove(img)
except: pass
- filename=re.compile('<input name="fname" type="hidden"
value="(.+?)">').findall(html)[0]
- noscript=re.compile('<iframe src="(.+?)"').findall(html)[0]
- check = self.net.http_GET(noscript).content
- hugekey=re.compile('id="adcopy_challenge"
value="(.+?)">').findall(check)[0]
- headers= {'User-Agent':'Mozilla/6.0 (Macintosh; I; Intel Mac
OS X 11_7_9; de-LI; rv:1.9b4) Gecko/2012010317 Firefox/10.0a4',
-
'Host':'api.solvemedia.com','Referer':resp.get_url(),'Accept':'image/png,image/*;q=0.8,*/*;q=0.5'}
- open(img, 'wb').write(
self.net.http_GET("http://api.solvemedia.com%s"%re.compile('<img
src="(.+?)"').findall(check)[0]).content)
- solver = InputWindow(captcha=img)
- puzzle = solver.get()
- if puzzle:
-
data={'adcopy_response':urllib.quote_plus(puzzle),'adcopy_challenge':hugekey,'op':'download1','method_free':'1','usr_login':'','id':media_id,'fname':filename}
- html = self.net.http_POST(resp.get_url(),data).content
+ filename=re.compile('<input name="fname" type="hidden"
value="(.+?)">').findall(html)[0]
+ noscript=re.compile('<iframe src="(.+?)"').findall(html)[0]
+ check = self.net.http_GET(noscript).content
+ hugekey=re.compile('id="adcopy_challenge"
value="(.+?)">').findall(check)[0]
+ headers= {'User-Agent':'Mozilla/6.0 (Macintosh; I; Intel Mac OS X
11_7_9; de-LI; rv:1.9b4) Gecko/2012010317 Firefox/10.0a4',
+
'Host':'api.solvemedia.com','Referer':resp.get_url(),'Accept':'image/png,image/*;q=0.8,*/*;q=0.5'}
+ open(img, 'wb').write(
self.net.http_GET("http://api.solvemedia.com%s"%re.compile('<img
src="(.+?)"').findall(check)[0]).content)
+ solver = InputWindow(captcha=img)
+ puzzle = solver.get()
+ if puzzle:
+
data={'adcopy_response':urllib.quote_plus(puzzle),'adcopy_challenge':hugekey,'op':'download1','method_free':'1','usr_login':'','id':media_id,'fname':filename}
+ html = self.net.http_POST(resp.get_url(),data).content
#find packed javascript embed code
r = re.search('return
p}\(\'(.+?);\',\d+,\d+,\'(.+?)\'\.split',html)
diff --git a/script.module.urlresolver/lib/urlresolver/plugins/vureel.py
b/script.module.urlresolver/lib/urlresolver/plugins/vureel.py
index bc5ba59..0e439d1 100644
--- a/script.module.urlresolver/lib/urlresolver/plugins/vureel.py
+++ b/script.module.urlresolver/lib/urlresolver/plugins/vureel.py
@@ -40,7 +40,7 @@ class vureelResolver(Plugin, UrlResolver, PluginSettings):
def get_media_url(self, host, media_id):
web_url = self.get_url(host, media_id)
try:
-
html=self.net.http_GET('http://www.vureel.com/playwire.php?vid=%s'%media_id).content
+
html=self.net.http_GET('http://www.vureel.com/playwire.php?vid=%s'%media_id,
{'Referer': 'http://cdn.playwire.com/bolt.swf'}).content
flv=re.findall(r'<src>(.+?)</src>',html)
if flv:
return flv[0]
diff --git a/script.module.urlresolver/lib/urlresolver/plugins/zalaa.py
b/script.module.urlresolver/lib/urlresolver/plugins/zalaa.py
index 9c475a1..1fe0878 100644
--- a/script.module.urlresolver/lib/urlresolver/plugins/zalaa.py
+++ b/script.module.urlresolver/lib/urlresolver/plugins/zalaa.py
@@ -46,34 +46,25 @@ class ZalaaResolver(Plugin, UrlResolver, PluginSettings):
try:
html = self.net.http_GET(web_url).content
- r = 'method="POST"\s+name=\'frmdownload\'.+?"ipcount_val" value="'
- r +=
'([0-9]+)".+?"op"\s+value="(.+?)".+?name="fname"\s+value="(.+?)"'
-
- r = re.search(r,html,re.DOTALL)
- ipcount_val,op,fname = r.groups()
- data = {'ipcount_val':ipcount_val}
- data['op'] = op
- data['usr_login'] = ''
- data['id'] = media_id
- data['fname'] = fname
- data['referer'] = web_url
- data['method_free'] = 'Slow access'
-
- html = self.net.http_POST(web_url, data).content
- # get url from packed javascript
- sPattern = '<script type=(?:"|\')text/javascript(?:"|\')>(eval\('
- sPattern += 'function\(p,a,c,k,e,d\)(?!.+player_ads.+).+np_vid.+?)'
- sPattern += '\s+?</script>'
- r = re.search(sPattern, html, re.DOTALL + re.IGNORECASE)
+
+ #send all form values
+ sPattern = '<input.*?name="([^"]+)".*?value=([^>]+)>'
+ r = re.findall(sPattern, html)
+ data = {}
if r:
- sJavascript = r.group(1)
- sUnpacked = jsunpack.unpack(sJavascript)
- common.addon.log(sUnpacked)
- sPattern = '<embed id="np_vid"type="video/divx"src="(.+?)'
- sPattern += '"custommode='
- r = re.search(sPattern, sUnpacked)
- if r:
- return r.group(1)
+ for match in r:
+ name = match[0]
+ value = match[1].replace('"','')
+ data[name] = value
+
+ html = self.net.http_POST(web_url, data).content
+ else:
+ raise Exception ('File Not Found or removed')
+
+ # modified by mscreations. get the file url from the returned
javascript
+ match = re.search("addVariable[(]'file','(.+?)'[)]", html,
re.DOTALL + re.IGNORECASE)
+ if match:
+ return
match.group(1)+'|Referer=http%3A%2F%2Fwww.zalaa.com%2Fplayer%2Fplayer-embed.swf'
raise Exception ('File Not Found or removed')
except urllib2.URLError, e:
-----------------------------------------------------------------------
Summary of changes:
script.module.urlresolver/addon.xml | 2 +-
script.module.urlresolver/changelog.txt | 3 +
.../lib/urlresolver/plugins/daclips.py | 8 ++--
.../lib/urlresolver/plugins/mightyupload.py | 4 +-
.../lib/urlresolver/plugins/movpod.py | 9 +---
.../lib/urlresolver/plugins/sharerepo.py | 2 +-
.../lib/urlresolver/plugins/thefile.py | 4 +-
.../lib/urlresolver/plugins/uploadc.py | 2 +-
.../lib/urlresolver/plugins/vidxden.py | 24 +++++-----
.../lib/urlresolver/plugins/vureel.py | 2 +-
.../lib/urlresolver/plugins/zalaa.py | 43 ++++++++------------
11 files changed, 48 insertions(+), 55 deletions(-)
hooks/post-receive
--
Scripts
------------------------------------------------------------------------------
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons