"""CioXml, a module for Chrysalio."""
from os.path import dirname, join
from pyramid.config import Configurator
from chrysalio.initialize import Initialize
from chrysalio.includes.modules.models import DBModule
from chrysalio.modules import Module
from .lib.i18n import _
# =============================================================================
[docs]def includeme(configurator):
"""Function to include module.
:type configurator: pyramid.config.Configurator
:param configurator:
Object used to do configuration declaration within the application.
"""
# Registration
Module.register(configurator, ModuleCioXml)
if not isinstance(configurator, Configurator):
return
# Routes
configurator.include('cioxml.routes')
# Translation
configurator.add_translation_dirs(join(dirname(__file__), 'Locale'))
# Views
static_dir = join(dirname(__file__), 'Static')
Initialize(configurator).add_static_views(__package__, (
('fonts', join(static_dir, 'Fonts')),
('css', join(static_dir, 'Css')),
('js', join(static_dir, 'Js')),
('images', join(static_dir, 'Images')),
('audios', join(static_dir, 'Audios')),
('videos', join(static_dir, 'Videos'))))
configurator.scan('cioxml.views')
# =============================================================================
[docs]class ModuleCioXml(Module):
"""Class for CioXml module.
:param str config_ini:
Absolute path to the configuration file (e.g. development.ini).
"""
name = _('XML')
implements = (
'handler:xml', 'handler:cioset', 'handler:ciomemo',
'handler:cioarticle')
dependencies = ('cioprocessor', 'ciowarehouse')
_DBModule = DBModule