From ad80167b50df612b6e35396fbc2081385a7cbe3d Mon Sep 17 00:00:00 2001 From: RemiZOffAlex Date: Mon, 20 Apr 2026 07:48:31 +0300 Subject: [PATCH] Add src/nucleus/domains/comparator/handler.py --- src/nucleus/domains/comparator/handler.py | 37 +++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/nucleus/domains/comparator/handler.py diff --git a/src/nucleus/domains/comparator/handler.py b/src/nucleus/domains/comparator/handler.py new file mode 100644 index 0000000..bc6fa81 --- /dev/null +++ b/src/nucleus/domains/comparator/handler.py @@ -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