def compile(self, data, filename, name):
        if self.javapackage is not None:
            name = self.javapackage+'.'+name

        data = data + '\n\n'
        
        mod = PythonModule(name, filename, frozen=self.deep)
        fact = ObjectFactory()
        pi = SrcGenCompiler(mod, fact, options=self.options)
        fact.parent = pi
        code = pi.execstring(data)
        # __file__ 
        code.insert(0,jast.Invoke(jast.Identifier('frame'),"setglobal",
                                  [jast.StringConstant('__file__'),
                                   mod.getStringConstant(filename)]))
        code.insert(1,jast.BlankLine())
        code = jast.Block(code)
        mod.addMain(code, pi)
        self.addDependencies(mod)
        return mod
Beispiel #2
0
    def compile(self, data, filename, name):
        if self.javapackage is not None:
            name = self.javapackage + '.' + name

        data = data + '\n\n'

        mod = PythonModule(name, filename, frozen=self.deep)
        fact = ObjectFactory()
        pi = SrcGenCompiler(mod, fact, options=self.options)
        fact.parent = pi
        code = pi.execstring(data)
        # __file__
        code.insert(
            0,
            jast.Invoke(jast.Identifier('frame'), "setglobal", [
                jast.StringConstant('__file__'),
                mod.getStringConstant(filename)
            ]))
        code.insert(1, jast.BlankLine())
        code = jast.Block(code)
        mod.addMain(code, pi)
        self.addDependencies(mod)
        return mod
Beispiel #3
0
    def __init__(
        self,
        copy_not_owned_reference=False,
        object_inventory_generator=None,
        object_factory=None,
    ):

        self.copy_not_owned_reference = copy_not_owned_reference

        if not object_inventory_generator:
            from InventoryGenerator import InventoryGenerator
            object_inventory_generator = InventoryGenerator()
        self.object_inventory_generator = object_inventory_generator

        if not object_factory:
            from ObjectFactory import ObjectFactory
            object_factory = ObjectFactory(object_inventory_generator)
        self.object_factory = object_factory

        return
Beispiel #4
0
    def run(self, request):

        query_string = request.unparsed_uri
        self.__logger.info('Request: ' + query_string)
        route = self.__router.route(query_string)
        if route:
            self.__logger.info('Route matched: %s.%s(%s)' % (route['controller'], route['action'], route['params']))
            self.__container.set_param('sys.matched_route', route)
            request.parameters = route['params']
            res = ObjectFactory.instantiate_and_call(route['controller'], [self.__container], route['action'], request)
        else:
            self.__logger.warn('No matching route found for: ' + query_string)
            res = False

        # Shutdown logger and return
        self.__log_handler.pop_thread()

        # Return the local request log
        self.request_log = self.__container.get_service('log.test_handler').records
        
        return res
Beispiel #5
0
    def __init__(self,
                 db,
                 guid=None,
                 object2record=None,
                 record2object=None,
                 object2table=None,
                 rules=None):
        if object2record is None:
            from Object2DBRecord import Object2DBRecord
            object2record = Object2DBRecord(object2dbtable=object2table,
                                            rules=rules)
        self.object2record = object2record

        if record2object is None:
            from DBRecord2Object import DBRecord2Object
            record2object = DBRecord2Object(object2record, db)
        self.record2object = record2object

        from ObjectFactory import ObjectFactory
        object_inventory_generator = object2record.object2dbtable.object_inventory_generator
        self.objectFactory = ObjectFactory(object_inventory_generator)

        from DeepCopier import DeepCopier
        self.deepcopier = DeepCopier(
            object_inventory_generator=object_inventory_generator,
            object_factory=self.objectFactory,
        )

        self.db = db
        self.guid = guid

        # types that are registered
        self._registered_types = []
        # tables that are registered with db manager
        self._registered_tables = []
        return
 def prepare(self):
     need_check_sharding = re.search(r'dest_node:(.*)', self._expect, re.I)
     if need_check_sharding:
         shardings_host = need_check_sharding.group(1)
         mysql = ObjectFactory.create_mysql_object(shardings_host)
         mysql.turn_on_general_log()
def cloud_specific_con(data):
    global cloud_obj
    obj_fac = ObjectFactory()
    cloud_obj = loop.run_until_complete(obj_fac.create(data["webService"], data))
    logging.debug(f"cloud object created for {data['webService']} is : {cloud_obj}")
    return cloud_obj