def setUpClass(cls) -> None:
        cfg = parse_config("resources/config.unittest.ini")
        cls.conn = get_connection(cfg)

        cls.interface = NonAbstractSingleCommandInterface(
            UserManager("test", cls.conn), CovidData(cls.conn),
            Visualization(cls.conn, "."), 0, True)
예제 #2
0
    def setUpClass(cls) -> None:
        cfg = parse_config("resources/config.unittest.ini")
        cls.conn = get_connection(cfg)

        with cls.conn.cursor(dictionary=True) as cursor:
            cursor.execute("DROP TABLE IF EXISTS covid_data;")
            cursor.execute("DROP TABLE IF EXISTS covid_vaccinations;")
            cursor.execute("DROP TABLE IF EXISTS covid_r_value;")
            cursor.execute("DROP TABLE IF EXISTS hospitalisation;")
            cursor.execute("DROP TABLE IF EXISTS icu_beds;")
            cursor.execute("DROP TABLE IF EXISTS district_rules;")
            cursor.execute("DROP TABLE IF EXISTS county_alt_names;")
            cursor.execute("DROP TABLE IF EXISTS counties;")

        # Update Data
        RKIKeyDataUpdater(cls.conn).update()
        VaccinationGermanyUpdater(cls.conn).update()
        RValueGermanyUpdater(cls.conn).update()
        HospitalisationRKIUpdater(cls.conn).update()

        cls.user_manager = UserManager("unittest",
                                       cls.conn,
                                       activated_default=True)
        cls.data = CovidData(connection=cls.conn)
        cls.interface = Bot(cls.user_manager, cls.data,
                            Visualization(cls.conn, ".", disable_cache=True),
                            lambda x: x)
예제 #3
0
    def setUpClass(cls) -> None:
        cfg = parse_config("resources/config.unittest.ini")
        cls.conn = get_connection(cfg)

        with cls.conn.cursor() as cursor:
            cursor.execute("TRUNCATE TABLE covid_data;")
            cursor.execute("TRUNCATE TABLE covid_vaccinations;")
            cursor.execute("TRUNCATE TABLE covid_r_value;")
            cursor.execute("TRUNCATE TABLE hospitalisation;")
            cursor.execute("TRUNCATE TABLE icu_beds;")
            cursor.execute("TRUNCATE TABLE district_rules;")
            cursor.execute("TRUNCATE TABLE county_alt_names;")
            # noinspection SqlWithoutWhere
            cursor.execute("DELETE FROM counties ORDER BY parent DESC;")
        RKIKeyDataUpdater(cls.conn).update()
        history = RKIHistoryUpdater(cls.conn)
        history.max_delta = 0
        history.min_delta = 10
        history.update()

        for updater in [
                RValueGermanyUpdater, VaccinationGermanyUpdater,
                ICUGermanyUpdater, ICUGermanyHistoryUpdater,
                RulesGermanyUpdater, HospitalisationRKIUpdater
        ]:
            updater(cls.conn).update()

        cls.conn.commit()
예제 #4
0
import aiohttp_jinja2
import jinja2
from aiohttp import web
from aiohttp.web_exceptions import HTTPNotFound, HTTPFound, HTTPBadRequest
from aiohttp.web_request import Request
from mysql.connector import OperationalError

from covidbot.__main__ import get_connection, parse_config
from feedback.feedback_manager import FeedbackManager

routes = web.RouteTableDef()
config = parse_config('config.ini')
connection = get_connection(config, autocommit=True)
user_manager = FeedbackManager(connection)
base_url = config.get('FEEDBACK', 'BASE_URL', fallback='')


@routes.get(base_url + r"/user/{user_id:\d+}")
@routes.get(base_url + "/")
@aiohttp_jinja2.template('single.jinja2')
async def show_user(request: Request):
    try:
        comm_unread, comm_read, comm_answered = user_manager.get_all_communication()
    except OperationalError as e:
        global connection
        if connection:
            connection.close()

        connection = get_connection(config, autocommit=True)
        user_manager.connection = connection
        comm_unread, comm_read, comm_answered = user_manager.get_all_communication()
예제 #5
0
 def setUpClass(cls) -> None:
     cfg = parse_config("resources/config.unittest.ini")
     cls.conn = get_connection(cfg)