mirror of
https://git.webmeisterei.com/webmeisterei/todoist-taskwarrior.git
synced 2023-12-21 10:23:00 +01:00
Implement a very basic, description-only import
This commit is contained in:
parent
ba13b4e915
commit
82cc4bc04b
40
.gitignore
vendored
Normal file
40
.gitignore
vendored
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
# Byte-compiled / optimized / DLL files
|
||||||
|
__pycache__/
|
||||||
|
*.py[cod]
|
||||||
|
*$py.class
|
||||||
|
|
||||||
|
# C extensions
|
||||||
|
*.so
|
||||||
|
|
||||||
|
# Distribution / packaging
|
||||||
|
.Python
|
||||||
|
build/
|
||||||
|
develop-eggs/
|
||||||
|
dist/
|
||||||
|
downloads/
|
||||||
|
eggs/
|
||||||
|
.eggs/
|
||||||
|
lib/
|
||||||
|
lib64/
|
||||||
|
parts/
|
||||||
|
sdist/
|
||||||
|
var/
|
||||||
|
wheels/
|
||||||
|
*.egg-info/
|
||||||
|
.installed.cfg
|
||||||
|
*.egg
|
||||||
|
MANIFEST
|
||||||
|
|
||||||
|
# PyInstaller
|
||||||
|
# Usually these files are written by a python script from a template
|
||||||
|
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
||||||
|
*.manifest
|
||||||
|
*.spec
|
||||||
|
|
||||||
|
# Installer logs
|
||||||
|
pip-log.txt
|
||||||
|
pip-delete-this-directory.txt
|
||||||
|
|
||||||
|
# Environments
|
||||||
|
venv/
|
||||||
|
|
48
migrate.py
Normal file
48
migrate.py
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
import click
|
||||||
|
from taskw import TaskWarrior
|
||||||
|
from todoist.api import TodoistAPI
|
||||||
|
|
||||||
|
todoist = None
|
||||||
|
taskwarrior = None
|
||||||
|
|
||||||
|
""" CLI Commands """
|
||||||
|
|
||||||
|
@click.group()
|
||||||
|
@click.option('--todoist-api-key', envvar='TODOIST_API_KEY', required=True)
|
||||||
|
def cli(todoist_api_key):
|
||||||
|
# Just do some initialization
|
||||||
|
global todoist
|
||||||
|
global taskwarrior
|
||||||
|
todoist = TodoistAPI(todoist_api_key)
|
||||||
|
taskwarrior = TaskWarrior()
|
||||||
|
|
||||||
|
|
||||||
|
@cli.command()
|
||||||
|
@click.option('-i', '--interactive', default=False)
|
||||||
|
def migrate(interactive):
|
||||||
|
important('Starting migration...')
|
||||||
|
# todoist.sync()
|
||||||
|
tasks = todoist.items.all()
|
||||||
|
|
||||||
|
info(f'Todoist tasks: {len(todoist.items.all())}')
|
||||||
|
for task in todoist.items.all():
|
||||||
|
tid = task['id']
|
||||||
|
name = task['content']
|
||||||
|
info(f'Importing task #{tid}: {name}')
|
||||||
|
taskwarrior.task_add(name)
|
||||||
|
|
||||||
|
""" Utils """
|
||||||
|
|
||||||
|
def important(msg):
|
||||||
|
click.echo(click.style(msg, fg='blue', bold=True))
|
||||||
|
|
||||||
|
|
||||||
|
def info(msg):
|
||||||
|
click.echo(msg)
|
||||||
|
|
||||||
|
|
||||||
|
""" Entrypoint """
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
cli()
|
||||||
|
|
4
requirements.txt
Normal file
4
requirements.txt
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
Click==7.0
|
||||||
|
taskw==1.2.0
|
||||||
|
todoist-python==7.0.18
|
||||||
|
|
Loading…
Reference in New Issue
Block a user