示例#1
0
def begin(nums):
    for item in task.items:
        if item['number'] in nums and item["type"] == "task":
            if item['status'] != "in-progress":
                item['status'] = "in-progress"

            else:
                item['status'] = "undone"
            render_prefs['success'] = True
    write_json_items() if render_prefs['success'] else None
示例#2
0
def refactor(do_archive=True):
    for inx, item in enumerate(task.items):
        item['number'] = inx + 1
    write_json_items()

    if do_archive:
        for inx, item in enumerate(task.archive):
            item['number'] = inx + 1
        write_json_archive()
    render_prefs['success'] = True
示例#3
0
def star(nums):
    for item in task.items:
        if item['number'] in nums:
            if item['starred']:
                item['starred'] = False
            else:
                item['starred'] = True
            render_prefs['success'] = True

    write_json_items() if render_prefs['success'] else None
示例#4
0
def priority(arg):
    nums, prior = arg.rsplit(" ", 1) if " " in arg else (arg, "")
    nums = [int(s) for s in nums.split() if s.isdigit()]

    for item in task.items:
        if item["number"] in nums and prior in task.Task.prip_dict.keys():
            item["priority"] = task.Task.prip_dict[prior]
            render_prefs['success'] = True

    write_json_items() if render_prefs['success'] else None
示例#5
0
def attach_to_board(arg):
    nums, book = arg.rsplit(" ", 1) if " " in arg else (arg, "")
    nums = [int(s) for s in nums.split() if s.isdigit()]
    if not book or not nums:
        return

    for item in task.items:
        if item['number'] in nums and item['type']:
            if book not in item['board name']:
                item['board name'].append(book)
                render_prefs['success'] = True

    write_json_items() if render_prefs['success'] else None
示例#6
0
def edit(arg):
    num, header = arg.lsplit(" ", 1) if " " in arg else (arg, "")
    header = header.strip()
    if not header:
        return

    for item in task.items:
        if item['number'] == num:
            render_prefs['success'] = True
            item['header'] = header
            break

    write_json_items() if render_prefs['success'] else None
示例#7
0
def restore(nums):
    indexes = [x for x, y in enumerate(task.archive) if y['number'] in nums]

    for index in indexes:
        task.archive[index]["number"] = _get_newid_board()
        task.items.append(task.archive[index])
    for index in reversed(indexes):
        del task.archive[-1 * (len(task.archive) - index)]

    if indexes:
        render_prefs['success'] = True
        write_json_items()
        write_json_archive()
示例#8
0
def edit_content(nums):
    if len(nums) != 1:
        return

    findex = -1
    for index, item in enumerate(task.items):
        if item['number'] == nums[0] and item['type'] == "snippet":
            findex = index
            break
    if findex != -1:
        render_prefs['success'] = True
        task.items[findex]['detail'] = editor.open_editor(
            contents=task.items[findex]['detail']).strip()
        write_json_items()
示例#9
0
def move(arg):
    nums, book = arg.rsplit(" ", 1) if " " in arg else (arg, "")
    nums = [int(s) for s in nums.split() if s.isdigit()]
    if not nums:
        return

    for item in task.items:
        if item['number'] in nums:  # there is some error. check later
            if book not in item['board name']:
                item['board name'].clear()
                bookst = book.strip()
                if bookst:
                    item['board name'].append(bookst)
                render_prefs['success'] = True
    write_json_items() if render_prefs['success'] else None
示例#10
0
def delete(nums):
    if not nums:
        return
    indexes = [x for x, y in enumerate(task.items) if y['number'] in nums]

    for index in indexes:
        task.items[index]["number"] = _get_newid_archive()
        task.archive.append(task.items[index])

    for index in reversed(indexes):
        del task.items[-1 * (len(task.items) - index)]

    if indexes:
        render_prefs['success'] = True
        write_json_items()
        write_json_archive()
示例#11
0
def add_item(arg, item_type):
    if not arg:
        return

    header, boards = _parse_boards(arg)
    if switch_param and switch_param not in boards:
        boards.append(switch_param)
    num = _get_newid_board()
    typee = item_type
    prior = "*1"
    det = editor.open_editor() if item_type == "snippet" else None
    if det is not None:
        det = det.strip()
        if not det or det.isspace():
            return

    status = "undone" if item_type == "task" else None
    item = task.Task(typee, num, header,
                     det, status, prior, boards).to_dict()
    task.items.append(item)
    write_json_items()
    render_prefs['success'] = True