summaryrefslogtreecommitdiff
path: root/plugins/__init__.py
blob: 68df0c9d5be18fb2595536bfa224a79f941af2ab (plain)
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
import threading
import time


def parse_config(config, defaults):
    result = dict()
    for key in defaults:
        result[key] = config[key] if key in config else defaults[key]
    return result


class PluginThreadCommon:
    def __init__(self, config, defaults=dict()):
        if 'freq' not in defaults:
            defaults['freq'] = 1
        if 'hide_ok' not in defaults:
            defaults['hide_ok'] = True
        self.conf = parse_config(config, defaults)
        self.status = dict()
        self.hide = False
        self.thread = threading.Thread(target=self.run)
        self.thread.daemon = True

    def start(self):
        self.thread.start()

    def main(self):
        self.status['full_text'] = 'placeholder'

    def run(self):
        while True:
            self.main()
            time.sleep(self.conf['freq'])