diff options
author | Luo Jinghua <sunmoon1997@gmail.com> | 2010-01-21 23:36:25 +0800 |
---|---|---|
committer | Luo Jinghua <sunmoon1997@gmail.com> | 2010-01-21 23:37:00 +0800 |
commit | 5f0acde19268c7a8200d855198a74ad59ba5fb33 (patch) | |
tree | 91a2ff44ee5bba71020a5492dbffa61ba94aa647 | |
parent | 71cb1f2636a27479d378da957a2129d98657f753 (diff) |
pplist: add methods to retrive play list for class PPSList
-rw-r--r-- | totem/plugin/ppslist.py | 44 |
1 files changed, 35 insertions, 9 deletions
diff --git a/totem/plugin/ppslist.py b/totem/plugin/ppslist.py index 8510a5c..d68ce10 100644 --- a/totem/plugin/ppslist.py +++ b/totem/plugin/ppslist.py @@ -185,7 +185,8 @@ class PPSMovie: self.image = '' self.cn = 1 self.playerurl = '' - self.files = [] + self.baseurl = '' + self.files = {} self.pixbuf = None self.parent = None @@ -213,7 +214,7 @@ class PPSMovie: return area.encode('utf-8') def parse (self, node): - self.files = [] + self.files = {} self.pixbuf = None self.image = extractString(node.find('img')['src']) tr = node.find('dl', { "class" : "tr" }) @@ -235,12 +236,22 @@ class PPSMovie: self.__dict__.update(d) self.smallimage = self.image - def getFiles(self): - return self.files + def getFiles(self, page_id = 0): + if page_id in self.files: + return self.files[page_id] + return [] + + def getAllFiles(self): + keys = self.files.keys() + keys.sort() + result = [] + for key in keys: + result += self.files[key] + return result - def setFiles(self, files): - self.files = copy.copy(files) - for f in self.files: + def setFiles(self, files, page_id = 0): + self.files[page_id] = copy.copy(files) + for f in self.files[page_id]: f.parent = self def download(url, max_retry = 3, interval = 5): @@ -492,8 +503,23 @@ class PPSList: result = parseMovieFileList(movie, s) return result - def updateMovie(self, cls, movie, file_list): - movie.files = copy.copy(file_list) + def parseMoviePlayListUrl(self, cls, movie, s): + result = getMovieFileListFrameBaseUrl(s) + movie.baseurl = result + return result + + def fetchMoviePlayList(self, cls, movie, page_id = 0): + if not movie.baseurl: + return None + s = download(movie.baseurl + '/%s.html') + return s + + def parseMoviePlayList(self, cls, movie, s, page_id = 0): + result = parseMoviePlayList(s) + return result + + def updateMovie(self, cls, movie, file_list, page_id = 0): + movie.setFiles(file_list, page_id) if __name__ == '__main__': ## movie_class_list = getMovieClassList() |