Beispiel #1
0
def test_todo_add_to_new_project():
    tmp = mktmpdir()

    todofile = create_todo_file(tmp, todo_content_complex)

    parsergenerator = TaskParserGenerator(todofile)
    tasks, lastindex = parsergenerator.parse()
    todo = Todo.TodoCommands(tasks, lastindex)

    todo.add(('@test-project-3', 'hello there world'))
    parsergenerator.generate(tasks)

    with file(todofile) as fobj:
        want = ( "$version 1",
                 "A - - test-task-1",
                 "B - - test-task-2",
                 "@test-project-1",
                 "B - - test-task-4",
                 "C - - test-task-3",
                 "@test-project-2",
                 "B - - test-task-5",
                 "@test-project-3",
                 "C - - hello there world"
                 )
        result = fobj.read()
        assert result == '\n'.join(want) + '\n'
Beispiel #2
0
def test_task_parser_missing_version():
    tmpdir = mktmpdir()
    todo_file = os.path.join(tmpdir, 'todo')
    with file(todo_file, 'w') as f:
        f.write('\n'.join(todo_content_complex[1:]))

    taskparsergenerator = TaskParserGenerator(todo_file)
    with want_exception(ValueError('incorrect version in todo file')):
        tasks, _ = taskparsergenerator.parse()
def test_task_parser_missing_version():
    tmpdir = mktmpdir()
    todo_file = os.path.join(tmpdir, 'todo')
    with file(todo_file, 'w') as f:
        f.write('\n'.join(todo_content_complex[1:]))

    taskparsergenerator = TaskParserGenerator(todo_file)
    with want_exception(
        ValueError('incorrect version in todo file')
        ):
        tasks, _ = taskparsergenerator.parse()
Beispiel #4
0
    def __init__(self, args):
        self.no_colors = False

        def parse_args_and_opts(args):
            optionParser = OptionParser()

            for opt in Todo.opts:
                optionParser.add_option(*opt[4:],
                                        help=opt[0],
                                        action=opt[1],
                                        dest=opt[2],
                                        default=opt[3])

            return optionParser.parse_args()

        if not os.path.exists(os.path.dirname(_todo_file)):
            os.mkdir(os.path.dirname(_todo_file))

        if not os.path.exists(_todo_file):
            with file(_todo_file, 'w') as f:
                pass

        try:
            opts, args = parse_args_and_opts(args)

            setattr(Todo, 'no_colors', opts.no_colors)

            parserGenerator = TaskParserGenerator(_todo_file)
            tasks, last_index = parserGenerator.parse()

            commandParser = CommandParser([cmd[1] for cmd in Todo.cmds])
            command, args_left = commandParser.parse(args)

            changes = getattr(Todo.TodoCommands(tasks, last_index),
                              command)(args_left)

            if changes:
                parserGenerator.generate(tasks)

        except (TodoError, IOError, ValueError) as err:
            print('error: {0}'.format(err))
Beispiel #5
0
def test_todo_pri():
    tmp = mktmpdir()

    todofile = create_todo_file(tmp, todo_content_complex)

    parsergenerator = TaskParserGenerator(todofile)
    tasks, lastindex = parsergenerator.parse()
    todo = Todo.TodoCommands(tasks, lastindex)

    todo.pri(['@test-project-1', "A"])
    parsergenerator.generate(tasks)

    with file(todofile) as fobj:
        want = ( "$version 1",
                 "A - - test-task-1",
                 "B - - test-task-2",
                 "@test-project-1",
                 "A - - test-task-3",
                 "A - - test-task-4",
                 "@test-project-2",
                 "B - - test-task-5")
        result = fobj.read()
        assert result == '\n'.join(want) + '\n'
Beispiel #6
0
    def __init__(self, args):
        self.no_colors = False

        def parse_args_and_opts(args):
            optionParser = OptionParser()

            for opt in Todo.opts:
                optionParser.add_option(*opt[4:], help=opt[0], action=opt[1], dest=opt[2], default=opt[3])

            return optionParser.parse_args()

        if not os.path.exists(os.path.dirname(_todo_file)):
            os.mkdir(os.path.dirname(_todo_file))

        if not os.path.exists(_todo_file):
            with file(_todo_file, "w") as f:
                pass

        try:
            opts, args = parse_args_and_opts(args)

            setattr(Todo, "no_colors", opts.no_colors)

            parserGenerator = TaskParserGenerator(_todo_file)
            tasks, last_index = parserGenerator.parse()

            commandParser = CommandParser([cmd[1] for cmd in Todo.cmds])
            command, args_left = commandParser.parse(args)

            changes = getattr(Todo.TodoCommands(tasks, last_index), command)(args_left)

            if changes:
                parserGenerator.generate(tasks)

        except (TodoError, IOError, ValueError) as err:
            print ("error: {0}".format(err))