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