From 8c977825b9a7e36319a7c3dd5d4d04a029378a53 Mon Sep 17 00:00:00 2001 From: theo Date: Fri, 16 Mar 2012 17:17:14 +0100 Subject: [PATCH] ls dir is equivalent to cd dir + ls + cd .. Until now, ls discarded arguments. ls = ls dir: videoob> ls ~ (emissions) Emissions (canalplus) ~ (sport) Sport (canalplus) ~ (cinema) Cinema (canalplus) ~ (cesar-2012) Cesar 2012 (canalplus) ~ (series-fictions) Series / fictions (canalplus) ~ (du-hard-ou-du-cochon) Du hard ou du cochon (canalplus) ~ (divertissement) Divertissement (canalplus) ~ (canal-street) Canal street (canalplus) ~ (musique) Musique (canalplus) ~ (docus-infos) Docus / infos (canalplus) videoob> ls sport ~ (emissions) Emissions (canalplus) ~ (sport) Sport (canalplus) ~ (cinema) Cinema (canalplus) ~ (cesar-2012) Cesar 2012 (canalplus) ~ (series-fictions) Series / fictions (canalplus) ~ (du-hard-ou-du-cochon) Du hard ou du cochon (canalplus) ~ (divertissement) Divertissement (canalplus) ~ (canal-street) Canal street (canalplus) ~ (musique) Musique (canalplus) ~ (docus-infos) Docus / infos (canalplus) With this patch, we are now able to ls a dir without chdir into it. For instance: videoob> ls ~ (emissions) Emissions (canalplus) ~ (sport) Sport (canalplus) ~ (cinema) Cinema (canalplus) ~ (cesar-2012) Cesar 2012 (canalplus) ~ (series-fictions) Series / fictions (canalplus) ~ (du-hard-ou-du-cochon) Du hard ou du cochon (canalplus) ~ (divertissement) Divertissement (canalplus) ~ (canal-street) Canal street (canalplus) ~ (musique) Musique (canalplus) ~ (docus-infos) Docus / infos (canalplus) videoob> ls sport ~ (les-incontournables) Les incontournables (canalplus) ~ (les-plus-recentes) Les plus recentes (canalplus) ~ (les-plus-vues) Les plus vues (canalplus) ~ (tout-le-football) Tout le football (canalplus) ~ (tout-le-rugby) Tout le rugby (canalplus) ~ (tout-le-basket) Tout le basket (canalplus) ~ (tout-le-tennis-golf) Tout le tennis / golf (canalplus) ~ (autres-sports-home-sport) Autres sports - home sport (canalplus) ~ (les-emissions-sport) Les emissions sport (canalplus) videoob> ls ~ (emissions) Emissions (canalplus) ~ (sport) Sport (canalplus) ~ (cinema) Cinema (canalplus) ~ (cesar-2012) Cesar 2012 (canalplus) ~ (series-fictions) Series / fictions (canalplus) ~ (du-hard-ou-du-cochon) Du hard ou du cochon (canalplus) ~ (divertissement) Divertissement (canalplus) ~ (canal-street) Canal street (canalplus) ~ (musique) Musique (canalplus) ~ (docus-infos) Docus / infos (canalplus) Signed-off-by: theo --- weboob/tools/application/repl.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/weboob/tools/application/repl.py b/weboob/tools/application/repl.py index 1f6a8bab..70460364 100644 --- a/weboob/tools/application/repl.py +++ b/weboob/tools/application/repl.py @@ -854,7 +854,13 @@ class ReplApplication(Cmd, ConsoleApplication): ls List objects in current path. + If an argument is given, list the specified path. """ + + # We have an argument, let's ch to the directory before the ls + if len(line.strip()): + self.working_path.cd1(line) + self.objects, self.collections = self._fetch_objects(objs=self.COLLECTION_OBJECTS) for obj in self.objects: @@ -872,6 +878,10 @@ class ReplApplication(Cmd, ConsoleApplication): print u'%s~ (%s) (%s)%s' % \ (self.BOLD, collection.basename, collection.backend, self.NC) + # Let's go back to the parent directory + if len(line.strip()): + self.working_path.home() + def do_cd(self, line): """ cd [PATH]