add bangyoulater support
authorNabil Hanna <ali@users.schwerkraft.elitedvb.net>
Sun, 5 Dec 2010 11:52:18 +0000 (11:52 +0000)
committerNabil Hanna <ali@users.schwerkraft.elitedvb.net>
Sun, 5 Dec 2010 11:52:18 +0000 (11:52 +0000)
porncenter/src/Additions/bangyoulater.png [new file with mode: 0644]
porncenter/src/Additions/bangyoulater.py [new file with mode: 0644]

diff --git a/porncenter/src/Additions/bangyoulater.png b/porncenter/src/Additions/bangyoulater.png
new file mode 100644 (file)
index 0000000..ec8cba9
Binary files /dev/null and b/porncenter/src/Additions/bangyoulater.png differ
diff --git a/porncenter/src/Additions/bangyoulater.py b/porncenter/src/Additions/bangyoulater.py
new file mode 100644 (file)
index 0000000..4b75ee9
--- /dev/null
@@ -0,0 +1,62 @@
+# bangyoulater plugin by AliAbdul
+from Plugin import Movie, Plugin
+import re, urllib2
+
+##################################################
+
+class bangYouLaterSub(Plugin):
+       def __init__(self, name, url):
+               self.url = url
+               self.moreEntries = True
+               Plugin.__init__(self, name, "bangyoulater.png")
+
+       def getEntries(self, callback, currPage=1):
+               self.currPage = currPage
+               self.callback = callback
+               self.getPage("%s/%d" % (self.url, self.currPage))
+
+       def getPageCallback(self, page):
+               movies = []
+               reonecat = re.compile(r'<div class="mobile_item">(.+?)</td>', re.DOTALL)
+               for div in reonecat.findall(page):
+                       reonecat = re.compile(r'<a href="/player.php(.+?)"><img src="(.+?)" /></a>.+?margin-top: 8px;">(.+?)</div>', re.DOTALL)
+                       for url, thumb, name in reonecat.findall(div):
+                               movies.append(Movie(name, "http://stream.bangyoulater.com/"+url[3:]+"/mobile.mp4", thumb))
+               self.callback(movies)
+
+       def getMoreEntries(self):
+               if self.moreEntries:
+                       self.getEntries(self.callback, self.currPage+1)
+
+       def getPageError(self, error=None):
+               if error and self.currPage == 1:
+                       print "[%s] Error: %s" % (self.name, error)
+               else:
+                       self.moreEntries = False
+
+##################################################
+
+class bangYouLater(Plugin):
+       def __init__(self):
+               Plugin.__init__(self, "Bang You Later", "bangyoulater.png")
+
+       def getEntries(self, callback):
+               self.callback = callback
+               self.getPage("http://mobile.bangyoulater.com")
+
+       def getPageCallback(self, page):
+               plugins = []
+               if 'Most Discussed' in page:
+                       page = page[page.index('Most Discussed'):]
+               reonecat = re.compile(r'<option value="(.+?)">(.+?)</option>', re.DOTALL)\r
+               for cat, name in reonecat.findall(page):
+                       plugins.append(bangYouLaterSub("Bang You Later - "+name, "http://mobile.bangyoulater.com/?cat="+cat))
+               self.callback(plugins)
+
+       def getPageError(self, error=None):
+               if error: print "[%s] Error: %s" % (self.name, error)
+
+##################################################
+
+def getPlugin():
+       return bangYouLater()