- Timestamp:
- 06/24/10 09:10:37 (2 years ago)
- Location:
- sample/trunk
- Files:
-
- 21 modified
-
buildout.cfg (modified) (1 diff)
-
mapfishsample/config/environment.py (modified) (4 diffs)
-
mapfishsample/config/middleware.py (modified) (3 diffs)
-
mapfishsample/config/routing.py (modified) (1 diff)
-
mapfishsample/controllers/cities.py (modified) (1 diff)
-
mapfishsample/controllers/countries.py (modified) (1 diff)
-
mapfishsample/controllers/epfl.py (modified) (1 diff)
-
mapfishsample/controllers/lines.py (modified) (1 diff)
-
mapfishsample/controllers/points.py (modified) (1 diff)
-
mapfishsample/controllers/polygons.py (modified) (1 diff)
-
mapfishsample/controllers/summits.py (modified) (1 diff)
-
mapfishsample/lib/app_globals.py (modified) (3 diffs)
-
mapfishsample/lib/base.py (modified) (2 diffs)
-
mapfishsample/model/__init__.py (modified) (3 diffs)
-
mapfishsample/model/cities.py (modified) (2 diffs)
-
mapfishsample/model/countries.py (modified) (2 diffs)
-
mapfishsample/model/epfl.py (modified) (2 diffs)
-
mapfishsample/model/meta.py (modified) (1 diff)
-
mapfishsample/model/summits.py (modified) (2 diffs)
-
mapfishsample/tests/__init__.py (modified) (3 diffs)
-
mapfishsample/websetup.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
sample/trunk/buildout.cfg
r3570 r3581 1 1 [buildout] 2 parts = eggs activate print modwsgi template jsbuild 2 #parts = eggs activate print modwsgi template jsbuild 3 parts = template jsbuild 3 4 develop = . MapFish GeoFormAlchemy/GeoFormAlchemy 4 5 newest = false -
sample/trunk/mapfishsample/config/environment.py
r1590 r3581 4 4 from mako.lookup import TemplateLookup 5 5 from pylons.error import handle_mako_error 6 from pylons import config6 from pylons.configuration import PylonsConfig 7 7 from sqlalchemy import engine_from_config 8 8 … … 16 16 object 17 17 """ 18 config = PylonsConfig() 19 18 20 # Pylons paths 19 21 root = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) … … 26 28 config.init_app(global_conf, app_conf, package='mapfishsample', paths=paths) 27 29 28 config['routes.map'] = make_map( )29 config['pylons.app_globals'] = app_globals.Globals( )30 config['routes.map'] = make_map(config) 31 config['pylons.app_globals'] = app_globals.Globals(config) 30 32 config['pylons.h'] = mapfishsample.lib.helpers 33 34 # Setup cache object as early as possible 35 import pylons 36 pylons.cache._push_object(config['pylons.app_globals'].cache) 31 37 32 38 # Create the Mako TemplateLookup, with the default auto-escaping … … 38 44 imports=['from webhelpers.html import escape'], 39 45 default_filters=['escape']) 40 46 41 47 # Setup SQLAlchemy database engine 42 48 engine = engine_from_config(config, 'sqlalchemy.') 43 49 init_model(engine) 44 50 45 51 # CONFIGURATION OPTIONS HERE (note: all config options will override 46 52 # any Pylons config options) 53 54 return config -
sample/trunk/mapfishsample/config/middleware.py
r1590 r3581 32 32 """ 33 33 # Configure the Pylons environment 34 load_environment(global_conf, app_conf)34 config = load_environment(global_conf, app_conf) 35 35 36 36 # The Pylons WSGI app 37 app = PylonsApp( )37 app = PylonsApp(config=config) 38 38 39 39 # CUSTOM MIDDLEWARE HERE (filtered by error handling middlewares) … … 42 42 app = RoutesMiddleware(app, config['routes.map']) 43 43 app = SessionMiddleware(app, config) 44 app = CacheMiddleware(app, config) 45 44 46 45 if asbool(full_stack): 47 46 # Handle Python exceptions … … 61 60 # server is handling this static content, remove the following 2 lines) 62 61 static_app = StaticURLParser(config['pylons.paths']['static_files']) 62 63 63 app = Cascade([static_app, app]) 64 65 app.config = config 66 64 67 return app -
sample/trunk/mapfishsample/config/routing.py
r3570 r3581 9 9 from mapfish.controllers import printer 10 10 11 def make_map( ):11 def make_map(config): 12 12 """Create, configure and return the routes Mapper""" 13 13 map = Mapper(directory=config['pylons.paths']['controllers'], -
sample/trunk/mapfishsample/controllers/cities.py
r2308 r3581 19 19 20 20 from pylons import request, response, session, tmpl_context as c 21 from pylons.controllers.util import abort, redirect _to21 from pylons.controllers.util import abort, redirect 22 22 23 23 from mapfishsample.lib.base import BaseController -
sample/trunk/mapfishsample/controllers/countries.py
r2308 r3581 19 19 20 20 from pylons import request, response, session, tmpl_context as c 21 from pylons.controllers.util import abort, redirect _to21 from pylons.controllers.util import abort, redirect 22 22 23 23 from mapfishsample.lib.base import BaseController -
sample/trunk/mapfishsample/controllers/epfl.py
r3570 r3581 21 21 22 22 from pylons import request, response, session, tmpl_context as c 23 from pylons.controllers.util import abort, redirect _to23 from pylons.controllers.util import abort, redirect 24 24 from pylons.decorators import jsonify 25 25 -
sample/trunk/mapfishsample/controllers/lines.py
r2308 r3581 19 19 20 20 from pylons import request, response, session, tmpl_context as c 21 from pylons.controllers.util import abort, redirect _to21 from pylons.controllers.util import abort, redirect 22 22 23 23 from mapfishsample.lib.base import BaseController -
sample/trunk/mapfishsample/controllers/points.py
r2308 r3581 19 19 20 20 from pylons import request, response, session, tmpl_context as c 21 from pylons.controllers.util import abort, redirect _to21 from pylons.controllers.util import abort, redirect 22 22 23 23 from mapfishsample.lib.base import BaseController -
sample/trunk/mapfishsample/controllers/polygons.py
r2308 r3581 19 19 20 20 from pylons import request, response, session, tmpl_context as c 21 from pylons.controllers.util import abort, redirect _to21 from pylons.controllers.util import abort, redirect 22 22 23 23 from mapfishsample.lib.base import BaseController -
sample/trunk/mapfishsample/controllers/summits.py
r2718 r3581 19 19 20 20 from pylons import request, response, session, tmpl_context as c 21 from pylons.controllers.util import abort, redirect _to21 from pylons.controllers.util import abort, redirect 22 22 23 23 from mapfishsample.lib.base import BaseController -
sample/trunk/mapfishsample/lib/app_globals.py
r1590 r3581 1 1 """The application's Globals object""" 2 3 from beaker.cache import CacheManager 4 from beaker.util import parse_cache_config_options 2 5 3 6 class Globals(object): … … 6 9 7 10 """ 8 def __init__(self ):11 def __init__(self, config): 9 12 """One instance of Globals is created during application 10 13 initialization and is available during requests via the … … 12 15 13 16 """ 14 pass17 self.cache = CacheManager(**parse_cache_config_options(config)) -
sample/trunk/mapfishsample/lib/base.py
r1590 r3581 6 6 from pylons.templating import render_mako as render 7 7 8 from mapfishsample.model import meta8 from mapfishsample.model.meta import Session 9 9 10 10 class BaseController(WSGIController): … … 18 18 return WSGIController.__call__(self, environ, start_response) 19 19 finally: 20 meta.Session.remove()20 Session.remove() 21 21 -
sample/trunk/mapfishsample/model/__init__.py
r3570 r3581 26 26 from geojson import Feature 27 27 28 from mapfishsample.model import meta28 from mapfishsample.model.meta import Session, Base 29 29 30 30 from mapfishsample.model.lines import Line … … 35 35 """Call me before using any of the tables or classes in the model""" 36 36 ## Reflected tables must be defined and mapped here 37 sm = orm.sessionmaker(autoflush=True, autocommit=False, bind=engine)38 37 39 meta.engine = engine 40 meta.Session = orm.scoped_session(sm) 38 Session.configure(bind=engine) 41 39 42 40 if isinstance(engine.dialect, SQLiteDialect): … … 52 50 53 51 engine.pool.add_listener(SpatialiteConnectionListener()) 54 -
sample/trunk/mapfishsample/model/cities.py
r3570 r3581 21 21 22 22 from mapfish.sqlalchemygeom import GeometryTableMixIn 23 from mapfishsample.model.meta import engine, Base23 from mapfishsample.model.meta import Session, Base 24 24 25 25 … … 28 28 __table_args__ = { 29 29 'autoload' : True, 30 'autoload_with' : engine30 'autoload_with' : Session.bind 31 31 } 32 32 -
sample/trunk/mapfishsample/model/countries.py
r3570 r3581 23 23 24 24 from mapfish.sqlalchemygeom import GeometryTableMixIn 25 from mapfishsample.model.meta import engine, Base25 from mapfishsample.model.meta import Session, Base 26 26 27 27 … … 30 30 __table_args__ = { 31 31 'autoload' : True, 32 'autoload_with' : engine32 'autoload_with' : Session.bind 33 33 } 34 34 -
sample/trunk/mapfishsample/model/epfl.py
r3570 r3581 21 21 22 22 from mapfish.sqlalchemygeom import GeometryTableMixIn 23 from mapfishsample.model.meta import engine, Base23 from mapfishsample.model.meta import Session, Base 24 24 25 25 from geojson import Feature … … 30 30 __table_args__ = { 31 31 'autoload' : True, 32 'autoload_with' : engine32 'autoload_with' : Session.bind 33 33 } 34 34 -
sample/trunk/mapfishsample/model/meta.py
r3570 r3581 1 1 """SQLAlchemy Metadata and Session object""" 2 from sqlalchemy import MetaData3 2 from sqlalchemy.orm import scoped_session, sessionmaker 4 3 from sqlalchemy.ext.declarative import declarative_base 5 4 6 __all__ = ['Session', 'metadata', 'Base'] 7 8 # SQLAlchemy database engine. Updated by model.init_model() 9 engine = None 5 __all__ = ['Session', 'Base'] 10 6 11 7 # SQLAlchemy session manager. Updated by model.init_model() 12 Session = None8 Session = scoped_session(sessionmaker()) 13 9 14 # Global metadata. If you have multiple databases with overlapping table 15 # names, you'll need a metadata for each database 16 metadata = MetaData() 17 18 Base = declarative_base(metadata=metadata) 10 # The declarative Base 11 Base = declarative_base() -
sample/trunk/mapfishsample/model/summits.py
r3570 r3581 21 21 22 22 from mapfish.sqlalchemygeom import GeometryTableMixIn 23 from mapfishsample.model.meta import engine, Base23 from mapfishsample.model.meta import Session, Base 24 24 25 25 … … 28 28 __table_args__ = { 29 29 'autoload' : True, 30 'autoload_with' : engine30 'autoload_with' : Session.bind 31 31 } 32 32 -
sample/trunk/mapfishsample/tests/__init__.py
r3570 r3581 12 12 from paste.deploy import loadapp 13 13 from paste.script.appinstall import SetupCommand 14 from pylons import config,url14 from pylons import url 15 15 from routes.util import URLGenerator 16 16 from webtest import TestApp … … 21 21 22 22 # Invoke websetup with the current config file 23 SetupCommand('setup-app').run([ config['__file__']])23 SetupCommand('setup-app').run([pylons.test.pylonsapp.config['__file__']]) 24 24 25 25 environ = {} … … 28 28 29 29 def __init__(self, *args, **kwargs): 30 if pylons.test.pylonsapp: 31 wsgiapp = pylons.test.pylonsapp 32 else: 33 wsgiapp = loadapp('config:%s' % config['__file__']) 30 wsgiapp = pylons.test.pylonsapp 31 config = wsgiapp.config 34 32 self.app = TestApp(wsgiapp) 35 33 url._push_object(URLGenerator(config['routes.map'], environ)) -
sample/trunk/mapfishsample/websetup.py
r3570 r3581 2 2 import logging 3 3 4 import pylons 5 4 6 from mapfishsample.config.environment import load_environment 5 from mapfishsample.model import meta7 from mapfishsample.model.meta import Session, Base 6 8 7 9 log = logging.getLogger(__name__) … … 13 15 paster setup-app development.ini [--name=main_pylons] 14 16 """ 15 load_environment(conf.global_conf, conf.local_conf) 17 # Don't reload the app if it was loaded under the testing environment 18 if not pylons.test.pylonsapp: 19 load_environment(conf.global_conf, conf.local_conf) 16 20 17 21 # Create the tables for the editing example (if they aren't there already) 18 meta.metadata.create_all(bind=meta.engine)22 Base.metadata.create_all(bind=Session.bind)
