File size: 760 Bytes
8fc2b4e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import os
from pprint import pprint

# automatically import all defined task classes in this directory
new_names = {}
dir_path = os.path.dirname(os.path.realpath(__file__))
for file in os.listdir(dir_path):
    if 'init' not in file and 'cache' not in file:
        code_file = open(f"{dir_path}/{file}").read()
        code_lines = code_file.split("\n")
        class_def = [line for line in code_lines if line.startswith('class')]
        task_name = class_def[0]
        task_name = task_name[task_name.find("class "): task_name.rfind("(Task)")][6:]
        file_name = file.replace('.py','')
        exec(f"from cliport.generated_tasks.{file_name} import {task_name}")
        new_names[file_name.replace("_", "-")] = eval(task_name)


# pprint(new_names)