Exemple #1
0
class InvenioIIIF(object):
    """Invenio-IIIF extension."""
    def __init__(self, app=None):
        """Extension initialization."""
        if app:
            self.init_app(app)

    def init_app(self, app):
        """Flask application initialization."""
        self.init_config(app)
        self.iiif_ext = IIIF(app=app)
        # register decorator if configured
        decorator_handler = app.config["IIIF_API_DECORATOR_HANDLER"]
        if decorator_handler:
            decorator_handler_func = obj_or_import_string(decorator_handler)
            self.iiif_ext.api_decorator_handler(decorator_handler_func)
        # register image opener handler
        image_opener = obj_or_import_string(
            app.config["IIIF_IMAGE_OPENER_HANDLER"])
        self.iiif_ext.uuid_to_image_opener_handler(image_opener)
        app.extensions['invenio-iiif'] = self

    def init_config(self, app):
        """Initialize configuration."""
        for k in dir(config):
            if k.startswith('IIIF_'):
                app.config.setdefault(k, getattr(config, k))
Exemple #2
0
    def create_app(self):
        """Create the app."""
        from flask_iiif import IIIF
        from flask_restful import Api
        from flask_iiif.cache.simple import ImageSimpleCache

        app = Flask(__name__)
        app.config['DEBUG'] = True
        app.config['TESTING'] = True
        app.config['SERVER_NAME'] = "shield.worker.node.1"
        app.config['SITE_URL'] = "http://shield.worker.node.1"
        app.config['IIIF_CACHE_HANDLER'] = ImageSimpleCache()
        app.config['PRESERVE_CONTEXT_ON_EXCEPTION'] = False
        app.logger.disabled = True

        api = Api(app=app)

        iiif = IIIF(app=app)

        iiif.uuid_to_image_opener_handler(self.create_image)

        def api_decorator_test(*args, **kwargs):
            if 'decorator' in kwargs.get('uuid'):
                abort(403)

        iiif.api_decorator_handler(api_decorator_test)

        iiif.init_restful(api)
        return app
Exemple #3
0
    def create_app(self):
        """Create the app."""
        from flask_iiif import IIIF
        from flask_restful import Api
        from flask_iiif.cache.simple import ImageSimpleCache

        app = Flask(__name__)
        app.config["DEBUG"] = True
        app.config["TESTING"] = True
        app.config["SERVER_NAME"] = "shield.worker.node.1"
        app.config["SITE_URL"] = "http://shield.worker.node.1"
        app.config["IIIF_CACHE_HANDLER"] = ImageSimpleCache()
        app.logger.disabled = True

        api = Api(app=app)

        iiif = IIIF(app=app)

        iiif.uuid_to_image_opener_handler(self.create_image)

        def api_decorator_test(*args, **kwargs):
            if "decorator" in kwargs.get("uuid"):
                abort(403)

        iiif.api_decorator_handler(api_decorator_test)

        iiif.init_restful(api)
        return app
Exemple #4
0
 def init_app(self, app):
     """Flask application initialization."""
     super(InvenioIIIFAPI, self).init_app(app)
     ext = IIIF(app=app)
     api = Api(app=app)
     ext.init_restful(api, prefix=app.config['IIIF_API_PREFIX'])
     ext.uuid_to_image_opener_handler(image_opener)
     ext.api_decorator_handler(protect_api)
Exemple #5
0
 def init_app(self, app):
     """Flask application initialization."""
     super(InvenioIIIFAPI, self).init_app(app)
     ext = IIIF(app=app)
     api = Api(app=app)
     ext.init_restful(api, prefix=app.config['IIIF_API_PREFIX'])
     ext.uuid_to_image_opener_handler(image_opener)
     ext.api_decorator_handler(protect_api)
Exemple #6
0
class InvenioIIIF(object):
    """Invenio-IIIF extension."""
    def __init__(self, app=None):
        """Extension initialization."""
        if app:
            self.init_app(app)

    def init_app(self, app):
        """Flask application initialization."""
        self.init_config(app)
        self.iiif_ext = IIIF(app=app)
        self.iiif_ext.api_decorator_handler(protect_api)
        self.iiif_ext.uuid_to_image_opener_handler(image_opener)
        app.extensions['invenio-iiif'] = self

    def init_config(self, app):
        """Initialize configuration."""
        for k in dir(config):
            if k.startswith('IIIF_'):
                app.config.setdefault(k, getattr(config, k))