def executer(self, args): print('''Serveur PyUPnP ({}) '''.format(helper.VERSION)) s = Starter() s.parametrer(**vars(args)) s.executer()
class Learner(Cmd): prompt = "learnBash>" intro = "let's learnBash" courses = Starter([BasicCourse]) def __init__(self): Cmd.__init__(self) # Operations def learn(self): self.cmdloop() # need to wipe out cmdqueue to ignore cmd line args def preloop(self): self.cmdqueue = [] # Commands def do_quit(self, line): """Quit learnBash""" print("Quitting.") return True def do_courses(self, line): """List available courses""" print("Available courses:") print("\n".join(self.courses.names())) def do_start(self, line): """Start a course""" if not self.courses.start(line): print("No such course!") def complete_start(self, text, line, begidx, endidx): return self.courses.matching(text)
class Course(Cmd): name = "GenericCourse" lessons = Starter([]) def __init__(self): Cmd.__init__(self) self.prompt = "{}>".format(self.name) self.intro = "Starting {}".format(self.name) def start(self): self.cmdloop() # need to wipe out cmdqueue to ignore cmd line args def preloop(self): self.cmdqueue = [] def do_hello(self, line): print("Course says hello") def do_quit(self, line): print("Quitting course: {}".format(self.name)) return True def do_lessons(self, line): """List lessons in course""" for pos, name in enumerate(self.lessons.names(), start=1): print("{}. {}".format(pos, name)) def do_start(self, line): if not self.lessons.start(line): print("No such lesson!") def complete_start(self, text, line, begidx, endidx): return self.lessons.matching(text)
def test_day(): input = Starter(2018, 1).read_from_input_file() if test_solution1(input): test_solution2(input)
class BasicCourse(Course): name = "BasicCourse" lessons = Starter([EchoLesson])
def __init__(self): self.__starter = Starter() self.__monitor = Monitor() self.__register_url_rules()