adding current date as default for cli args
This commit is contained in:
12
main.py
12
main.py
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/python3
|
||||
|
||||
from datetime import datetime
|
||||
from util.str_to_datetime import datetime
|
||||
|
||||
from model.DataStore import DataStore
|
||||
from model.TimeSlot import TimeSlot
|
||||
@@ -25,8 +25,7 @@ if __name__ == "__main__":
|
||||
print("An event is already running.")
|
||||
else:
|
||||
if args.start is not None:
|
||||
s = datetime.strptime(args.start, '%d.%m.%y %H:%M')
|
||||
ds.add_time_slot(TimeSlot(args.name, start=s))
|
||||
ds.add_time_slot(TimeSlot(args.name, start=datetime(args.start)))
|
||||
else:
|
||||
ds.add_time_slot(TimeSlot(args.name))
|
||||
print(f"Started event {args.name}.")
|
||||
@@ -40,8 +39,7 @@ if __name__ == "__main__":
|
||||
raise Exception("Found multiple running event.")
|
||||
else:
|
||||
if args.end is not None:
|
||||
s = datetime.strptime(args.end, '%d.%m.%y %H:%M')
|
||||
running[0].end = s
|
||||
running[0].end = datetime(args.end)
|
||||
else:
|
||||
running[0].end_now()
|
||||
ds.write_update()
|
||||
@@ -60,9 +58,9 @@ if __name__ == "__main__":
|
||||
else:
|
||||
ts = TimeSlot(args.name)
|
||||
if args.start is not None:
|
||||
ts.start = datetime.strptime(args.start, '%d.%m.%y %H:%M')
|
||||
ts.start = datetime(args.start)
|
||||
if args.end is not None:
|
||||
ts.end = datetime.strptime(args.end, '%d.%m.%y %H:%M')
|
||||
ts.end = datetime(args.end)
|
||||
ds.add_time_slot(ts)
|
||||
ds.write_update()
|
||||
print("The event was added.")
|
||||
|
||||
@@ -28,4 +28,3 @@ def create_parser():
|
||||
parser_end.add_argument("-e", "--end", help="End datetime")
|
||||
|
||||
return parser
|
||||
|
||||
|
||||
19
util/str_to_datetime.py
Normal file
19
util/str_to_datetime.py
Normal file
@@ -0,0 +1,19 @@
|
||||
from datetime import datetime as dt
|
||||
|
||||
|
||||
def datetime(s: str) -> dt:
|
||||
s = s.strip()
|
||||
|
||||
try:
|
||||
return dt.strptime(s, '%d.%m.%y %H:%M')
|
||||
except ValueError:
|
||||
pass
|
||||
|
||||
try:
|
||||
tim = dt.strptime(s, '%H:%M').time()
|
||||
dat = dt.now().date()
|
||||
return dt.combine(dat, tim)
|
||||
except ValueError:
|
||||
pass
|
||||
|
||||
raise ValueError("The given string can not be interpreted as a datetime.")
|
||||
@@ -1,7 +1,7 @@
|
||||
from model.TimeSlot import TimeSlot
|
||||
|
||||
|
||||
def convert_to_table(time_slot_list: list[TimeSlot]):
|
||||
def convert_to_table(time_slot_list: list[TimeSlot]) -> str:
|
||||
widths = [30, 26, 26]
|
||||
|
||||
r_str = f"+{'-'*(widths[0]+2)}+{'-'*(widths[1]+2)}+{'-'*(widths[2]+2)}+\n"
|
||||
|
||||
Reference in New Issue
Block a user