example_run_app_answered

 1from gevent import monkey
 2monkey.patch_all()
 3
 4from hanabiapp import create_app, socketio
 5import atexit
 6import csv
 7from hanabiapp import db
 8from hanabiapp.models import user, game_info, pre_survey, participant, game_survey
 9
10
11def run_app():
12    """
13    Hanabiアプリケーションを作成し,必要な初期データをデータベースに追加する関数.
14    各種アンケートは回答したものとして扱う.
15
16    アプリのコンテキストを作成し,データベースに `example_id_pass.csv` に記載された
17    ユーザー情報を登録する.既に登録済みのユーザーが存在する場合は,追加を行わない.
18
19    Returns:
20        Flask: 初期化された Flask アプリケーションオブジェクト
21    """
22    app = create_app()
23    with app.app_context():
24        existing_user = user.User.query.filter_by(username='user').first()
25        if not existing_user:
26            # ファイルを開いて読み込み
27            with open("example_id_pass.csv", mode='r', encoding='utf-8') as file:
28                reader = csv.reader(file)
29                for row in reader:
30                    test_user = user.User(username=row[0])
31                    test_user.set_password(row[1])
32                    test_user.consent = True
33                    test_user.pre_survey = True
34                    db.session.add(test_user)
35            db.session.commit()
36    return app
37
38if __name__ == '__main__':
39    """
40    Hanabiアプリケーションを起動するスクリプト.
41
42    `run_app()` を実行し,Flask-SocketIOを使用して
43    `0.0.0.0:5000` でアプリケーションを実行する.
44    """
45    socketio.run(run_app(), host='0.0.0.0', port = '5000')
def run_app():
12def run_app():
13    """
14    Hanabiアプリケーションを作成し,必要な初期データをデータベースに追加する関数.
15    各種アンケートは回答したものとして扱う.
16
17    アプリのコンテキストを作成し,データベースに `example_id_pass.csv` に記載された
18    ユーザー情報を登録する.既に登録済みのユーザーが存在する場合は,追加を行わない.
19
20    Returns:
21        Flask: 初期化された Flask アプリケーションオブジェクト
22    """
23    app = create_app()
24    with app.app_context():
25        existing_user = user.User.query.filter_by(username='user').first()
26        if not existing_user:
27            # ファイルを開いて読み込み
28            with open("example_id_pass.csv", mode='r', encoding='utf-8') as file:
29                reader = csv.reader(file)
30                for row in reader:
31                    test_user = user.User(username=row[0])
32                    test_user.set_password(row[1])
33                    test_user.consent = True
34                    test_user.pre_survey = True
35                    db.session.add(test_user)
36            db.session.commit()
37    return app

Hanabiアプリケーションを作成し,必要な初期データをデータベースに追加する関数. 各種アンケートは回答したものとして扱う.

アプリのコンテキストを作成し,データベースに example_id_pass.csv に記載された ユーザー情報を登録する.既に登録済みのユーザーが存在する場合は,追加を行わない.

Returns:

Flask: 初期化された Flask アプリケーションオブジェクト