backend stateful
This commit is contained in:
parent
6b3ac71621
commit
27876970f3
4 changed files with 19 additions and 17 deletions
|
|
@ -246,10 +246,16 @@ class Videoob(ReplApplication):
|
||||||
def do_ls(self, line):
|
def do_ls(self, line):
|
||||||
self.videos = []
|
self.videos = []
|
||||||
if len(self.working_dir) == 0:
|
if len(self.working_dir) == 0:
|
||||||
for name in [b.NAME for b in self.weboob. iter_backends(caps=ICapCollection)]:
|
for name in [b.NAME for b in self.weboob.iter_backends(caps=ICapCollection)]:
|
||||||
print name
|
print name
|
||||||
return 0
|
return 0
|
||||||
for backend, rep in self.do('iter_resources', backends=self.working_dir[0]):
|
|
||||||
|
backend = [b for b in self.enabled_backends if b.NAME == self.working_dir[0]][0]
|
||||||
|
|
||||||
|
def do(backend):
|
||||||
|
return backend.iter_resources(self.working_dir[1:])
|
||||||
|
|
||||||
|
for backend, rep in self.do(do, backends=self.working_dir[0]):
|
||||||
if isinstance(rep, BaseVideo):
|
if isinstance(rep, BaseVideo):
|
||||||
self.videos.append(rep)
|
self.videos.append(rep)
|
||||||
self.format(rep)
|
self.format(rep)
|
||||||
|
|
@ -311,6 +317,7 @@ class Videoob(ReplApplication):
|
||||||
if len(self.working_dir) == 0:
|
if len(self.working_dir) == 0:
|
||||||
tmp = [b.NAME for b in self.weboob. iter_backends(caps=ICapCollection)]
|
tmp = [b.NAME for b in self.weboob. iter_backends(caps=ICapCollection)]
|
||||||
else:
|
else:
|
||||||
tmp = [rep for backend, rep in self.do('iter_resources', backends=self.working_dir[0])]
|
backend = [b for b in self.enabled_backends if b.NAME == self.working_dir[0]][0]
|
||||||
|
tmp = [rep for rep in backend.iter_resources(self.working_dir[1:])]
|
||||||
|
|
||||||
return [s[offs:] for s in tmp if s.startswith(mline)]
|
return [s[offs:] for s in tmp if s.startswith(mline)]
|
||||||
|
|
|
||||||
|
|
@ -66,15 +66,10 @@ class CanalplusBackend(BaseBackend, ICapVideo, ICapCollection):
|
||||||
|
|
||||||
OBJECTS = {CanalplusVideo: fill_video}
|
OBJECTS = {CanalplusVideo: fill_video}
|
||||||
|
|
||||||
working_coll = []
|
|
||||||
|
|
||||||
def get_working_collection(self):
|
|
||||||
return self.working_coll
|
|
||||||
|
|
||||||
def change_working_collection(self, splited_path):
|
def change_working_collection(self, splited_path):
|
||||||
self.working_coll = self.browser.change_working_collection(splited_path)
|
with self.browser:
|
||||||
return self.working_coll
|
return self.browser.change_working_collection(splited_path)
|
||||||
|
|
||||||
def iter_resources(self):
|
def iter_resources(self, splited_path):
|
||||||
rep = self.browser.iter_resources(self.working_coll)
|
with self.browser:
|
||||||
return rep
|
return self.browser.iter_resources(splited_path)
|
||||||
|
|
|
||||||
|
|
@ -94,7 +94,7 @@ class CanalplusBrowser(BaseBrowser):
|
||||||
|
|
||||||
return walk(splited_path, collections)
|
return walk(splited_path, collections)
|
||||||
|
|
||||||
def iter_resources(self, cur_coll):
|
def iter_resources(self, splited_path):
|
||||||
self.home()
|
self.home()
|
||||||
collections = self.page.collections
|
collections = self.page.collections
|
||||||
|
|
||||||
|
|
@ -110,4 +110,4 @@ class CanalplusBrowser(BaseBrowser):
|
||||||
|
|
||||||
return walk_res(path[1:], [collection.children for collection in collections if collection.title == i][0])
|
return walk_res(path[1:], [collection.children for collection in collections if collection.title == i][0])
|
||||||
|
|
||||||
return walk_res(cur_coll, collections)
|
return walk_res(splited_path, collections)
|
||||||
|
|
|
||||||
|
|
@ -67,5 +67,5 @@ class ICapCollection(IBaseCap):
|
||||||
def change_working_collection(self, splited_path):
|
def change_working_collection(self, splited_path):
|
||||||
raise NotImplementedError()
|
raise NotImplementedError()
|
||||||
|
|
||||||
def iter_resources(self):
|
def iter_resources(self, splited_path):
|
||||||
raise NotImplementedError()
|
raise NotImplementedError()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue