-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmodules_core.py
35 lines (32 loc) · 1.28 KB
/
modules_core.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
from base import Module, PollingModule
import time
class ClockModule(PollingModule):
def __init__(self, cfg=dict()):
PollingModule.__init__(self, 'clock')
self.datetimefmt = cfg.get('datetimefmt', '%A %B %d, %Y %I:%M %p')
self.datefmt = cfg.get('datefmt', '%A %B %d, %Y')
self.timefmt = cfg.get('timefmt', '%I:%M %p')
self.interval = cfg.get('interval', 60)
self.ticks += time.localtime().tm_sec
self.time = ''
self.date = ''
self.datetime = ''
self.channels = { 'time': False, 'date': False, 'datetime': False }
def onUpdate(self):
if self.channels['time']:
self.time = time.strftime(self.timefmt)
if self.channels['date']:
self.date = time.strftime(self.datefmt)
if self.channels['datetime']:
self.datetime = time.strftime(self.datetimefmt)
return True
def onDraw(self):
if self.channels['time']:
self.ports['time'].clear()
self.ports['time'].add(self.time)
if self.channels['date']:
self.ports['date'].clear()
self.ports['date'].add(self.date)
if self.channels['datetime']:
self.ports['datetime'].clear()
self.ports['datetime'].add(self.datetime)