diff --git a/.gitignore b/.gitignore index cd5c2a1..0f45c59 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,18 @@ -*.pyc +.Python +bin/ +lib/ +dist/ +eggs/ +parts/ +var/ +develop-eggs/ +docs/_build/ +docs/modules/ +include/ +.installed.cfg +*.egg-info *.pt.py +*.swp +*.pyc +*.pyo +*.log diff --git a/buildout.cfg b/buildout.cfg index f95c4c3..86d7456 100644 --- a/buildout.cfg +++ b/buildout.cfg @@ -23,3 +23,4 @@ initialization = os.chdir('pyramidapp') scripts= nosetests=nosetests + paster=paster_serve diff --git a/pyramid_formalchemy/__init__.py b/pyramid_formalchemy/__init__.py index 7727143..cf01fa5 100644 --- a/pyramid_formalchemy/__init__.py +++ b/pyramid_formalchemy/__init__.py @@ -1,4 +1,31 @@ # -*- coding: utf-8 -*- -def include_formalchemy(config): - pass +def include(config): + config.load_zcml('pyramid_formalchemy:configure.zcml') + +def configure(config, models=None, forms=None, session_factory=None, package=None): + """configure formalchemy's admin interface""" + if models: + models = config.maybe_dotted(models) + if forms: + forms = config.maybe_dotted(forms) + if session_factory: + session_factory = config.maybe_dotted(session_factory) + + if package: + if not models: + models = config.maybe_dotted('%s.models' % package) + if not forms: + forms = config.maybe_dotted('%s.forms' % package) + if not session_factory: + session_factory = config.maybe_dotted('%s.models.DBSession' % package) + + config.registry.settings.update({ + 'fa.models': models, + 'fa.forms': forms, + 'fa.session_factory': session_factory, + }) + + config.add_route('fa_admin', '/admin/*traverse', + factory='pyramid_formalchemy.resources.AdminView') + diff --git a/pyramidapp/pyramidapp.db b/pyramidapp/pyramidapp.db deleted file mode 100644 index 02fabba..0000000 Binary files a/pyramidapp/pyramidapp.db and /dev/null differ diff --git a/pyramidapp/pyramidapp/__init__.py b/pyramidapp/pyramidapp/__init__.py index fae3a7b..9a76d61 100644 --- a/pyramidapp/pyramidapp/__init__.py +++ b/pyramidapp/pyramidapp/__init__.py @@ -2,6 +2,7 @@ from pyramid.config import Configurator from sqlalchemy import engine_from_config from pyramidapp.models import initialize_sql +import pyramid_formalchemy def main(global_config, **settings): """ This function returns a Pyramid WSGI application. @@ -12,14 +13,8 @@ def main(global_config, **settings): config.add_static_view('static', 'pyramidapp:static') config.add_route('home', '/', view='pyramidapp.views.my_view', view_renderer='templates/mytemplate.pt') - config.load_zcml('pyramid_formalchemy:configure.zcml') - config.add_route('fa_admin', '/admin/*traverse', - factory='pyramid_formalchemy.resources.AdminView') - config.registry.settings.update({ - 'fa.models': config.maybe_dotted('pyramidapp.models'), - 'fa.forms': config.maybe_dotted('pyramidapp.forms'), - 'fa.session_factory': config.maybe_dotted('pyramidapp.models.DBSession'), - }) + pyramid_formalchemy.include(config) + pyramid_formalchemy.configure(config, package='pyramidapp') return config.make_wsgi_app()