From cb8e3cb6c6f512b4b191ed286a2d31b50f00b00d Mon Sep 17 00:00:00 2001 From: Gael Pasgrimaud Date: Sat, 15 Jan 2011 14:31:39 +0100 Subject: [PATCH] use include() and configure() --- .gitignore | 18 ++++++++++++++++- buildout.cfg | 1 + pyramid_formalchemy/__init__.py | 31 ++++++++++++++++++++++++++++-- pyramidapp/pyramidapp.db | Bin 8192 -> 0 bytes pyramidapp/pyramidapp/__init__.py | 11 +++-------- 5 files changed, 50 insertions(+), 11 deletions(-) delete mode 100644 pyramidapp/pyramidapp.db 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 02fabbac12a326b600ae3eda846a9c064f6f3ff9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8192 zcmeI1O=u%!7{_Ol%=0AkH2q4`H2s`@Crv-*Gc!R^;}W%4tBvi#f>5$1E0wg-ZtDjk zSP!Cj@UZAf!99uK9=s^(O<6pN3L?s~2U!pl6cl6;_uw@3eWb3N?)l9~Da-b0>u z{><>qBoD5wZ0$9SGp*h2+MeMkaYa>?I}AfnlytZqACXYhV-v^u*!1<7#A`|vzE<#7 z{5(9!Arp`Z$OL2pGJ*dnfqE1(sg!!Kv{yUbY@BJe!cXi(wNhTM80+ObS1Mt{YZ*B` zu~j#gSJx|dSE|P9{p-f+#>&dPp(jq)c8!ze>WO>G)tv2l`NO#fs>}D4tEY^6E2oUy zRz0uh54u&%WV7nQGwm|lt$L$*_GlmZTd||Lf2p@q+iqM}@QGS;zaf_QPb)Z_+gM#* z+o%}1!*2+eRER+4_N=OG?bI7joqfC+_V&%%{$8u?n@8)|w2qF^F#K3D+&S95g1_Mp zcp1OMi}(Rv!1MSjzJ$->WB4$h#O1JaFX05HF%Eyg&+r|51)su)Z~@+gbMOK@4NcgD zDpVkV0*pcr#I&p0kJ@GJ3+)r_J?(Anb?p`H`LK)}G69)@OyK5DfSj0;Rd-vhJ-1|$ z%@UYovG_}5vJ@9-iN#x>MHY9S7Fe7D&9m5ZRA904G{<7*C@;h*%~Fmfn4wt~f0|}k zic>Vr;!V;Ni#tJ+EY3Jhu-FETvshzfu$ZGXCd4j{&?rkVOd~A*5Dl{w2Wg1K%hDi= zJ3v_$Cqn})c0XlUtTgqrn0=HMVwFl9Nm?dzbF&~?Eki_ED`+xYOzk8Y^U+0(f)toPsOj2R{#J2 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()