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)
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