Skip to content
Snippets Groups Projects
Commit d1f594a3 authored by Simon Kindhauser's avatar Simon Kindhauser
Browse files

make extensions work again

parent e2717c81
Branches
Tags
No related merge requests found
from blackfennec.extension.extension_api import ExtensionApi
from base.date_time.date_time import DateTime
from base.date_time.date_time_view_factory import DateTimeViewFactory
from base.file.file_view_factory import FileViewFactory
from base.image.image_view_factory import ImageViewFactory
from blackfennec.interpretation.specification import Specification
__types = []
def _types(api: ExtensionApi):
global __types
if not __types:
__types = [
DateTime.TYPE,
api.type_loader.load('extensions/base/base/file/file.json'),
api.type_loader.load('extensions/base/base/image/image.json'),
]
return __types
factories = [
DateTimeViewFactory(),
FileViewFactory(),
ImageViewFactory(),
]
def create_extension(extension_api: ExtensionApi):
"""Registers all base types
Args:
extension_api (ExtensionApi): contains constructor injection
parameters.
"""
for type in [DateTime.TYPE]:
extension_api.type_registry.register_type(type)
for type, factory in zip(_types(extension_api), factories):
extension_api.view_factory_registry.register_view_factory(
type, Specification(), factory)
extension_api.view_factory_registry.register_view_factory(
type, Specification(True), factory)
def destroy_extension(extension_api: ExtensionApi):
"""Deregisters all base types
Args:
extension_api (ExtensionApi): contains constructor injection
parameters
"""
for type, factory in zip(_types(extension_api), factories):
extension_api.type_registry.deregister_type(type)
extension_api.view_factory_registry.deregister_view_factory(
type, Specification())
extension_api.view_factory_registry.deregister_view_factory(
type, Specification(True))
global __types
__types = []
from blackfennec.extension.extension_api import ExtensionApi
from base.date_time.date_time import DateTime
from base.date_time.date_time_view_factory import DateTimeViewFactory
from base.file.file_view_factory import FileViewFactory
from base.image.image_view_factory import ImageViewFactory
from blackfennec.interpretation.specification import Specification
__types = []
def _types(api: ExtensionApi):
global __types
if not __types:
__types = [
DateTime.TYPE,
api.type_loader.load('base/file/file.json'),
api.type_loader.load('base/image/image.json'),
]
return __types
factories = [
DateTimeViewFactory(),
FileViewFactory(),
ImageViewFactory(),
]
def create_extension(extension_api: ExtensionApi):
"""Registers all base types
Args:
extension_api (ExtensionApi): contains constructor injection
parameters.
"""
for type in [DateTime.TYPE]:
extension_api.type_registry.register_type(type)
for type, factory in zip(_types(extension_api), factories):
extension_api.view_factory_registry.register_view_factory(
type, Specification(), factory)
extension_api.view_factory_registry.register_view_factory(
type, Specification(True), factory)
def destroy_extension(extension_api: ExtensionApi):
"""Deregisters all base types
Args:
extension_api (ExtensionApi): contains constructor injection
parameters
"""
for type, factory in zip(_types(extension_api), factories):
extension_api.type_registry.deregister_type(type)
extension_api.view_factory_registry.deregister_view_factory(
type, Specification())
extension_api.view_factory_registry.deregister_view_factory(
type, Specification(True))
global __types
__types = []
setup.py 0 → 100644
# -*- coding: utf-8 -*-
from importlib.metadata import entry_points
from setuptools import setup, find_packages
setup(
name="BlackFennec Base Extension",
version="0.0.1",
description="Base extension for BlackFennec",
long_description="Base extension for BlackFennec",
long_description_content_type='text/markdown',
license="GPL-3.0",
packages=find_packages(exclude=('tests', 'doubles', 'docs')),
entry_points={
"blackfennec.extension": [
"base = base"
]
}
)
......@@ -5,7 +5,7 @@ from blackfennec_doubles.type_system.double_type_registry import TypeRegistryMoc
from blackfennec_doubles.extension.double_view_factory_registry import ViewFactoryRegistryMock
from blackfennec_doubles.structure.type.double_type_loader import TypeLoaderMock
from blackfennec.extension.extension_api import ExtensionApi
from extension import create_extension, destroy_extension
from extensions.base.base import create_extension, destroy_extension
class BaseExtensionTestSuite(unittest.TestCase):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment