32 lines
932 B
Python
32 lines
932 B
Python
from targets import *
|
|
from targets.BankTarget import BankTarget
|
|
|
|
class TargetFactory:
|
|
def createAllTargets(self):
|
|
result = dict()
|
|
glo = globals() # Save globals so the dict does not change during execution of the script
|
|
|
|
for key in glo:
|
|
if(type(target) != 'class'):
|
|
continue
|
|
|
|
target = glo[key]
|
|
if 'Target' in key:
|
|
result[key] = target()
|
|
elif 'Bank' in key and 'Target' not in key:
|
|
targets = self.createBankTarget(target, key)
|
|
result = {**result, **targets}
|
|
# todo check with driver?
|
|
return result
|
|
|
|
def createBankTarget(self, target, key):
|
|
bankTarget = target()
|
|
targets = dict()
|
|
targets[key] = bankTarget
|
|
|
|
for target in bankTarget.targets:
|
|
name = type(target).__name__
|
|
targets[name] = target
|
|
|
|
return targets
|