from typing import Callable, Iterable, Tuple
from flask.json import jsonify
from teal.resource import Resource, View
class LicenceView(View):
def get(self, *args, **kwargs):
"""Get version of DeviceHub and ereuse-tag."""
app = self.resource_def.app
path_licences = app.config['LICENCES']
with open(path_licences) as f:
licences = f.read()
ret = jsonify(licences)
ret.status_code = 200
return ret
class LicencesDef(Resource):
__type__ = 'Licence'
SCHEMA = None
VIEW = None # We do not want to create default / documents endpoint
AUTH = False
def __init__(self, app,
import_name=__name__,
static_folder=None,
static_url_path=None,
template_folder=None,
url_prefix=None,
subdomain=None,
url_defaults=None,
root_path=None,
cli_commands: Iterable[Tuple[Callable, str or None]] = tuple()):
super().__init__(app, import_name, static_folder, static_url_path, template_folder,
url_prefix, subdomain, url_defaults, root_path, cli_commands)
get = {'GET'}
d = {}
licence_view = LicenceView.as_view('LicenceView', definition=self)
self.add_url_rule('/', defaults=d, view_func=licence_view, methods=get)