57 lines
2.2 KiB
Python
57 lines
2.2 KiB
Python
from srht.config import cfg
|
|
from srht.database import db
|
|
from srht.flask import SrhtFlask
|
|
from srht.oauth import AbstractOAuthService
|
|
from todosrht import urls, filters
|
|
from todosrht.service import TodoOAuthService
|
|
from todosrht.types import EventType
|
|
from todosrht.types import TicketAccess, TicketStatus, TicketResolution, User
|
|
|
|
class TodoApp(SrhtFlask):
|
|
def __init__(self):
|
|
super().__init__("todo.sr.ht", __name__,
|
|
oauth_service=TodoOAuthService())
|
|
|
|
self.url_map.strict_slashes = False
|
|
|
|
from todosrht.blueprints.api import register_api
|
|
from todosrht.blueprints.html import html
|
|
from todosrht.blueprints.tracker import tracker
|
|
from todosrht.blueprints.ticket import ticket
|
|
from todosrht.blueprints.settings import settings
|
|
from srht.graphql import gql_blueprint
|
|
|
|
register_api(self)
|
|
self.register_blueprint(html)
|
|
self.register_blueprint(tracker)
|
|
self.register_blueprint(ticket)
|
|
self.register_blueprint(settings)
|
|
self.register_blueprint(gql_blueprint)
|
|
|
|
self.add_template_filter(filters.label_badge)
|
|
self.add_template_filter(filters.render_comment)
|
|
self.add_template_filter(filters.render_ticket_description)
|
|
self.add_template_filter(urls.label_add_url)
|
|
self.add_template_filter(urls.label_edit_url)
|
|
self.add_template_filter(urls.label_search_url)
|
|
self.add_template_filter(urls.participant_url)
|
|
self.add_template_filter(urls.ticket_assign_url)
|
|
self.add_template_filter(urls.ticket_edit_url)
|
|
self.add_template_filter(urls.ticket_unassign_url)
|
|
self.add_template_filter(urls.ticket_url)
|
|
self.add_template_filter(urls.tracker_labels_url)
|
|
self.add_template_filter(urls.tracker_url)
|
|
self.add_template_filter(urls.user_url)
|
|
|
|
from todosrht.webhooks import webhook_metrics_collector
|
|
self.metrics_registry.register(webhook_metrics_collector)
|
|
|
|
@self.context_processor
|
|
def inject():
|
|
return {
|
|
"EventType": EventType,
|
|
"TicketAccess": TicketAccess,
|
|
"TicketStatus": TicketStatus,
|
|
"TicketResolution": TicketResolution
|
|
}
|