Пример #1
0
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)
Пример #2
0
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)
Пример #3
0
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)
Пример #4
0
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)
Пример #5
0
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)
Пример #6
0
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)