def main(): os.chdir(os.path.dirname(sys.argv[0])) # Инициализация базы данных db = database.SQLiteDatabase('mydatabase.db') # Создание интерфейса типа: сессия - база данных. Session\Database Interface sdi = database.SessionDatabaseInterface(db) # Инициализация сессии и подключение базы данных к ней session = utils.Session(sdi) # Создание интерфейса типа: чат - база данных. Chat\Database Interface cdi = database.ChatDatabaseInterface(db) # Инициализация чата и подключение базы данных к нему chat = utils.Chat(cdi) # Инициализация обработчика и передача ему объектов класса Session и Chat handler = Handler(session, chat) # handler.set_admin_panel(panels.AdminPanel(session)) handler.set_moder_panel(panels.ModerPanel(session)) if (WEBHOOK_DOMAIN != ''): bot.remove_webhook() time.sleep(1) bot.set_webhook(url=WEBHOOK_HOST) app.run(host=WEBHOOK_LISTEN, port=WEBHOOK_PORT, debug=True) else: bot.polling(none_stop=True, interval=0)
#-*- coding: utf-8 -*- # Copyright 2019 ibelie, Chen Jie, Joungtao. All rights reserved. # Use of this source code is governed by The MIT License # that can be found in the LICENSE file. from app import route, response, redirect, config from logic.account import github import utils SESSION = utils.Session(config.SESSION) @route def error(): return redirect('http://%(localhost)s' % {'localhost': config.LOCALHOST}) @route('/user_main.py.html', useCookies=True) def user_main(cookies): session = cookies.get('session') session = session and session.value error, account = SESSION.get(session) account = github.Account(account) assert account, 'Only support github account now!!!' return response(**account.user) @route('/project_item.py.html') def item(project): session = SESSION.record(ANONYMOUSE)
#-*- coding: utf-8 -*- # Copyright 2019 ibelie, Chen Jie, Joungtao. All rights reserved. # Use of this source code is governed by The MIT License # that can be found in the LICENSE file. import os import app import json import utils import uuid import codecs import config from ruamel import yaml SESSION = utils.Session(app.config.SESSION) def Login(session): return 'https://github.com/login/oauth/authorize?client_id=%(client_id)s&state=%(state)s&redirect_uri=%(callback)s' % { 'client_id': Account.CLIENT, 'state': session, 'callback': app.quote('http://%(localhost)s%(url_root)s/github/callback' % { 'localhost': app.config.LOCALHOST, 'url_root': app.config.URL_ROOT, }), }