Pastebin
Paste #2890: No description
< previous paste - next paste>
Pasted by Anonymous Coward
============= web.py ========= #!/usr/bin/env python #encoding=utf8 from flask import Flask from flask import render_template from flask import url_for from flask import g from flask import request from flask import flash from flask import redirect from flask.ext.babel import Babel from flask.ext.babel import gettext, ngettext from flask.ext.sqlalchemy import SQLAlchemy from config import LANGUAGES, cfg from model.meta import Base, Session, engine from model import Vendor import shared app = Flask(__name__) app.config["SQLALCHEMY_DATABASE_URI"] = cfg["db_uri"] db = SQLAlchemy(app) @app.route("/admin") def admin(): session = Session() vendors = session.query(Vendor).all() return render_template("admin.html", vendors=vendors) ============= model/meta.py #!/usr/bin/env python #encoding=utf8 from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker, scoped_session from flask_sqlalchemy import SQLAlchemy from config import cfg engine = create_engine(cfg["db_uri"], echo=False) db = SQLAlchemy() Base = db.Model Session = scoped_session(sessionmaker(bind=engine)) ============== admin.py import csv import os import sys from decimal import Decimal from random import random import sqlalchemy from sqlalchemy import create_engine from sqlalchemy.ext.declarative import declarative_base from docopt.docopt import docopt from config import cfg from model.meta import Base, Session, engine from model import Vendor import logger from logger import debug, info, warn, error, fatal import shared from shared import init_db, stripquotes, match, update_images def update_vendors(infile): "Import vendors" info("Updating vendors") session = Session() line_num = 0 for line in open(infile).readlines(): #### DO STUFF session.add(foo) session.commit() =========== model/vendor.py #!/usr/bin/env python #encoding=utf8 """Vendor model""" from flask_sqlalchemy import SQLAlchemy from model.meta import Base, db class Vendor(Base): __tablename__ = "vendor" id = db.Column(db.String, db.Sequence('vendor_id_seq'), primary_key=True) name = db.Column(db.String) data_url = db.Column(db.String) data_format = db.Column(db.String) website_url = db.Column(db.String) contact_email = db.Column(db.String) active = db.Column(db.Boolean, default=True) def __repr__(self): return "<Vendor(id='%s', name='%s')>" % (self.id, self.name) ================ model/__init__.py #!/usr/bin/env python #encoding=utf8 """model/__init__.py contains the table definitions, the ORM classes and an init_model() function. This init_model() function must be called at application startup. """ from model.meta import Session, Base from model.vendor import Vendor def init_model(): Session.configure(bind=engine)
New Paste
Go to most recent paste.