def ls(self, param): # get actual element: elm = self.path[len(self.path)-1] print(Colors.c('./', Colors.BLUE)) if len(self.path) > 1: print(Colors.c('../', Colors.BLUE)) for k,v in elm.getChildren().items(): if isinstance(v, SugarSyncDirectory): print(Colors.c(str(k) + '/', Colors.BLUE)) else: print(k)
def cmd(self): while self.run: want = input('%s %s ' % (self.getPath(), Colors.c('$', Colors.BLUE))) cmd = '' param = '' # its always the same: command parameters - there is no &&, ||, |, &, etc. pp. index = want.find(' ') if index > 0: cmd = want[:index] param = want[index:] else: cmd = want param = '' try: self.cmds[cmd](param) except KeyError as ke: print('Wrong input.') except Exception as e: print('Error processing action.', e) exc_type, exc_value, exc_traceback = sys.exc_info() #print("*** print_tb:") #traceback.print_tb(exc_traceback, limit=20, file=sys.stdout) print("*** print_exception:") traceback.print_exception(exc_type, exc_value, exc_traceback, limit=20, file=sys.stdout)
def getPath(self, withHeader=True, colorize=True): # the beginning: if len(self.sugarsync.nickname) > 0: h = self.sugarsync.nickname + ' ' else: h = self.sugarsync.username[:self.sugarsync.username.find('@')] + ' ' if colorize: h = Colors.c(h, Colors.YELLOWL) p = '' for f in self.path: p = p + f.getName() + '/' if colorize: p = Colors.c(p, Colors.BLUE) if withHeader: return h + p else: return p