33 lines
1.0 KiB
Python
33 lines
1.0 KiB
Python
from targets import *
|
|
|
|
class TargetFactory:
|
|
@staticmethod
|
|
def createAllTargets():
|
|
result = dict()
|
|
glo = globals() # Save globals so the dict does not change during execution of the script
|
|
|
|
for key in glo:
|
|
if type(glo[key]) is not type and key == "TargetFactory":
|
|
continue
|
|
|
|
target = glo[key]
|
|
if 'Target' in key and 'Bank' not in key and key not in ['Target', 'BankTarget']:
|
|
targetObject = target()
|
|
result[targetObject.name] = targetObject
|
|
elif 'Bank' in key and 'Target' not in key and key not in ['Bank', 'BankTarget']:
|
|
targets = TargetFactory.createBankTarget(target)
|
|
result.update(targets)
|
|
# todo check with driver?
|
|
return result
|
|
|
|
@staticmethod
|
|
def createBankTarget(target):
|
|
bankTarget = target()
|
|
targets = dict()
|
|
targets[bankTarget.name] = bankTarget
|
|
|
|
for target in bankTarget.targets:
|
|
targets[target.name] = target
|
|
|
|
return targets
|