Ejemplo n.º 1
0
    def _construct_mount(self, archetype, model):
        resource = Resource
        controller = None

        for version, mixins, mixin_controller in archetype.config.resources:
            if resource.version != version[0]:
                resource = self._construct_resource(archetype, resource, version[0], mixins)

            controller = self._construct_controller(
                model, resource, version, controller, import_object(mixin_controller)
            )

        return mount(resource, controller)
Ejemplo n.º 2
0
    def _construct_mount(self, archetype):
        resource = Resource
        controller = Controller

        for version, mixins, mixin_controller in self.config.resources:
            if resource.version != version[0]:
                resource = self._construct_resource(archetype, resource, version[0], mixins)

            controller = type(
                "%sController" % resource.title, (controller,), {"resource": resource, "version": tuple(version)}
            )

        return mount(resource, controller)
Ejemplo n.º 3
0
    def _construct_mount(self, archetype, model):
        resource = Resource
        controller = None

        for version, mixins, mixin_controller in archetype.config.resources:
            if resource.version != version[0]:
                resource = self._construct_resource(archetype, resource,
                                                    version[0], mixins)

            controller = self._construct_controller(
                model, resource, version, controller,
                import_object(mixin_controller))

        return mount(resource, controller)
Ejemplo n.º 4
0
    def static_construct(cls, registration):
        resource = Resource
        controller = Controller

        for version, resources in sorted(registration['specification']['versions'].iteritems()):
            description = resources[registration['name']]
            if resource.version != description['version'][0]:
                resource = cls._construct_resource(registration, resource, description)

            controller = type('%sController' % resource.title, (controller,), {
                'resource': resource,
                'version': tuple(description['version']),
            })

        return mount(resource, controller)
Ejemplo n.º 5
0
    def _construct_mount(self, archetype):
        resource = Resource
        controller = Controller

        for version, mixins, mixin_controller in self.config.resources:
            if resource.version != version[0]:
                resource = self._construct_resource(archetype, resource,
                                                    version[0], mixins)

            controller = type('%sController' % resource.title, (controller, ),
                              {
                                  'resource': resource,
                                  'version': tuple(version),
                              })

        return mount(resource, controller)
Ejemplo n.º 6
0
    def construct(cls, registration, model):
        resource = Resource
        controller = ProxyController

        proxies = {}
        for version, description in cls._enumerate_versions(registration):
            resource_version = description['version'][0]
            if resource.version != resource_version:
                resource = cls._construct_resource(registration.as_resource(),
                    resource, description)

            proxy = cls._construct_proxy(registration, resource, description, model)
            proxies[proxy.id] = proxy
            controller = cls._construct_controller(resource, description, controller, proxy)

        return proxies, mount(resource, controller)
Ejemplo n.º 7
0
    def static_construct(cls, registration):
        resource = Resource
        controller = Controller

        for version, resources in sorted(
                registration['specification']['versions'].iteritems()):
            description = resources[registration['name']]
            if resource.version != description['version'][0]:
                resource = cls._construct_resource(registration, resource,
                                                   description)

            controller = type('%sController' % resource.title, (controller, ),
                              {
                                  'resource': resource,
                                  'version': tuple(description['version']),
                              })

        return mount(resource, controller)
Ejemplo n.º 8
0
    def construct(cls, registration, model):
        resource = Resource
        controller = ProxyController

        proxies = {}
        for version, description in cls._enumerate_versions(registration):
            resource_version = description['version'][0]
            if resource.version != resource_version:
                resource = cls._construct_resource(registration.as_resource(),
                                                   resource, description)

            proxy = cls._construct_proxy(registration, resource, description,
                                         model)
            proxies[proxy.id] = proxy
            controller = cls._construct_controller(resource, description,
                                                   controller, proxy)

        return proxies, mount(resource, controller)