Ejemplo n.º 1
0
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)
Ejemplo n.º 2
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)
Ejemplo n.º 3
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.

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,
        }),
    }