register.py 601 Bytes
Newer Older
1
2
3
4
5
6
7
import os

task_registry = {}
group_registry = {}
task2func_index = {}
func2task_index = {}

lintangsutawika's avatar
lintangsutawika committed
8

9
10
11
12
13
14
15
16
17
18
def register_task(name):
    def wrapper(func):

        task_registry[name] = func
        func2task_index[func.__name__] = name
        task2func_index[name] = func.__name__
        return func

    return wrapper

lintangsutawika's avatar
lintangsutawika committed
19

20
21
22
23
24
25
def register_group(name):
    def wrapper(func):

        func_name = func2task_index[func.__name__]

        if name in group_registry:
lintangsutawika's avatar
lintangsutawika committed
26
            group_registry[name].append(func_name)
27
28
29
        else:
            group_registry[name] = [func_name]
        return func
lintangsutawika's avatar
lintangsutawika committed
30

31
    return wrapper