1 # videarn plugin by AliAbdul
2 from Plugin import Movie, Plugin
5 ##################################################
7 class VidearnMovie(Movie):
8 def __init__(self, name, url, thumb):
9 Movie.__init__(self, name, url, thumb)
11 def getVideoUrl(self):
13 data = urllib2.urlopen(self.url).read()
16 reonecat = re.compile(r"<source src='(.+?)' type='video/mp4;'>")
17 list = reonecat.findall(data)
18 if list and len(list) > 0:
23 ##################################################
25 class VidearnSub(Plugin):
26 def __init__(self, name, url):
28 self.moreEntries = True
29 Plugin.__init__(self, name, "videarn.png")
31 def getEntries(self, callback, currPage=1):
32 self.currPage = currPage
33 self.callback = callback
34 self.getPage("http://videarn.com/%s&page=%d" % (self.url, self.currPage))
36 def getPageCallback(self, page):
38 reonecat = re.compile(r'<div class="gal">(.+?)</font></div></div></div>', re.DOTALL)
\r
39 divs = reonecat.findall(page)
41 reonecat = re.compile(r'<a href="(.+?)".+?<img src="(.+?)".+?class="galtitle">(.+?)</a>', re.DOTALL)
42 for url, thumb, name in reonecat.findall(div):
43 movies.append(VidearnMovie(name, "http://videarn.com/"+url, thumb))
46 def getMoreEntries(self):
48 self.getEntries(self.callback, self.currPage+1)
50 def getPageError(self, error=None):
51 if error and self.currPage == 1:
52 print "[%s] Error: %s" % (self.name, error)
54 self.moreEntries = False
56 ##################################################
58 class Videarn(Plugin):
60 Plugin.__init__(self, "videarn.com", "videarn.png")
62 def getEntries(self, callback):
63 self.callback = callback
64 self.getPage("http://videarn.com")
66 def getPageCallback(self, page):
68 start = "<span>Browse Videos</span>"
70 if start in page and end in page:
71 page = page[page.index(start):]
72 page = page[:page.index(end)]
73 reonecat = re.compile(r'<a href="(.+?)">(.+?)</a>', re.DOTALL)
\r
74 for url, name in reonecat.findall(page):
75 plugins.append(VidearnSub("videarn.com - "+name, url))
76 self.callback(plugins)
78 def getPageError(self, error=None):
79 if error: print "[%s] Error: %s" % (self.name, error)
81 ##################################################