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
|
#!/usr/bin/python3
|
||||||
|
|
||||||
from datetime import datetime
|
from util.str_to_datetime import datetime
|
||||||
|
|
||||||
from model.DataStore import DataStore
|
from model.DataStore import DataStore
|
||||||
from model.TimeSlot import TimeSlot
|
from model.TimeSlot import TimeSlot
|
||||||
@@ -25,8 +25,7 @@ if __name__ == "__main__":
|
|||||||
print("An event is already running.")
|
print("An event is already running.")
|
||||||
else:
|
else:
|
||||||
if args.start is not None:
|
if args.start is not None:
|
||||||
s = datetime.strptime(args.start, '%d.%m.%y %H:%M')
|
ds.add_time_slot(TimeSlot(args.name, start=datetime(args.start)))
|
||||||
ds.add_time_slot(TimeSlot(args.name, start=s))
|
|
||||||
else:
|
else:
|
||||||
ds.add_time_slot(TimeSlot(args.name))
|
ds.add_time_slot(TimeSlot(args.name))
|
||||||
print(f"Started event {args.name}.")
|
print(f"Started event {args.name}.")
|
||||||
@@ -40,8 +39,7 @@ if __name__ == "__main__":
|
|||||||
raise Exception("Found multiple running event.")
|
raise Exception("Found multiple running event.")
|
||||||
else:
|
else:
|
||||||
if args.end is not None:
|
if args.end is not None:
|
||||||
s = datetime.strptime(args.end, '%d.%m.%y %H:%M')
|
running[0].end = datetime(args.end)
|
||||||
running[0].end = s
|
|
||||||
else:
|
else:
|
||||||
running[0].end_now()
|
running[0].end_now()
|
||||||
ds.write_update()
|
ds.write_update()
|
||||||
@@ -60,9 +58,9 @@ if __name__ == "__main__":
|
|||||||
else:
|
else:
|
||||||
ts = TimeSlot(args.name)
|
ts = TimeSlot(args.name)
|
||||||
if args.start is not None:
|
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:
|
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.add_time_slot(ts)
|
||||||
ds.write_update()
|
ds.write_update()
|
||||||
print("The event was added.")
|
print("The event was added.")
|
||||||
|
|||||||
@@ -28,4 +28,3 @@ def create_parser():
|
|||||||
parser_end.add_argument("-e", "--end", help="End datetime")
|
parser_end.add_argument("-e", "--end", help="End datetime")
|
||||||
|
|
||||||
return parser
|
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
|
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]
|
widths = [30, 26, 26]
|
||||||
|
|
||||||
r_str = f"+{'-'*(widths[0]+2)}+{'-'*(widths[1]+2)}+{'-'*(widths[2]+2)}+\n"
|
r_str = f"+{'-'*(widths[0]+2)}+{'-'*(widths[1]+2)}+{'-'*(widths[2]+2)}+\n"
|
||||||
|
|||||||
Reference in New Issue
Block a user