summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuo Jinghua <sunmoon1997@gmail.com>2010-01-21 23:36:25 +0800
committerLuo Jinghua <sunmoon1997@gmail.com>2010-01-21 23:37:00 +0800
commit5f0acde19268c7a8200d855198a74ad59ba5fb33 (patch)
tree91a2ff44ee5bba71020a5492dbffa61ba94aa647
parent71cb1f2636a27479d378da957a2129d98657f753 (diff)
pplist: add methods to retrive play list for class PPSList
-rw-r--r--totem/plugin/ppslist.py44
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()