1
0
Fork 0
mirror of https://github.com/yweber/lodel2.git synced 2025-11-02 04:20:55 +01:00

Replaced imports by LodelContext.expose_modules() calls

Theorically all of those imports were tested by unit testing, but we've got no inssurance about that.
And even if unit tests had check for syntax errors, all pieces of code were not tested. We cannot
be sure that an import was missed or forgotten...
This commit is contained in:
Yann 2016-11-02 17:03:22 +01:00
commit c3137b658f
27 changed files with 113 additions and 56 deletions

View file

@ -1,4 +1,6 @@
from lodel.settings.validator import SettingValidator
from lodel.context import LodelContext
LodelContext.expose_modules(globals(), {
'lodel.settings.validator': ['SettingValidator']})
__plugin_name__ = "dummy"
__version__ = '0.0.1' #or __version__ = [0,0,1]

View file

@ -1,6 +1,8 @@
#-*- coding: utf-8 -*-
from lodel.settings.validator import SettingValidator
from lodel.context import LodelContext
LodelContext.expose_modules(globals(), {
'lodel.settings.validator': ['SettingValidator']})
CONFSPEC = {
'lodel2.section1': {

View file

@ -1,6 +1,8 @@
#-*- coding: utf-8 -*-
from lodel.plugin import LodelHook, CustomMethod
from lodel.context import LodelContext
LodelContext.expose_modules(globals(), {
'lodel.plugin': ['LodelHook', 'CustomMethod']})
@LodelHook('leapi_get_post')
@LodelHook('leapi_update_pre')
@ -26,9 +28,3 @@ def dummy_instance_method(self):
print("Hello world !\
I'm a custom method on class %s" % self.__class__)
@LodelHook('lodel2_loader_main')
def foofun(hname, caller, payload):
from lodel import dyncode
print("Hello world ! I read dyncode from lodel.dyncode : ",
dyncode.dynclasses)

View file

@ -1,4 +1,6 @@
from lodel.settings.validator import SettingValidator
from lodel.context import LodelContext
LodelContext.expose_modules(globals(), {
'lodel.settings.validator': ['SettingValidator']})
from .datasource import DummyDatasource as Datasource
__plugin_type__ = 'datasource'

View file

@ -1,6 +1,8 @@
#-*- coding:utf-8 -*-
from lodel.plugin.datasource_plugin import AbstractDatasource
from lodel.context import LodelContext
LodelContext.expose_modules(globals(), {
'lodel.plugin.datasource_plugin': ['AbstractDatasource']})
class DummyDatasource(AbstractDatasource):

View file

@ -1,6 +1,8 @@
#-*- coding:utf-8 -*-
from lodel.plugin import LodelHook
from lodel.context import LodelContext
LodelContext.expose_modules(globals(), {
'lodel.plugin': ['LodelHook']})
from .datasource import DummyDatasource as Datasource
def migration_handler_class():

View file

@ -1,4 +1,6 @@
from lodel.settings.validator import SettingValidator
from lodel.context import LodelContext
LodelContext.expose_modules(globals(), {
'lodel.settings.validator': ['SettingValidator']})
__plugin_name__ = 'filesystem_session'
__version__ = [0,0,1]

View file

@ -1,6 +1,8 @@
# -*- coding: utf-8 -*-
from lodel.settings.validator import SettingValidator
from lodel.context import LodelContext
LodelContext.expose_modules(globals(), {
'lodel.settings.validator': ['SettingValidator']})
CONFSPEC = {
'lodel2.sessions':{

View file

@ -6,9 +6,11 @@ import pickle
import re
import time
from lodel import logger
from lodel.auth.exceptions import ClientAuthenticationFailure
from lodel.settings import Settings
from lodel.context import LodelContext
LodelContext.expose_modules(globals(), {
'lodel.logger': 'logger',
'lodel.auth.exceptions': ['ClientAuthenticationFailure'],
'lodel.settings': ['Settings']})
from .filesystem_session import FileSystemSession

View file

@ -17,7 +17,7 @@ __fullname__ = "MongoDB plugin"
#
# @return bool|str : True if all the checks are OK, an error message if not
def _activate():
from lodel import buildconf
from lodel import buildconf #NOTE : this one do not have to pass through the context
return buildconf.PYMONGO
#

View file

@ -1,6 +1,8 @@
# -*- coding: utf-8 -*-
from lodel.settings.validator import SettingValidator
from lodel.context import LodelContext
LodelContext.expose_modules(globals(), {
'lodel.settings.validator': ['SettingValidator']})
##@brief Mongodb datasource plugin confspec
#@ingroup plugin_mongodb_datasource

View file

@ -9,11 +9,13 @@ from collections import OrderedDict
import pymongo
from pymongo.errors import BulkWriteError
from lodel import logger
from lodel.leapi.leobject import CLASS_ID_FIELDNAME
from lodel.leapi.datahandlers.base_classes import Reference, MultipleRef
from lodel.exceptions import LodelException, LodelFatalError
from lodel.plugin.datasource_plugin import AbstractDatasource
from lodel.context import LodelContext
LodelContext.expose_modules(globals(), {
'lodel.logger': 'logger',
'lodel.leapi.leobject': ['CLASS_ID_FIELDNAME'],
'lodel.leapi.datahandlers.base_classes': ['Reference', 'MultipleRef'],
'lodel.exceptions': ['LodelException', 'LodelFatalError'],
'lodel.plugin.datasource_plugin': ['AbstractDatasource']})
from . import utils
from .exceptions import *

View file

@ -1,6 +1,9 @@
from lodel.exceptions import *
from lodel.context import LodelContext
LodelContext.expose_modules(globals(), {
'lodel.exceptions': ['LodelException', 'LodelExceptions',
'LodelFatalError', 'DataNoneValid', 'FieldValidationError']})
##@ingroup plugin_mongodb_datasource
#@ingroup plugin_mongodb_datasource
class MongoDbDataSourceError(Exception):
pass

View file

@ -1,4 +1,6 @@
from lodel.plugin import LodelHook
from lodel.context import LodelContext
LodelContext.expose_modules(globals(), {
'lodel.plugin': ['LodelHook']})
from .datasource import MongoDbDatasource as Datasource

View file

@ -1,15 +1,19 @@
# -*- coding: utf-8 -*-
import datetime
from lodel.editorial_model.components import EmClass, EmField
from lodel.editorial_model.model import EditorialModel
from lodel.context import LodelContext
LodelContext.expose_modules(globals(), {
'lodel.editorial_model.components': ['EmClass', 'EmField'],
'lodel.editorial_model.model': ['EditorialModel'],
'lodel.leapi.datahandlers.base_classes': ['DataHandler'],
'lodel.plugin': ['LodelHook'],
'lodel.logger': 'logger'})
from leapi_dyncode import * #<-- TODO : handle this !!!
from .utils import connect, object_collection_name, mongo_fieldname
from lodel.leapi.datahandlers.base_classes import DataHandler
from lodel.plugin import LodelHook
from leapi_dyncode import *
from .datasource import MongoDbDatasource
from .exceptions import *
from lodel import logger
class MigrationHandler(object):

View file

@ -3,8 +3,10 @@
import pymongo
from pymongo import MongoClient
from lodel.settings.settings import Settings as settings
from lodel import logger
from lodel.context import LodelContext
LodelContext.expose_modules(globals(), {
'lodel.settings.settings': [('Settings', 'settings')],
'lodel.logger': 'logger'})
common_collections = {
'object': 'objects',

View file

@ -1,4 +1,6 @@
from lodel.settings.validator import SettingValidator
from lodel.context import LodelContext
LodelContext.expose_modules(globals(), {
'lodel.settings.validator': ['SettingValidator']})
__plugin_name__ = 'ram_session'
__version__ = [0,0,1]

View file

@ -3,9 +3,12 @@ import os
import copy
import binascii
from lodel import logger
from lodel.settings import Settings
from lodel.auth.exceptions import *
from lodel.context import LodelContext
LodelContext.expose_modules(globals(), {
'lodel.logger': 'logger',
'lodel.settings': ['Settings'],
'lodel.auth.exceptions': ['ClientError', 'ClientAuthenticationFailure',
'ClientPermissionDenied', 'ClientAuthenticationError']})
__sessions = dict()

View file

@ -1,4 +1,5 @@
from lodel.auth.client import Client
from lodel.context import LodelContext
LodelContext.expose_modules(globals(), {'lodel.auth.client': ['Client']})
class WebUiClient(Client):

View file

@ -1,4 +1,6 @@
from lodel.settings.validator import SettingValidator
from lodel.context import LodelContext
LodelContext.expose_modules(globals(), {
'lodel.settings.validator': ['SettingValidator']})
CONFSPEC = {
'lodel2.webui': {

View file

@ -2,13 +2,15 @@
from ...exceptions import *
from .base import get_response
from lodel.leapi.exceptions import *
from lodel import logger
from lodel.context import LodelContext
LodelContext.expose_modules(globals(), {
'lodel.leapi.exceptions': [],
'lodel.logger': 'logger':
'lodel.leapi.datahandlers.base_classes': ['MultipleRef']})
from ...client import WebUiClient
import leapi_dyncode as dyncode
import warnings
from lodel.leapi.datahandlers.base_classes import MultipleRef
LIST_SEPARATOR = ','

View file

@ -1,7 +1,9 @@
# -*- coding: utf-8 -*-
from lodel.context import LodelContext
LodelContext.expose_modules(globals(), {'lodel.logger': 'logger'})
from .base import get_response
from ...exceptions import *
from lodel import logger
import leapi_dyncode as dyncode
##@brief These functions are called by the rules defined in ../urls.py

View file

@ -3,8 +3,10 @@ from .base import get_response
from ...exceptions import *
from ...client import WebUiClient as WebUiClient
from lodel import logger
import leapi_dyncode as dyncode
from lodel.context import LodelContext
LodelContext.expose_modules(globals(), {'lodel.logger': 'logger'})
import leapi_dyncode as dyncode #TODO : handle this with context
##@brief These functions are called by the rules defined in ../urls.py
## Their goal is to handle the user authentication
@ -33,4 +35,4 @@ def signin(request):
# @note the response is given in the login html page
def signout(request):
WebUiClient.destroy()
return get_response('users/signin.html')
return get_response('users/signin.html')

View file

@ -4,7 +4,10 @@ import re
from .controllers import *
from .urls import urls
from ..main import root_url
from lodel.settings import Settings
from lodel.context import LodelContext
LodelContext.expose_modules(globals(), {
'lodel.settings': ['Settings']})
def format_url_rule(url_rule):
if url_rule.startswith('^'):

View file

@ -2,7 +2,9 @@
import jinja2
import os
from lodel.settings import Settings
from lodel.context import LodelContext
LodelContext.expose_modules(globals(), {'lodel.settings': ['Settings']})
from ...client import WebUiClient as WebUiClient
import leapi_dyncode

View file

@ -3,9 +3,13 @@
import os, os.path
import sys
import shlex
from lodel.plugin import LodelHook
from lodel.settings import Settings
from lodel import buildconf
from lodel.context import LodelContext
LodelContext.expose_modules(globals(), {
'lodel.plugin': ['LodelHook'],
'lodel.settings': ['Settings']})
from lodel import buildconf #<-- This one is common to the build
PLUGIN_PATH = os.path.dirname(__file__)

View file

@ -7,12 +7,16 @@ import time
from werkzeug.wrappers import Response
from lodel.settings import Settings
from lodel.context import LodelContext
LodelContext.expose_modules(globals(), {
'lodel.settings': ['Settings'],
'lodel.auth.exceptions': ['ClientError', 'ClientAuthenticationFailure',
'ClientPermissionDenied', 'ClientAuthenticationError']})
from .interface.router import get_controller
from .interface.lodelrequest import LodelRequest
from .exceptions import *
from .client import WebUiClient
from lodel.auth.exceptions import *
try:
SESSION_FILES_BASE_DIR = Settings.webui.sessions.directory
@ -57,7 +61,10 @@ def empty_cookie(response):
#Starting instance
loader.start()
#providing access to dyncode
import lodel
##@todo Dirty & quick dyncode access providing. Replace it by a clean access
#using LodelContext
lodel = LodelContext.get()
import leapi_dyncode as dyncode
lodel.dyncode = dyncode