Example #1
0
def import_items(items: List[Item], keep: Keep):
    labels = create_labels(
        [label for label in items if type(label) is FolderItem], keep)

    items = [item for item in items if type(item) is not FolderItem]

    items_progress = ProgressBar(len(items))

    for item in items:
        item_type = type(item)

        keep_item = None
        if item_type is Item:
            keep_item = keep.createNote(item.title, item.body)
        elif item_type is ListItem:
            keep_item = keep.createList(item.title, item.items)
        else:
            raise f"Unexpected item {item}"

        keep_item.color = item.color
        keep_item.pinned = item.pinned

        if item.folder:
            keep_item.labels.add(labels[item.folder])

        items_progress.next("Adding items")
        keep.sync()

        sleep(1)
Example #2
0
def add_todo(keep: Keep, todo: Todo, labels: list[node.Label]) -> node.List:
    items = []
    for item in todo.items:
        items.append((item, False))
    note = keep.createList(todo.title, items)
    note.color = todo.color
    for label in labels:
        note.labels.add(label)
    return note