Add src/nucleus/domains/comparator/handler.py
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
__author__ = 'RemiZOffAlex'
|
||||
__email__ = 'remizoffalex@mail.ru'
|
||||
|
||||
from dsl.visitor import Visitor
|
||||
from dsl.state import State
|
||||
from dsl.handlers.state import variable_addition
|
||||
from helpers.yaml import yaml_read
|
||||
|
||||
from controller.core import config
|
||||
from controller.injector.broker import register
|
||||
|
||||
|
||||
class Comparator:
|
||||
def __init__(self, identifier):
|
||||
self.identifier = identifier
|
||||
|
||||
def __call__(self, request):
|
||||
variables = {
|
||||
'print': print,
|
||||
'request': request,
|
||||
}
|
||||
|
||||
visitor = Visitor()
|
||||
register(visitor)
|
||||
context = State()
|
||||
for key in variables:
|
||||
variable_addition(context, key, variables[key])
|
||||
|
||||
route_path = config['dynamic.data.path'] / \
|
||||
'routes' / self.identifier / 'data.yml'
|
||||
print(route_path)
|
||||
source = yaml_read(route_path)
|
||||
|
||||
result = visitor.visit(source, context)
|
||||
print('result:', result)
|
||||
|
||||
return result
|
||||
Reference in New Issue
Block a user