Ejemplo n.º 1
0
# Copyright (C) 2016 IAC Publishing Labs. All rights reserved.
#
# License: Apache (see LICENSE for details)
import six
import bottle
from woodstove.app import App
from woodstove.log import loggable
from woodstove import conf


DEFAULT_APPS = conf.get('woodstove', 'apps', [
    'woodstove.mgt.root.Root', 
    'woodstove.mgt.debug.Debug',
    'woodstove.mgt.swagger.Swagger',
])


@loggable
class Server(object):
    host = None
    port = None

    def __init__(self):
        ''' '''
        self.root = bottle.default_app()
        self.namespaces = {}
        self.apps = {}

    def import_app(self, name):
        parts = name.split('.')
        cname = parts.pop()
Ejemplo n.º 2
0
# Copyright (C) 2016 IAC Publishing Labs. All rights reserved.
#
# License: Apache (see LICENSE for details)
from woodstove import log
from woodstove import conf


PLUGIN_LIST = conf.get('woodstove', 'plugin_list', [])


__plugins__ = []


def load_plugin(name):
    try:
        __plugins__.append(__import__(name))
    except BaseException:
        log.get_logger(__name__).error("Error importing plugin `%s`", name)
        log.log_traceback(__name__)
    log.get_logger(__name__).info("Loaded plugin: %s", name)


def load_plugins():
    for name in PLUGIN_LIST:
        load_plugin(name)
Ejemplo n.º 3
0
# Copyright (C) 2016 IAC Publishing Labs. All rights reserved.
#
# License: Apache (see LICENSE for details)
import peewee
from playhouse import db_url
from woodstove import conf, exceptions


DB_URI = conf.get('woodstove', 'db_uri', 'sqlite:///:memory:')
__db__ = db_url.connect(DB_URI)


class BaseModel(peewee.Model):
    class Meta:
        database = __db__


def get_db(auto_connect=True):
    if auto_connect and __db__.is_closed():
        __db__.connect()

    return __db__


def get_obj(model, key):
    r = model.select().where(model._meta.primary_key == key)
    try:
        return r.get()
    except peewee.DoesNotExist:
        raise exceptions.NotFoundException