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.