def handler(command, argument): current_job = db.get_state()['job'] if argument == current_job: return view.cannotDeleteCurrentJob(current_job) if db.exists(argument): db.delete(argument) return view.deleted(argument) view.notFound(argument)
def handler(command, argument): file = db.get_state()['job'] database = db.read(file) last_action = str(database['lastAction']) if last_action == 'in': return punch_out(database) if last_action == 'out': return punch_in(database)
def handler(command, argument): current_job = db.get_state()['job'] path = os.path.abspath(db.__dirname + '/database/') databases = [ is_current( os.path.splitext(os.path.basename(f))[0], current_job ) for f in os.listdir(path) if os.path.isfile(os.path.join(path, f)) ] return view.listJobs(databases)
def handler(command, argument): if argument is None: file = db.get_state()['job'] database = db.read(file) else: file = argument if db.exists(file): database = db.read(file) else: return view.invalidJob(file) hours = round(timer.total_hours(database), 2) return view.displayInformation(database, hours)
def handler(command, argument): if argument is None: return view.jobNameRequired() if re.search('\/', argument) is not None: return view.invalidCharacter(argument) db.set_state({'job': argument}) if not db.exists(argument): schema = db.get_state('schema') schema['name'] = argument db.write(schema, argument) return view.newSelectedJob(argument)
def handle(command, argument): if db.get_state() is False: return view.createFirstJob() if command is None: command = 'punch' handlers = { 'punch': punch.handler, 'p': punch.handler, 'track': track.handler, 't': track.handler, 'rm': rm.handler, 'r': rm.handler, 'list': _list.handler, 'l': _list.handler, 'info': info.handler, 'i': info.handler, } if (command not in handlers): return view.invalidCommand(command) return handlers[command](command, argument)