Beispiel #1
0
def registUser():
    if request.method == 'POST':

        #カテゴリとメイン項目を空欄では受け付けない
        if (len(request.json['user']) != 0
                or len(request.json['password']) != 0):

            #requestで飛んできたカテゴリ、メイン、リンクを変数に格納
            name = request.json['user']
            password = request.text['password']

            #memoListテーブルのセッションを作成
            user = User()

            #格納した変数をそれぞれテーブルのレコードにセットする
            user.name = name
            user.passowrd = password

            #sessionのクエリを発行したので追加してコミットする
            session.add(User)
            session.commit()

            #mypageにレンダリング
            return render_template('mypage.html', name=session.name)
        else:
            #登録に失敗したらリダイレクト
            return redirect(url_for('/mypage'))
Beispiel #2
0
def mypage():

    #postリクエストが飛んできたら
    if request.method == 'POST':

        #request内のユーザー名、パスワードを変数に格納
        name = request.form['name']
        password = request.form['password']

        #userテーブルのセッションを作成
        user = User()

        #nameカラムがnameのレコードを持ってくる
        users = session.query(User).\
           filter(User.name == name).\
           all()

        #27行目でsessionのクエリを発行したので追加してコミットする
        session.add(user)
        session.commit()

        #持ってきたレコードを順に見ていく
        for user in users:
            if (user.password == password):

                #passwordが合っているのが見つかったら、idとnameを
                session.name = name

                #mypageのHTMLをレンダリング
                return render_template('mypage.html', name=session.name)
            else:
                #合ってなかったら、ログイン失敗、リダイレクト
                return redirect(url_for('index'))
Beispiel #3
0
def registMemo():
    if request.method == 'POST':

        #カテゴリとメイン項目を空欄では受け付けない
        if (len(request.form['category']) != 0
                or len(request.form['main']) != 0):

            #requestで飛んできたカテゴリ、メイン、リンクを変数に格納
            category = request.form['category']
            main = request.form['main']
            link = request.form['link']

            #memoListテーブルのセッションを作成
            memoList = MemoList()

            #格納した変数をそれぞれテーブルのレコードにセットする
            memoList.category = category
            memoList.main = main
            memoList.link = link

            #sessionのクエリを発行したので追加してコミットする
            session.add(memoList)
            session.commit()

            #mypageにレンダリング
            return render_template('mypage.html', name=session.name)
        else:
            #登録に失敗したらリダイレクト
            return redirect(url_for('/mypage'))
Beispiel #4
0
 def add_new_record(user_id, game_id, rank, date):
     user_game_history = UserGameHistory()
     user_game_history.user_id = user_id
     user_game_history.game_id = game_id
     user_game_history.rank = rank
     user_game_history.date = date
     session.add(user_game_history)
     session.commit()
    def set_strength_by_user_id(user_id, strength):
        user = session.query(User).filter(
            User.user_id == user_id).one_or_none()
        print(type(user), user)
        if user is None:
            user = User.add_new_user(user_id)

        user.strength = strength
        session.commit()
 def add_new_user(user_id):
     try:
         user = User()
         user.id = user_id
         user.strength = INITIAL_RATING
         session.add(user)
         session.commit()
         return user
     except Exception as e:
         # TODO: エラーログ出力
         print(e)
Beispiel #7
0
def offercomplete():
    # 特徴量のデータ [1:脂肪を減らしたい2:筋肉を増やしたい, 1:お腹2:腹筋3:腹直筋,未知データ]
    feature = [[1, 1, 1], [1, 2, 5], [1, 3, 10], [2, 1, 3], [2, 2, 6],
               [2, 3, 8]]
    # 正解のデータ 1:脂肪:弱, 2:脂肪:中, 3:脂肪:強, 4:筋肉:弱, 5:筋肉:中, 6:筋肉:強
    job = [1, 2, 3, 4, 5, 6]

    # 予測させるデータ 性別,部位,未知データ(トレーニング前後の体重差分)
    test_data = [[
        request.args.get('sex'),
        request.args.get('part'),
        request.args.get('weightdifference')
    ]]

    # 学習
    clf = svm.SVC(gamma="scale")
    clf.fit(feature, job)

    # 学習結果を設定
    setno = clf.predict(test_data)[0]

    # ユーザ情報登録へINSERT
    session.add(
        UserRegistration(userid=request.args.get('userid'),
                         sex=request.args.get('sex'),
                         part=request.args.get('part'),
                         age=request.args.get('age'),
                         stature=request.args.get('stature'),
                         beforeweight=request.args.get('beforeweight'),
                         afterweight=request.args.get('afterweight'),
                         trainingenddate=request.args.get('trainingenddate'),
                         endflag="0",
                         createdate=datetime.datetime.now(),
                         updatedate=datetime.datetime.now()))

    session.commit()

    # トレーニング実施状況へINSERT
    session.add(
        TrainingStatus(userid=request.args.get('userid'),
                       setno=int(setno),
                       traning1status=0,
                       traning2status=0,
                       traning3status=0,
                       endflag="0",
                       createdate=datetime.datetime.now(),
                       updatedate=datetime.datetime.now()))

    session.commit()

    # トレーニング実施画面の値設定
    tryView(userInfoBase['personaltrainar']['userid'], userInfoBase)
    return jsonify(userInfoBase)
Beispiel #8
0
def history():
    if request.method == "POST":
        contest_ID = request.form["del"]
        contest_ID = int(contest_ID)
        print(contest_ID)
        session.query(
            pm.Problem).filter(pm.Problem.contestID == contest_ID).delete()
        session.commit()
        print("delete finish.")

    contests = session.query(pm.Problem.contest,pm.Problem.contestID,pm.Problem.start_time,pm.Problem.end_time)\
            .distinct(pm.Problem.contest).order_by(desc(pm.Problem.contestID)).all()

    return render_template("history.html", cont=contests)
Beispiel #9
0
def modify(contestID):
    contest_ID = contestID

    print("modify contest page.")
    if request.method == "GET":
        contents = session.query(
            pm.Problem).filter(pm.Problem.contestID == contest_ID).all()
        return render_template("modify.html", cont=contents)

    else:
        print("modify this contest.")
        session.query(
            pm.Problem).filter(pm.Problem.contestID == contest_ID).delete()
        session.commit()

        contest_name = request.form["contest_name"]
        start_date = request.form["start_date"]
        start_time = request.form["start_time"]
        end_date = request.form["end_date"]
        end_time = request.form["end_time"]
        problems_url = request.form.getlist("problem_url")
        pr = session.query(pm.Problem).all()

        for url in problems_url:
            if len(url) == 0:
                continue

            pr = pm.Problem()
            pr.problemURL = url
            pr.problem = url.split('/')[5] + url.split('/')[6]
            pr.contest = contest_name
            pr.contestID = contest_ID
            pr.participant = "springroll"
            pr.start_time = start_date + " " + start_time + ":00"
            pr.end_time = end_date + " " + end_time + ":00"
            pr.penalty = 0
            pr.last_updated = start_date + " " + start_time + ":00"

            print(url)

            session.add(pr)
            session.commit()

        return redirect(url_for('contest', contestID=contest_ID))
Beispiel #10
0
def createContest():
    print("create contest page.")
    if request.method == "GET":
        return render_template("create.html")
    else:
        contest_name = request.form["contest_name"]
        start_date = request.form["start_date"]
        start_time = request.form["start_time"]
        end_date = request.form["end_date"]
        end_time = request.form["end_time"]
        problems_url = request.form.getlist("problem_url")
        pr = session.query(pm.Problem).all()

        res_mx = session.query(
            func.max(pm.Problem.contestID).label("max_contestid")).one()
        max_contestID = res_mx.max_contestid
        print(max_contestID)
        max_contestID += 1

        for url in problems_url:
            pr = pm.Problem()
            pr.problemURL = url
            pr.problem = url.split('/')[5] + url.split('/')[6]
            pr.contest = contest_name
            pr.contestID = max_contestID
            pr.participant = "springroll"
            pr.start_time = start_date + " " + start_time + ":00"
            pr.end_time = end_date + " " + end_time + ":00"
            pr.penalty = 0
            pr.last_updated = start_date + " " + start_time + ":00"

            session.add(pr)
            session.commit()

            print(pr.contestID)

        return redirect(url_for('contest', contestID=max_contestID))
Beispiel #11
0
from setting import session

from user import *


user = User()
user.name = '太郎'
user.age = '20'
user.email = '*****@*****.**'
users = session.add(user)
session.commit()


users = session.query(User).all()
for user in users :
    print(user.name)
Beispiel #12
0
def contest(contestID):
    contest_ID = contestID
    print("Getting Submmision data...")
    sub_data = getSubmissionInfo()
    print(" -> Finish.")
    crt = time.time()
    loc = datetime.fromtimestamp(crt)
    last_updateds = session.query(pm.Problem.last_updated).filter(
        pm.Problem.contestID == contest_ID).all()
    if len(last_updateds) == 0:
        return redirect(url_for('history'))

    last_max = "1997-12-03 00:00:00"
    for last_update in last_updateds:
        lustr = last_update[0].strftime('%Y-%m-%d %H:%M:%S')
        if last_max < lustr:
            last_max = lustr

    print(last_max)
    start_t = session.query(pm.Problem.start_time).filter(
        pm.Problem.contestID == contest_ID).first()

    print(start_t)
    start_epoch = int(start_t[0].timestamp())

    for sub in sub_data:
        sub_epochtime = sub["creationTimeSeconds"]
        sub_time = datetime.fromtimestamp(sub_epochtime)
        sub_time = sub_time.strftime('%Y-%m-%d %H:%M:%S')
        if sub_time > last_max:
            print(sub_time)
            problem = str(sub["contestId"]) + sub["problem"]["index"]
            update_pr = session.query(pm.Problem).filter(
                pm.Problem.contestID == contest_ID,
                pm.Problem.problem == problem).first()
            if update_pr is None:
                continue
            print(update_pr)
            for key, value in sub.items():
                print(str(key) + " " + str(value))
            if sub["passedTestCount"] == 0:
                continue

            update_pr.last_updated = loc
            if sub["verdict"] == "OK":
                ac_diff = sub_epochtime - start_epoch
                ac_tm = "{:02}:{:02}".format(ac_diff // 60, ac_diff % 60)
                update_pr.ac_time = ac_tm
            else:
                update_pr = session.query(pm.Problem).filter(
                    pm.Problem.contestID == contest_ID,
                    pm.Problem.problem == problem).first()
                update_pr.penalty = update_pr.penalty + 1

            session.commit()

    content = session.query(
        pm.Problem).filter(pm.Problem.contestID == contest_ID).all()
    max_time = 0
    sum_penalty = 0
    for con in content:
        if con.ac_time is not None:
            max_time = max(
                max_time,
                int(con.ac_time.split(':')[0]) * 60 +
                int(con.ac_time.split(':')[1]))
        sum_penalty += con.penalty

    max_time = "{:02}:{:02}".format(max_time // 60, max_time % 60)

    print("Complete.")
    return render_template('contest.html',
                           cont=content,
                           sum_time=max_time,
                           sum_penalty=sum_penalty)
Beispiel #13
0
def implementationinput():

    if strtobool(request.args.get('training1')) and strtobool(
            request.args.get('training2')) and strtobool(
                request.args.get('training3')):
        # ユーザー登録情報の更新
        userRegistration = userRegistrationUpdate(request.args.get('userid'))

        # ユーザー情報.トレーニング実施完了フラグに"1:削除"を設定
        userRegistration.endflag = "1"

        # ユーザー情報.更新日時に現在日時を設定
        userRegistration.updatedate = datetime.datetime.now()

        # トレーニング実施状況の更新
        trainingStatus = TrainingStatusUpdate(request.args.get('userid'))

        # トレーニング実施状況.トレーニングnに"2:完了"を設定
        trainingStatus.traning1status = "2"
        trainingStatus.traning2status = "2"
        trainingStatus.traning3status = "2"

        # トレーニング実施状況.トレーニング実施完了フラグに"1:削除"を設定
        trainingStatus.endflag = "1"

        # トレーニング実施状況.更新日時に現在日時を設定
        trainingStatus.updatedate = datetime.datetime.now()

        session.commit()
        return "hello"

    else:
        # チェックボックス1がチェック有の場合
        if strtobool(request.args.get('training1')):
            # トレーニング実施状況の更新
            trainingStatus = TrainingStatusUpdate(request.args.get('userid'))
            # トレーニング実施状況.トレーニング1に"2:完了"を設定
            trainingStatus.traning1status = "2"
            # トレーニング実施状況.更新日時に現在日時を設定
            trainingStatus.updatedate = datetime.datetime.now()
            session.commit()
        else:
            # トレーニング実施状況の更新
            trainingStatus = TrainingStatusUpdate(request.args.get('userid'))
            # トレーニング実施状況.トレーニング1に"0:未着手"を設定
            trainingStatus.traning1status = "0"
            # トレーニング実施状況.更新日時に現在日時を設定
            trainingStatus.updatedate = datetime.datetime.now()
            session.commit()
        # チェックボックス2がチェック有の場合
        if strtobool(request.args.get('training2')):
            # トレーニング実施状況の更新
            trainingStatus = TrainingStatusUpdate(request.args.get('userid'))
            # トレーニング実施状況.トレーニング2に"2:完了"を設定
            trainingStatus.traning2status = "2"
            # トレーニング実施状況.更新日時に現在日時を設定
            trainingStatus.updatedate = datetime.datetime.now()
            session.commit()
        else:
            # トレーニング実施状況の更新
            trainingStatus = TrainingStatusUpdate(request.args.get('userid'))
            # トレーニング実施状況.トレーニング2に"0:未着手"を設定
            trainingStatus.traning2status = "0"
            # トレーニング実施状況.更新日時に現在日時を設定
            trainingStatus.updatedate = datetime.datetime.now()
            session.commit()
        # チェックボックス3がチェック有の場合
        if strtobool(request.args.get('training3')):
            # トレーニング実施状況の更新
            trainingStatus = TrainingStatusUpdate(request.args.get('userid'))
            # トレーニング実施状況.トレーニング3に"2:完了"を設定
            trainingStatus.traning3status = "2"
            # トレーニング実施状況.更新日時に現在日時を設定
            trainingStatus.updatedate = datetime.datetime.now()
            session.commit()
        else:
            # トレーニング実施状況の更新
            trainingStatus = TrainingStatusUpdate(request.args.get('userid'))
            # トレーニング実施状況.トレーニング3に"0:未着手"を設定
            trainingStatus.traning3status = "0"
            # トレーニング実施状況.更新日時に現在日時を設定
            trainingStatus.updatedate = datetime.datetime.now()
            session.commit()
        return "hello"