From 6fa1c5a4c384868f7eef060f7971d45cdfb8aadb Mon Sep 17 00:00:00 2001 From: Elias Kohout Date: Wed, 19 Jun 2024 14:55:39 +0200 Subject: [PATCH] restructuring --- main.py | 35 ++++------------------------------- {lib => model}/DataStore.py | 0 {lib => model}/TimeSlot.py | 0 util/parser.py | 31 +++++++++++++++++++++++++++++++ lib/ui.py => util/views.py | 2 +- 5 files changed, 36 insertions(+), 32 deletions(-) rename {lib => model}/DataStore.py (100%) rename {lib => model}/TimeSlot.py (100%) create mode 100644 util/parser.py rename lib/ui.py => util/views.py (93%) diff --git a/main.py b/main.py index 07de1bb..cb488cc 100755 --- a/main.py +++ b/main.py @@ -1,39 +1,12 @@ #!/usr/bin/python3 -import argparse -from lib.DataStore import DataStore -from lib.TimeSlot import TimeSlot -from lib.ui import convert_to_table from datetime import datetime +from model.DataStore import DataStore +from model.TimeSlot import TimeSlot -def create_parser(): - # Create the top-level parser - parser = argparse.ArgumentParser(description="Time tracker.") - subparsers = parser.add_subparsers(dest="command", help="Sub-command help") - - # Create the parser for the "ls" command - _ = subparsers.add_parser("ls", help="List all events.") - - # Create the parser for the "ps" command - _ = subparsers.add_parser("ps", help="Show the currently running event.") - - # Create the parser for the "add" command - parser_add = subparsers.add_parser("add", help="Adding a new event.") - parser_add.add_argument("name", help="Name of the event") - parser_add.add_argument("-s", "--start", help="Start datetime (default now)") - parser_add.add_argument("-e", "--end", help="End datetime") - - # Create the parser for the "start" command - parser_start = subparsers.add_parser("start", help="Starting a new event.") - parser_start.add_argument("name", help="Name of the event") - parser_start.add_argument("-s", "--start", help="Start datetime (default now)") - - # Create the parser for the "end" command - parser_end = subparsers.add_parser("end", help="Ending the current event.") - parser_end.add_argument("-e", "--end", help="End datetime") - - return parser +from util.views import convert_to_table +from util.parser import create_parser if __name__ == "__main__": diff --git a/lib/DataStore.py b/model/DataStore.py similarity index 100% rename from lib/DataStore.py rename to model/DataStore.py diff --git a/lib/TimeSlot.py b/model/TimeSlot.py similarity index 100% rename from lib/TimeSlot.py rename to model/TimeSlot.py diff --git a/util/parser.py b/util/parser.py new file mode 100644 index 0000000..0628781 --- /dev/null +++ b/util/parser.py @@ -0,0 +1,31 @@ +import argparse + + +def create_parser(): + # Create the top-level parser + parser = argparse.ArgumentParser(description="Time tracker.") + subparsers = parser.add_subparsers(dest="command", help="Sub-command help") + + # Create the parser for the "ls" command + _ = subparsers.add_parser("ls", help="List all events.") + + # Create the parser for the "ps" command + _ = subparsers.add_parser("ps", help="Show the currently running event.") + + # Create the parser for the "add" command + parser_add = subparsers.add_parser("add", help="Adding a new event.") + parser_add.add_argument("name", help="Name of the event") + parser_add.add_argument("-s", "--start", help="Start datetime (default now)") + parser_add.add_argument("-e", "--end", help="End datetime") + + # Create the parser for the "start" command + parser_start = subparsers.add_parser("start", help="Starting a new event.") + parser_start.add_argument("name", help="Name of the event") + parser_start.add_argument("-s", "--start", help="Start datetime (default now)") + + # Create the parser for the "end" command + parser_end = subparsers.add_parser("end", help="Ending the current event.") + parser_end.add_argument("-e", "--end", help="End datetime") + + return parser + diff --git a/lib/ui.py b/util/views.py similarity index 93% rename from lib/ui.py rename to util/views.py index e95561f..7fc56b0 100644 --- a/lib/ui.py +++ b/util/views.py @@ -1,4 +1,4 @@ -from .TimeSlot import TimeSlot +from model.TimeSlot import TimeSlot def convert_to_table(time_slot_list: list[TimeSlot]):