__init__.py 874 B

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