Changes

Jump to navigation Jump to search
1,704 bytes added ,  19:32, 13 February 2016
no edit summary
Line 24: Line 24:  
from project folder:
 
from project folder:
 
  initialize_proyectname_db
 
  initialize_proyectname_db
 +
 +
== Insert into db script ==
 +
<source lang="python">
 +
import sys
 +
from models import Rooms, DBSession
 +
from sqlalchemy import engine_from_config
 +
from pyramid.paster import get_appsettings, setup_logging
 +
 +
from sqlalchemy.orm import (
 +
    scoped_session,
 +
    sessionmaker,
 +
    )
 +
from zope.sqlalchemy import ZopeTransactionExtension
 +
 +
config_uri = '../development.ini'
 +
setup_logging(config_uri)
 +
engine = engine_from_config(get_appsettings(config_uri), 'sqlalchemy.')
 +
 +
Session = sessionmaker(bind=engine)
 +
session = Session()
 +
 +
try:
 +
    a = int(sys.argv[1])
 +
except:
 +
    print "Parametro erroneo, debe especificar id numerico", sys.argv
 +
    exit()
 +
 +
new = Rooms(id=a)
 +
 +
try:
 +
    session.add(new)
 +
    session.commit()
 +
    print "Insertada Room", new.id
 +
 +
except Exception as e:
 +
    print "Error insertando Room {romid}: {error}".format(romid=new.id, error=e)
 +
finally:
 +
    session.close()
 +
</source>
 +
 +
== router ==
 +
edit __init__.py from projectnamefolder/projectnamefolder. Example:
 +
<source lang="python">
 +
from pyramid.config import Configurator
 +
from sqlalchemy import engine_from_config
 +
 +
from .models import (
 +
    DBSession,
 +
    Base,
 +
    )
 +
 +
 +
def main(global_config, **settings):
 +
    """ This function returns a Pyramid WSGI application.
 +
    """
 +
    engine = engine_from_config(settings, 'sqlalchemy.')
 +
    DBSession.configure(bind=engine)
 +
    Base.metadata.bind = engine
 +
    config = Configurator(settings=settings)
 +
    config.include('pyramid_chameleon')
 +
    config.add_static_view('static', 'static', cache_max_age=3600)
 +
    config.add_route('home', '/')
 +
    config.add_route('roms','roms/{id}')
 +
    config.add_route('create_session','roms/{id}/sessions')
 +
    config.scan()
 +
    return config.make_wsgi_app()
 +
</source>

Navigation menu