Moved independent files to separate markup folder
This commit is contained in:
55
markup/countdown.py
Executable file
55
markup/countdown.py
Executable file
@@ -0,0 +1,55 @@
|
||||
#!/usr/bin/python3
|
||||
|
||||
import datetime
|
||||
import os
|
||||
|
||||
import timestring
|
||||
|
||||
|
||||
class Event(object):
|
||||
def __init__(self, date, label):
|
||||
self.label = label
|
||||
self.date = date
|
||||
|
||||
@property
|
||||
def time(self):
|
||||
r = timestring.Date(self.date).date - timestring.now().date # type: datetime.timedelta
|
||||
s = int(r.seconds)
|
||||
m, s = s // 60, s % 60
|
||||
h, m = m // 60, m % 60
|
||||
d, h = r.days, h % 25
|
||||
return {'days': d, 'hours': h, 'minutes': m, 'seconds': s, 'label': self.label}
|
||||
|
||||
def __format__(self, format_spec):
|
||||
return format_spec.format(**self.time)
|
||||
|
||||
def __str__(self):
|
||||
return format(self, '{days}d {hours}h {minutes}m {seconds}s to {label}')
|
||||
|
||||
|
||||
__events = []
|
||||
__event_load = 0
|
||||
|
||||
|
||||
def update_events(force=False):
|
||||
global __events, __event_load
|
||||
|
||||
event_time = os.stat('markup/events.txt').st_mtime_ns
|
||||
if force or __event_load != event_time:
|
||||
with open('markup/events.txt') as f:
|
||||
etext = [tuple(i.strip() for i in l.split('|')) for l in f.readlines() if
|
||||
l.strip() and not l.startswith('#')]
|
||||
__events = [Event(date, lbl) for lbl, date in etext]
|
||||
__event_load = event_time
|
||||
|
||||
|
||||
def get_events(force_update=False):
|
||||
update_events(force_update)
|
||||
|
||||
return __events
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
print(timestring.now())
|
||||
for e in get_events():
|
||||
print(e)
|
||||
Reference in New Issue
Block a user