From d6d75095995df82ad5a2b303ed94a7e594f2e1ba Mon Sep 17 00:00:00 2001 From: Nabil Hanna Date: Sun, 25 Jul 2010 07:49:19 +0000 Subject: [PATCH] added videarn.com support to porn-center --- porncenter/src/Additions/videarn.png | Bin 0 -> 6526 bytes porncenter/src/Additions/videarn.py | 84 +++++++++++++++++++++++++++++++++++ 2 files changed, 84 insertions(+) create mode 100644 porncenter/src/Additions/videarn.png create mode 100644 porncenter/src/Additions/videarn.py diff --git a/porncenter/src/Additions/videarn.png b/porncenter/src/Additions/videarn.png new file mode 100644 index 0000000000000000000000000000000000000000..d2fc71a9698f6f25b66c4a2bc16f13771324827a GIT binary patch literal 6526 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") + list = reonecat.findall(data) + if list and len(list) > 0: + return list[0] + else: + return None + +################################################## + +class VidearnSub(Plugin): + def __init__(self, name, url): + self.url = url + self.moreEntries = True + Plugin.__init__(self, name, "videarn.png") + + def getEntries(self, callback, currPage=1): + self.currPage = currPage + self.callback = callback + self.getPage("http://videarn.com/%s&page=%d" % (self.url, self.currPage)) + + def getPageCallback(self, page): + movies = [] + reonecat = re.compile(r'
(.+?)
', re.DOTALL) + divs = reonecat.findall(page) + for div in divs: + reonecat = re.compile(r'(.+?)', re.DOTALL) + for url, thumb, name in reonecat.findall(div): + movies.append(VidearnMovie(name, "http://videarn.com/"+url, 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 Videarn(Plugin): + def __init__(self): + Plugin.__init__(self, "videarn.com", "videarn.png") + + def getEntries(self, callback): + self.callback = callback + self.getPage("http://videarn.com") + + def getPageCallback(self, page): + plugins = [] + start = "Browse Videos" + end = "" + if start in page and end in page: + page = page[page.index(start):] + page = page[:page.index(end)] + reonecat = re.compile(r'(.+?)', re.DOTALL) + for url, name in reonecat.findall(page): + plugins.append(VidearnSub("videarn.com - "+name, url)) + self.callback(plugins) + + def getPageError(self, error=None): + if error: print "[%s] Error: %s" % (self.name, error) + +################################################## + +def getPlugin(): + return Videarn() -- 2.7.4