__init__.py 962 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. # -*- coding: utf-8 -*-
  2. from flask import Flask, g
  3. from flask.ext.babel import Babel
  4. from flask.ext.sqlalchemy import SQLAlchemy
  5. import sqlite3
  6. app = Flask(__name__)
  7. app.config.from_object('config')
  8. babel = Babel(app)
  9. db = SQLAlchemy(app)
  10. def connect_db():
  11. return sqlite3.connect(app.config['DATABASE'])
  12. #@app.before_request
  13. def before_request():
  14. g.db = connect_db()
  15. #g.db.execute("PRAGMA foreign_keys = ON")
  16. #@app.teardown_request
  17. def teardown_request(exception):
  18. g.db.close()
  19. def query_db(query, args=(), one=False):
  20. cur = g.db.execute(query, args)
  21. rv = [dict((cur.description[idx][0], value)
  22. for idx, value in enumerate(row)) for row in cur.fetchall()]
  23. return (rv[0] if rv else None) if one else rv
  24. def init_db():
  25. with closing(connect_db()) as db:
  26. with app.open_resource('schema.sql') as f:
  27. db.cursor().executescript(f.read())
  28. db.commit()
  29. from . import views
  30. from . import models