diff --git a/lib/TimeSlot.py b/lib/TimeSlot.py index 4943bd5..7780d3c 100644 --- a/lib/TimeSlot.py +++ b/lib/TimeSlot.py @@ -28,7 +28,9 @@ class TimeSlot(): @property def end(self): - return datetime.fromtimestamp(self._end) + if "_end" in self.__dict__: + return datetime.fromtimestamp(self._end) + return None @end.setter def end(self, d: datetime): diff --git a/lib/ui.py b/lib/ui.py new file mode 100644 index 0000000..906606b --- /dev/null +++ b/lib/ui.py @@ -0,0 +1,16 @@ +from .TimeSlot import TimeSlot + + +def convert_to_table(time_slot_list: list[TimeSlot]): + widths = [20, 26, 26] + + r_str = f"+{'-'*(widths[0]+2)}+{'-'*(widths[1]+2)}+{'-'*(widths[2]+2)}+\n" + r_str += f"| {'Name':<20} | {'Startzeitpunkt':<26} | {'Endzeitpunkt':<26} |\n" + r_str += f"+{'-'*(widths[0]+2)}+{'-'*(widths[1]+2)}+{'-'*(widths[2]+2)}+\n" + + for time_slot in time_slot_list: + r_str += f"| {time_slot.name:<20} | {str(time_slot.start):<26} | {str(time_slot.end):<26} |\n" + + r_str += f"+{'-'*(widths[0]+2)}+{'-'*(widths[1]+2)}+{'-'*(widths[2]+2)}+" + + return r_str diff --git a/main.py b/main.py index b7c3cff..ca131ab 100755 --- a/main.py +++ b/main.py @@ -3,6 +3,7 @@ import argparse from lib.DataStore import DataStore from lib.TimeSlot import TimeSlot +from lib.ui import convert_to_table if __name__ == "__main__": @@ -16,4 +17,4 @@ if __name__ == "__main__": ds = DataStore("data.json") if args.command == "ls": - print(ds.get_all_time_slots()) + print(convert_to_table(ds.get_all_time_slots()))