-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathoutput.py
91 lines (79 loc) · 2.99 KB
/
output.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
from data import formatter
import config
from data.days import Days
import output.elements as elements
def status(days: Days):
__info(days)
if config.textbar():
print(elements.spacer())
__actions(days)
def __info(days: Days):
if days.isTimer():
today = days.getToday()
if days.isPause():
print("Pause: %s" % formatter.format_delta(today.getPausetime()))
else:
print('%s – %s %s' % (formatter.format_delta(today.getRemainingWork()),
formatter.format_category(today.getLastWork().category),
formatter.format_delta(today.getLastWork().getDuration())
))
else:
print("Free")
if config.textbar():
print('---')
if days.isTimer():
if config.textbar():
print(elements.menu(
"Worked %s" % formatter.format_delta(today.getCurrentWork()),
map(
lambda x: "%s %s" % (
formatter.format_delta(x.getDuration()),
formatter.format_category(x.category)
),
today.work
)
))
else:
print("Worked %s" % formatter.format_delta(today.getCurrentWork()))
print("Remaining: %s" % formatter.format_delta(today.getRemainingWork()))
print("Pause: %s" % formatter.format_delta(today.getPausetime()))
print("Start: %s" % today.getStartTime().strftime("%H:%M"))
print("End: %s" % (today.getEndTime()).strftime("%H:%M"))
if config.textbar():
print(elements.spacer())
print("Total Overtime: %s" % formatter.format_delta(days.getOvertime()))
def __actions(days: Days):
if days.isPause():
print(elements.button("☕️ Stop Pause", 'pause'))
elif days.isTimer():
print(elements.button("☕️ Start Pause", 'pause'))
print(elements.button("⏰ Stop Timer", 'timer'))
else:
print(elements.button("⏰ Start Timer", 'timer'))
print(elements.spacer())
if not days.isPause():
menuItems = []
for key, description in config.categories().items():
menuItems.append(
elements.button(
description,
'timer %s' % key
)
)
print(elements.menu("🚀 Start Category", menuItems))
menuItems = []
for key, description in config.categories().items():
menuItems.append(
elements.button(
description,
'update ' + key
)
)
print(elements.menu("⚙️ Update Category", menuItems))
print(elements.spacer())
print(elements.button('Open Log', 'log'))
print(elements.menu('Create Report', [
elements.button('Excel', 'report excel'),
elements.button('OpenDocument', 'report ods'),
elements.button('Text', 'report text'),
]))