summaryrefslogtreecommitdiffstats
path: root/girok/girok.py
diff options
context:
space:
mode:
Diffstat (limited to 'girok/girok.py')
-rw-r--r--girok/girok.py48
1 files changed, 48 insertions, 0 deletions
diff --git a/girok/girok.py b/girok/girok.py
new file mode 100644
index 0000000..c3bb334
--- /dev/null
+++ b/girok/girok.py
@@ -0,0 +1,48 @@
+from pathlib import Path
+import os
+import os.path as osp
+
+import typer
+from rich import print
+from rich.console import Console
+from rich.table import Table
+
+from girok.config import get_config
+import girok.api.auth as auth_api
+import girok.commands.auth as auth_command
+import girok.commands.category as category_command
+import girok.commands.task as task_command
+import girok.commands.calendar as calendar_command
+import girok.utils.general as general_utils
+import girok.utils.auth as auth_utils
+
+app = typer.Typer(rich_markup_mode='rich')
+app.registered_commands.extend(auth_command.app.registered_commands)
+app.registered_commands.extend(category_command.app.registered_commands)
+app.registered_commands.extend(task_command.app.registered_commands)
+app.registered_commands.extend(calendar_command.app.registered_commands)
+cfg = get_config()
+
+@app.command()
+def test():
+ print("test")
+
+
+@app.callback()
+def pre_command_callback(ctx: typer.Context):
+ # Setting up app dir and config file if they don't exist
+ general_utils.config_setup(cfg.app_dir, cfg.config_path)
+ if ctx.invoked_subcommand in ['login', 'logout', 'register']:
+ return
+
+ # Check if JWT is stored in config file
+ stored_access_token = auth_utils.get_access_token_from_json(cfg.config_path)
+ if stored_access_token:
+ resp = auth_api.validate_access_token(stored_access_token)
+ if resp.status_code != 200: # invalid(or expired) JWT -> login again
+ print("You're not logged in. Please login with [green]girok login[/green].")
+ exit(0)
+ else:
+ print("You're not logged in. Please login with [green]girok login[/green].")
+ exit(0)
+ \ No newline at end of file