def main(global_config, **settings): """ This function returns a WSGI application. """ engine = engine_from_config(settings, 'sqlalchemy.') initialize_sql(engine) authn_policy = AuthTktAuthenticationPolicy( 'sosecret', callback=groupfinder) authz_policy = ACLAuthorizationPolicy() config = Configurator(settings=settings, root_factory='tutorial.models.RootFactory', authentication_policy=authn_policy, authorization_policy=authz_policy) config.add_static_view('static', 'tutorial:static') config.add_route('view_wiki', '/', view='tutorial.views.view_wiki') config.add_route('login', '/login', view='tutorial.login.login', view_renderer='tutorial:templates/login.pt') config.add_route('logout', '/logout', view='tutorial.login.logout') config.add_route('view_page', '/{pagename}', view='tutorial.views.view_page', view_renderer='tutorial:templates/view.pt') config.add_route('add_page', '/add_page/{pagename}', view='tutorial.views.add_page', view_renderer='tutorial:templates/edit.pt', view_permission='edit') config.add_route('edit_page', '/{pagename}/edit_page', view='tutorial.views.edit_page', view_renderer='tutorial:templates/edit.pt', view_permission='edit') config.add_view('tutorial.login.login', renderer='tutorial:templates/login.pt', context='pyramid.exceptions.Forbidden') return config.make_wsgi_app()
def app(global_config, **settings): """ This function returns a WSGI application. It is usually called by the PasteDeploy framework during ``paster serve``. """ config = Configurator(root_factory=get_root, settings=settings) config.begin() session_factory = session_factory_from_settings(settings) config.set_session_factory(session_factory) tictactroll.gamestate.set_db_path(settings.get('db_path')) config.add_view("tictactroll.views.game", name="game", renderer="tictactroll:templates/game.mako") config.add_view("tictactroll.views.about", name="about", renderer="tictactroll:templates/about.mako") config.add_view("tictactroll.views.welcome", renderer="tictactroll:templates/welcome.mako") config.add_view("tictactroll.views.enter_game", name="enter_game") config.add_view("tictactroll.views.new_game", name="new_game") config.add_view("tictactroll.views.add_grid", name="add_grid", renderer="json") config.add_view("tictactroll.views.next_troll_grid", name="next_troll_grid", renderer="json") config.add_view("tictactroll.views.gameover_html", name="gameover", renderer="tictactroll:templates/gameover.mako") config.add_static_view("static", "tictactroll:static") config.end() return config.make_wsgi_app()
def app(global_config, **settings): """ This function returns a WSGI application. It is usually called by the PasteDeploy framework during ``paster serve``. """ db_string = settings.get('db_string') if db_string is None: raise ValueError("No 'db_string' value in application configuration.") db_echo = settings.get('db_echo', 'false') initialize_sql(db_string, asbool(db_echo)) config = Configurator(settings=settings) config.begin() config.add_static_view('static', 'tutorial:static') config.add_route('home', '/', view='tutorial.views.view_wiki') config.add_route('view_page', '/:pagename', view='tutorial.views.view_page', view_renderer='tutorial:templates/view.pt') config.add_route('add_page', '/add_page/:pagename', view='tutorial.views.add_page', view_renderer='tutorial:templates/edit.pt') config.add_route('edit_page', '/:pagename/edit_page', view='tutorial.views.edit_page', view_renderer='tutorial:templates/edit.pt') config.end() return config.make_wsgi_app()
def main(global_config, **settings): """ This function returns a Pyramid WSGI application. """ import logging logging.basicConfig(level=logging.DEBUG) config = Configurator(root_factory=get_root, settings=settings) config.begin() from pyramid_jinja2 import renderer_factory config.add_renderer('.jinja2', renderer_factory) # configure views, templates configure(config) # configure session import pyramid_beaker session_factory = pyramid_beaker.session_factory_from_settings(settings) config.set_session_factory(session_factory) # configure OpenID-specific storage import stucco_openid.models from openid.store import filestore stucco_openid.models.root.store = \ filestore.FileOpenIDStore(settings['openid.store_file_path']) config.end() return config.make_wsgi_app()
def app(global_config, **settings): """ This function returns a WSGI application. It is usually called by the PasteDeploy framework during ``paster serve``. """ db_string = settings.get("db_string") if db_string is None: raise ValueError("No 'db_string' value in application configuration.") db_echo = settings.get("db_echo", "false") initialize_sql(db_string, asbool(db_echo)) config = Configurator(settings=settings) config.begin() config.add_static_view("static", "tutorial:static") config.add_route("home", "/", view="tutorial.views.view_wiki") config.add_route( "view_page", "/:pagename", view="tutorial.views.view_page", view_renderer="tutorial:templates/view.pt" ) config.add_route( "add_page", "/add_page/:pagename", view="tutorial.views.add_page", view_renderer="tutorial:templates/view.pt" ) config.add_route( "edit_page", "/:pagename/edit_page", view="tutorial.views.edit_page", view_renderer="tutorial:templates/edit.pt" ) config.end() return config.make_wsgi_app()
def main(global_config, **settings): """ This function returns a Pyramid WSGI application. """ engine = engine_from_config(settings, "sqlalchemy.") initialize_sql(engine) config = Configurator(settings=settings) config.add_static_view("static", "tutorial:static") config.add_route("home", "/", view="tutorial.views.my_view", view_renderer="templates/mytemplate.pt") return config.make_wsgi_app()
def main(global_config, **settings): """ This function returns a Pyramid WSGI application. """ config = Configurator(root_factory=get_root, settings=settings) config.add_view('myproject.views.my_view', context='myproject.models.MyModel', renderer='myproject:templates/mytemplate.pt') config.add_static_view('static', 'myproject:static') return config.make_wsgi_app()
def setUp(self): from pyramid.configuration import Configurator config = Configurator(root_factory=self.root_factory) config.begin() config.load_zcml(self.config) app = config.make_wsgi_app() from webtest import TestApp self.testapp = TestApp(app) self.config = config
def app(global_config, **settings): """ This function returns a WSGI application. It is usually called by the PasteDeploy framework during ``paster serve``. """ config = Configurator(root_factory=get_root, settings=settings) config.begin() config.load_zcml('configure.zcml') config.end() return config.make_wsgi_app()
def app(global_config, **settings): db_uri = settings.get('db_uri') db_name = settings.get('db_name') if db_uri is None or db_name is None: raise ValueError("db_uri AND db_name must be defined" " in application initilization configuration file") zcml_file = settings.get('configure_zcml', 'configure.zcml') config = Configurator(root_factory=RootFactory, settings=settings) config.begin() config.load_zcml(zcml_file) config.end() return config.make_wsgi_app()
def app(global_config, **settings): """ This function returns a ``pyramid`` application object. It is usually called by the PasteDeploy framework during ``paster serve``""" combined_config = {} combined_config.update(global_config) combined_config.update(settings) setup_model(**combined_config) config = Configurator(root_factory=get_root, settings=combined_config) config.scan() config.add_static_view(name="static", path="spazzer.web:templates/static") return config.make_wsgi_app()
def main(global_config, **settings): """ This function returns a WSGI application. """ db_string = settings.get('db_string') if db_string is None: raise ValueError("No 'db_string' value in application configuration.") db_echo = settings.get('db_echo', 'false') initialize_sql(db_string, asbool(db_echo)) config = Configurator(settings=settings) config.add_static_view('static', 'tutorial:static') config.add_route('home', '/', view='tutorial.views.my_view', view_renderer='templates/mytemplate.pt') return config.make_wsgi_app()
def main(global_config, **settings): """ This function returns a Pyramid WSGI application. """ zodb_uri = settings.get('zodb_uri') if zodb_uri is None: raise ValueError("No 'zodb_uri' in application configuration.") finder = PersistentApplicationFinder(zodb_uri, appmaker) def get_root(request): return finder(request.environ) config = Configurator(root_factory=get_root, settings=settings) config.load_zcml('configure.zcml') return config.make_wsgi_app()
def main(global_config, **settings): """ This function returns a WSGI application. """ db_string = settings.get("db_string") if db_string is None: raise ValueError("No 'db_string' value in application configuration.") db_echo = settings.get("db_echo", "false") get_root = appmaker(db_string, asbool(db_echo)) config = Configurator(settings=settings, root_factory=get_root) config.add_static_view("static", "meteoglobal:static") config.add_view("meteoglobal.views.view_root", context="meteoglobal.models.MyApp", renderer="templates/root.pt") config.add_view("meteoglobal.views.view_model", context="meteoglobal.models.MyModel", renderer="templates/model.pt") return config.make_wsgi_app()
def app(global_config, **settings): """ This function returns a WSGI application. It is usually called by the PasteDeploy framework during ``paster serve``. """ config = Configurator(root_factory=get_root, settings=settings) config.begin() config.add_view('myproject.views.my_view', context='myproject.models.MyModel', renderer='myproject:templates/mytemplate.pt') config.add_static_view('static', 'myproject:static') config.end() return config.make_wsgi_app()
def make_pyramid_app(global_config, **kwargs): """ This function returns a WSGI application. """ settings = dict(global_config) settings.update(kwargs) config = Configurator(root_factory=get_root, settings=init_settings(global_config)) config.add_renderer('.html', renderer_factory) config.add_static_view('static', 'academe:static') config.scan('academe') pyramid_app = config.make_wsgi_app() return pyramid_app
def main(global_config, **settings): """ This function returns a WSGI application. It is usually called by the PasteDeploy framework during ``paster serve``. """ zodb_uri = settings.get('zodb_uri') if zodb_uri is None: raise ValueError("No 'zodb_uri' in application configuration.") finder = PersistentApplicationFinder(zodb_uri, appmaker) def get_root(request): return finder(request.environ) config = Configurator(root_factory=get_root, settings=settings) config.load_zcml('configure.zcml') return config.make_wsgi_app()
def app(global_config, **settings): """ This function returns a WSGI application. It is usually called by the PasteDeploy framework during ``paster serve``. """ config = Configurator(settings=settings) config.begin() config.add_static_view('static', 'pyramidapp:static') config.add_route('home', '/', view='pyramidapp.views.main_view', view_renderer='pyramidapp:templates/mytemplate.pt') config.add_route('tab', '/tab/{name}', view=view_tab) config.end() return config.make_wsgi_app()
def main(global_config, **settings): """ This function returns a WSGI application. """ engine = engine_from_config(settings, 'sqlalchemy.') initialize_sql(engine) config = Configurator(settings=settings) config.add_static_view('static', 'tutorial:static') config.add_route('home', '/', view='tutorial.views.view_wiki') config.add_route('view_page', '/{pagename}', view='tutorial.views.view_page', view_renderer='tutorial:templates/view.pt') config.add_route('add_page', '/add_page/{pagename}', view='tutorial.views.add_page', view_renderer='tutorial:templates/edit.pt') config.add_route('edit_page', '/{pagename}/edit_page', view='tutorial.views.edit_page', view_renderer='tutorial:templates/edit.pt') return config.make_wsgi_app()
def app(global_config, **settings): """ This function returns a WSGI application. It is usually called by the PasteDeploy framework during ``paster serve``. """ zcml_file = settings.get('configure_zcml', 'configure.zcml') db_string = settings.get('db_string') if db_string is None: raise ValueError( "No 'db_string' value in application configuration.") db_echo = settings.get('db_echo', 'false') initialize_sql(db_string, asbool(db_echo)) config = Configurator(settings=settings) config.begin() config.load_zcml(zcml_file) config.end() return config.make_wsgi_app()
def app(global_config, **settings): """ This function returns a WSGI application. It is usually called by the PasteDeploy framework during ``paster serve``. """ db_string = settings.get('db_string') if db_string is None: raise ValueError("No 'db_string' value in application configuration.") db_echo = settings.get('db_echo', 'false') initialize_sql(db_string, asbool(db_echo)) authn_policy = AuthTktAuthenticationPolicy( 'sosecret', callback=groupfinder) authz_policy = ACLAuthorizationPolicy() config = Configurator(settings=settings, root_factory='tutorial.models.RootFactory', authentication_policy=authn_policy, authorization_policy=authz_policy) config.begin() config.add_static_view('static', 'tutorial:static') config.add_route('view_wiki', '/', view='tutorial.views.view_wiki') config.add_route('login', '/login', view='tutorial.login.login', view_renderer='tutorial:templates/login.pt') config.add_route('logout', '/logout', view='tutorial.login.logout') config.add_route('view_page', '/:pagename', view='tutorial.views.view_page', view_renderer='tutorial:templates/view.pt') config.add_route('add_page', '/add_page/:pagename', view='tutorial.views.add_page', view_renderer='tutorial:templates/edit.pt', view_permission='edit') config.add_route('edit_page', '/:pagename/edit_page', view='tutorial.views.edit_page', view_renderer='tutorial:templates/edit.pt', view_permission='edit') config.add_view('tutorial.login.login', renderer='tutorial:templates/login.pt', context='pyramid.exceptions.Forbidden') config.end() return config.make_wsgi_app()
def main(global_config, **settings): config = Configurator(settings=settings) # Maintenance config.add_route('blitz-io-verification', '/mu-1e32b3b5-6f6be39c-4bc74834-6b7586e8') config.add_route('maintenance-200', '/maintenance/200') # Internal config.add_route('saasy-subscriptions', '/services/saasy/subscriptions') # API routing config = v_0_1_routing(config) config = v_0_2_routing(config) config.scan('tickee_api.resources') # OAuth 2 routing configure_oauth2_routing(config) config.scan('pyramid_oauth2.views') return config.make_wsgi_app()
def main(global_config, **settings): """ This function returns a Pyramid WSGI application. """ from pyramid.configuration import Configurator config = Configurator(settings=settings) config.add_renderer(name = 'nt', factory='.renderers.NTriplesGraphRenderer') config.add_renderer(name = 'rdfxml', factory='.renderers.RDFXMLGraphRenderer') config.add_renderer(name = 'n3', factory='.renderers.N3GraphRenderer') session_factory = session_factory_from_settings(settings) config.set_session_factory(session_factory) config.registry['sparql.url'] = settings['sparql.url'] config.add_static_view('static', 'sparql_shim:static/') config.add_handler('direct_graph', '/{name:.+}', '.handlers:GraphHandler', action='graph') config.add_handler('indirect_graph', '/', '.handlers:GraphHandler', action='graph') config.scan('sparql_shim.subscribers') return config.make_wsgi_app()
def mailin_monitor_view(context, request): """ Dispatches to a subapp from repoze.mailin.monitor. I know this looks kind of horrible, but this is the best way I know how to mount another object graph onto the root object graph in BFG 1.2. BFG 1.3 will theoretically allow SCRIPT_NAME/PATH_INFO rewriting for routes of the form '/some/path/*traverse', making it easier to do this with just a route, rather than actually constituting a whole new bfg app just to serve this subtree. """ global _mailin_monitor_app if _mailin_monitor_app is None: # Keep imports local in hopes that this can be removed when BFG 1.3 # comes out. from pyramid.authorization import ACLAuthorizationPolicy from pyramid.configuration import Configurator from karl.models.mailin_monitor import KarlMailInMonitor from karl.security.policy import get_groups from pyramid.authentication import RepozeWho1AuthenticationPolicy authentication_policy = RepozeWho1AuthenticationPolicy( callback=get_groups ) authorization_policy = ACLAuthorizationPolicy() config = Configurator(root_factory=KarlMailInMonitor(), authentication_policy=authentication_policy, authorization_policy=authorization_policy) config.begin() config.load_zcml('repoze.mailin.monitor:configure.zcml') config.end() _mailin_monitor_app = config.make_wsgi_app() # Dispatch to subapp from pyramid.request import Request sub_environ = request.environ.copy() sub_environ['SCRIPT_NAME'] = '/%s/%s' % (resource_path(context), request.view_name) sub_environ['PATH_INFO'] = '/' + '/'.join(request.subpath) sub_request = Request(sub_environ) return sub_request.get_response(_mailin_monitor_app)
def app(global_config, **settings): """ This function returns a WSGI application. It is usually called by the PasteDeploy framework during ``paster serve``. """ zcml_file = settings.get('configure_zcml', 'configure.zcml') auth = RepozeWho1AuthenticationPolicy(identifier_name='basicauth') acl = ACLAuthorizationPolicy() config = Configurator( root_factory=get_root, settings=settings, authorization_policy = acl, authentication_policy = auth, ) config.begin() config.load_zcml(zcml_file) config.end() return config.make_wsgi_app()
def main(global_config, **settings): """ This function returns a Pyramid WSGI application. """ config = Configurator() config.begin() db_uri = settings['db_uri'] server_url = settings['server_url'] conn = Connection(db_uri) config.registry.settings['db_conn'] = conn config.registry.settings['server_url'] = server_url config.registry.settings['db_name'] = settings['db_name'] config.add_subscriber(add_mongo_db, NewRequest) config.include('pyramid_zcml') config.load_zcml('configure.zcml') config.end() #add renderer #Fixme: try to insert this on zcml file config.add_renderer('jsonp', JSONP(param_name='callback')) return config.make_wsgi_app()
import urllib import json as simplejson from pyramid.configuration import Configurator from paste.httpserver import serve from beaker.cache import cache_regions, cache_region cache_regions['short_term'] = dict(type='memory', expire=30*60) def index(request): fml_endpoint = 'http://graph.facebook.com/search?q="so%20starving&type=post' @cache_region('short_term') def fb_data(key=None): fb_response = urllib.urlopen(key,).read() return simplejson.loads(fb_response)["data"] return {'data': fb_data(fml_endpoint)} if __name__ == '__main__': settings = {} settings['mako.directories'] = './templates' config = Configurator(settings=settings) config.begin() config.add_view(index, name='', renderer='index.mako') config.end() app = config.make_wsgi_app() serve(app, host='0.0.0.0')
try: form.validate(request) except formish.FormError, e: log.debug(e) except Exception, e: log.debug(e) return {'form':form, 'form2':form} def goodbye_world(request): return Response('Goodbye world!') class QuietHandler(simple_server.WSGIRequestHandler): def log_message(self, format, *args): pass if __name__ == '__main__': import logging logging.basicConfig(level=logging.DEBUG) config = Configurator(settings={'reload_templates':True}) config.begin() sm = zope.component.getSiteManager() sm.registerUtility([resource_filename('pyramid_uniform', 'templates/zpt')], pyramid_formish.IFormishSearchPath) config.add_static_view('static', 'pyramid_uniform:templates/static') config.add_view(sample_form, renderer="pyramid_uniform:templates/index.pt") config.end() app = config.make_wsgi_app() simple_server.make_server('', 9876, app, handler_class=QuietHandler).serve_forever()
import json as simplejson from pyramid.configuration import Configurator from paste.httpserver import serve from beaker.cache import cache_regions, cache_region cache_regions['short_term'] = dict(type='memory', expire=30*60) def index(request): fml_endpoint = 'http://graph.facebook.com/search?q="so%20starving&type=post' @cache_region('short_term') def fb_data(key=None): fb_response = urllib.urlopen(key,).read() return simplejson.loads(fb_response)["data"] return {'data': fb_data(fml_endpoint)} settings = {} settings['mako.directories'] = './templates' config = Configurator(settings=settings) config.begin() config.add_view(index, name='', renderer='index.mako') config.end() application = config.make_wsgi_app() if __name__ == '__main__': serve(application, host='0.0.0.0')
from pyramid.configuration import Configurator from paste.httpserver import serve from beaker.cache import cache_regions, cache_region cache_regions["short_term"] = dict(type="memory", expire=30 * 60) def index(request): fml_endpoint = 'http://graph.facebook.com/search?q="so%20starving&type=post' @cache_region("short_term") def fb_data(key=None): fb_response = urllib.urlopen(key).read() return simplejson.loads(fb_response)["data"] return {"data": fb_data(fml_endpoint)} settings = {} settings["mako.directories"] = "./templates" config = Configurator(settings=settings) config.begin() config.add_view(index, name="", renderer="index.mako") config.end() application = config.make_wsgi_app() if __name__ == "__main__": serve(application, host="0.0.0.0")