1
0
Fork 0
mirror of https://github.com/Findus23/PaperLibrary-cli.git synced 2024-09-20 17:03:46 +02:00
PaperLibrary-cli/paperlibrary/pap.py

49 lines
1.2 KiB
Python
Raw Normal View History

2020-10-14 21:38:36 +02:00
import click
2023-06-27 22:38:59 +02:00
from click_default_group import DefaultGroup
2020-10-14 21:38:36 +02:00
from paperlibrary.api import PaperLibraryAPI
2021-04-02 13:17:12 +02:00
from paperlibrary.config import get_config, Config, save_config, config_check
2023-06-27 22:38:59 +02:00
from paperlibrary.library import write_symlinks, update_pdfs, write_bibliography, update_notes, update_meta
2020-10-14 21:38:36 +02:00
2023-06-27 22:38:59 +02:00
@click.group(cls=DefaultGroup, default="update",default_if_no_args=True)
2020-12-29 17:16:16 +01:00
@click.pass_context
def cli(ctx):
ctx.obj = get_config()
2020-10-14 21:38:36 +02:00
pass
2020-11-01 13:48:40 +01:00
2020-10-14 21:38:36 +02:00
@cli.command()
2020-12-29 17:16:16 +01:00
@click.pass_obj
def update(config: Config):
2021-04-02 13:17:12 +02:00
config_check(config)
2020-12-29 17:16:16 +01:00
api = PaperLibraryAPI(config.url, auth_token=config.auth_token)
write_bibliography(api, config)
update_pdfs(api, config)
2023-06-27 22:38:59 +02:00
update_meta(api, config)
update_notes(api, config)
write_symlinks(api, config)
2020-10-14 21:38:36 +02:00
2020-11-01 13:48:40 +01:00
@cli.command()
2020-12-29 17:16:16 +01:00
@click.pass_obj
def test(config: Config):
api = PaperLibraryAPI(config.url, auth_token=config.auth_token)
2020-11-01 13:48:40 +01:00
print(api.fetch_papers())
2020-12-29 17:16:16 +01:00
@cli.command()
def init():
url = click.prompt("URL", type=str)
auth_token = click.prompt("auth_token", type=str)
basedir = click.prompt("basedir", type=str)
config = Config(url=url, auth_token=auth_token, basedir=basedir)
save_config(config)
2020-10-14 21:38:36 +02:00
if __name__ == '__main__':
cli()