1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- from flask import current_app
- from sqlalchemy import create_engine
- from sqlalchemy.orm import sessionmaker
- from forums.api.forums.models import Board
- from forums.api.topic.forms import TopicForm
- from logging.handlers import SMTPHandler
- from threading import Thread
- def db_session():
- url = current_app.config['SQLALCHEMY_DATABASE_URI']
- engine = create_engine(url)
- session = sessionmaker(bind=engine)
- return session
- def form_board():
- form = TopicForm()
- results = []
- for b in Board.query.filter_by(parent_id=None):
- if b.parent is None:
- results.append((b.id, b.name))
- else:
- results.append((b.id, b.name + ' --' + b.parent.name))
- form.category.choices = results
- return form
- class ThreadedSMTPHandler(SMTPHandler):
- def emit(self, record):
- thread = Thread(target=SMTPHandler.emit, args=(self, record))
- thread.start()
|