def create_board(): form = CreateBoardform(request.form) if request.method == "GET": return render_template("createboard.html", form=form, sign_in_username=session["username"]) if request.method == "POST" and form.validate(): userdoc = models.User().fetch_userdoc(session["username"]) boardli = models.Board().fetch_boardli_from_boardids( userdoc["boardids"] ) # UserCollectionで管理中のBoardのIDにリストを引数にBoardのリストをBoardCollから(ry for board in boardli: # 既に同一ネームのボードが存在した時、templateにエラー出力 if board == form.board.data: return render_template( "createboard.html", form=form, create_board_error=gettext(u"This boardname is created"), sign_in_username=session["username"]) boardid = models.Board().add(form.board.data, form.description.data, session["username"]) userdoc['boardids'].append( boardid) # 新規登録されたボードのIDをUser Collectionでボードfieldに追加 models.User().save(userdoc) return redirect(url_for("userboards", username=session["username"])) else: return render_template("createboard.html", form=form, sign_in_username=session["username"])
def sign_in(): if request.is_xhr is True: form2 = Sign_inform() data = request.form["data"] dict = {} for i in data.split("&"): dict[i.split("=")[0]] = i.split("=")[1] (form2.username.data, form2.password.data) = (dict["username"], dict["password"]) if form2.validate(): if models.User().sign_in(dict["username"], dict["password"]): session["username"] = dict["username"] return jsonify(res="success") else: return jsonify(res=gettext("Wrong username or password"), op="sign_in") else: for field_name, field_errors in form2.errors.items(): for error in field_errors: return jsonify(res=error, op="sign_in") form2 = Sign_inform(request.form) if request.is_xhr is False and form2.validate(): if models.User().sign_in(form2.username.data, form2.password.data): session["username"] = form2.username.data return redirect(url_for("index")) else: flash(gettext(u"Wrong username or password"), "sign_in") return redirect(url_for("submit")) else: for field_name, field_errors in form2.errors.items(): for error in field_errors: flash(error, "sign_in") return redirect(url_for("submit"))
def setting(): form = Settingform(request.form) userdoc = models.User().fetch_userdoc(session["username"]) if request.method == "GET": (form.email.data, form.aboutuser.data) = (userdoc["email"], userdoc["aboutuser"]) return render_template("setting.html", form=form, sign_in_username=session['username']) if request.method == "POST" and form.validate(): # サインインしているユーザー以外のメルアドが入力されたらエラー分岐されます if models.User().update_email(username=session["username"], email=form.email.data, aboutuser=form.aboutuser.data): return render_template("setting.html", form=form, sign_in_username=session['username'], update_email_error=gettext( u"This email belongs to another user")) return redirect(url_for("userboards", username=session["username"])) else: return render_template("setting.html", form=form, sign_in_username=session['username'])
def send_email(): if 'username' in session: return redirect(url_for("index")) if request.method == "GET": form = Passwordform(request.form) form1 = Sign_upform(request.form) form2 = Sign_inform(request.form) return render_template("anonymous/send_email.html", form=form, form1=form1, form2=form2) form = Passwordform() form.username.data = request.form["data"] if request.method == "POST" and request.is_xhr is True and form.validate(): userdoc = models.User().fetch_userdoc(form.username.data) if not userdoc or not userdoc["email"]: # 未登録のユーザとemailが未登録のユーザーはエラー分岐 return jsonify(res="error", message=gettext("this user don't use email")) # 外部のメールサーバーとソケット通信します keyforreset = client.connectExtServer(userdoc["username"], userdoc["email"]) models.User().add_keyforreset(userdoc["username"], keyforreset) return jsonify( res="success", message=gettext( "an email will be sent to that account's address shortly")) else: return jsonify(res="error", message=gettext("this user don't use email"))
def sign_up(): if request.is_xhr == True: form1 = Sign_upform() data = request.form["data"] dict = {} for i in data.split("&"): dict[i.split("=")[0]] = i.split("=")[1] (form1.username.data, form1.password.data) = (dict["username"], dict["password"]) if dict["email"]: # 以下4行Emailの@のreplace r = re.compile("(%40)") form1.email.data = r.sub("@", dict["email"]) else: form1.email.data = "" if form1.validate(): judge = models.User().sign_up(email=form1.email.data, username=form1.username.data, password=form1.password.data) if not judge: judge = form1.validate_banned_username() if not judge: # 登録成功の分岐 session["username"] = form1.username.data return jsonify(res="success") else: message = gettext(u"This username is used" ) if judge == "username" else gettext( u"This email is used") return jsonify(res=message, op="sign_up") else: for field_name, field_errors in form1.errors.items(): for error in field_errors: return jsonify(res=error, op="sign_up") form1 = Sign_upform(request.form) if request.is_xhr == False and form1.validate(): judge = models.User().sign_up(email=form1.email.data, username=form1.username.data, password=form1.password.data) if not judge: judge = form1.validate_banned_username() if not judge: # 登録成功の分岐 session["username"] = form1.username.data return redirect(url_for("index")) else: message = gettext( u"This username is used") if judge == "username" else gettext( u"This email is used") flash(message, 'sign_up') return redirect(url_for("submit")) else: for field_name, field_errors in form1.errors.items(): for error in field_errors: flash(error, 'sign_up') return redirect(url_for("submit"))
def signup(): form = forms.RegisterForm() # form.language.choices = [('pc', 'Pascal'), ('cb', 'Cobol'),('jv', 'Java')] if request.method == 'POST': if form.validate_on_submit(): try: password_hashed = generate_password_hash(form.password.data, method='sha256') new_user = models.User(username=form.username.data, email=form.email.data, password=password_hashed, userhash=str(random.getrandbits(128)), dni=form.dni.data, silo=form.dni.data[3]) send_email(new_user.email, 'Por favor, confirmar correo.', 'mail/new_user', user=new_user) db.session.add(new_user) db.session.commit() flash("User created successfully") return redirect(url_for('login')) except: db.session.rollback() flash( "Something went wrong. User has not been created. Please try again." ) return render_template("signup.html", page="signup", form=form)
def start(message): dict_of_user = message.from_user user_id = models.User.objects(id_user=str(dict_of_user.id)).first() print(user_id) print(dict_of_user.id) if not models.User.objects(id_user=str(dict_of_user.id)): data_of_user = models.User( **{ 'id_user': str(dict_of_user.id), 'first_name': dict_of_user.first_name, 'username': dict_of_user.username, 'last_name': dict_of_user.last_name }).save() greeting_str = f'Hello {dict_of_user.first_name} {dict_of_user.last_name}' keyboard = ReplyKB().generate_kb(*keyboards.beginning_kb.values()) bot.send_message(message.chat.id, greeting_str, reply_markup=keyboard) real_user_id = models.User.objects(id_user=str(dict_of_user.id)).first() print(real_user_id) if not models.Cart.objects(user=user_id, active=True): cart_user = models.Cart(**{'user': real_user_id}).save() else: pass
def createUser(requestBody: User, db: Session = Depends(get_db)): new_user = models.User(**toUserModel(requestBody), passwordHash=Hash.bcrypt(requestBody.password)) db.add(new_user) db.commit() db.refresh(new_user) return new_user
def delete_userboard(username, board): if username != session["username"]: return abort(404) removedid = models.Board().delete( session["username"], board) # BoardとImg docsが削除され、BoardのIDが返る。...ファイル削除しない方向で... models.User().pop_boardid(session["username"], removedid) models.Img().delete_multi(session["username"], board) return redirect(url_for("userboards", username=session["username"]))
async def create_user(db: AsyncSession, request: User): new_user = models.User(name=request.name, email=request.email, password=Hash.encrypt(request.password)) db.add(new_user) await db.commit() await db.refresh(new_user) return ShowUser.from_orm(new_user)
def create_user(db: Session, user: schemas.UserCreate): #! The password is not hashed!!! fake_hashed_password = user.password + "notreallyhashed" db_user = models.User(email=user.email, hashed_password=fake_hashed_password) db.add(db_user) db.commit() db.refresh(db_user) return db_user
def add_to_cart(call): if call.from_user.id not in models.User.objects.distinct("user_id"): user_obj = models.User(**{"user_id" : call.from_user.id}).save() else: user_obj = models.User.objects.get(user_id=call.from_user.id) product_obj = models.Product.objects.get(id=call.data.split('_')[1]) models.Cart(**{"user" : user_obj, "product": product_obj}).save() bot.send_message(call.message.chat.id, "Товар " + product_obj.title + " добавлен в корзину")
def create(request: schemas.User, db: Session): hashedPassword = Hash.bcrypt(request.password) user = models.User(name=request.name, email=request.email, password=hashedPassword) db.add(user) db.commit() db.refresh(user) return user
def register(): try: params = request.json user_service.register( models.User(None, params['username'], params['password'], params['nickname'], "")) return ResultResp(20000, '注册成功!', None).to_resp() except Exception as e: print(e) return ResultResp(50001, '注册失败!', None).to_resp()
def update_info(id): try: params = request.json user_service.update_user_info( models.User(id, params['username'], params['password'], params['nickname'], "")) return ResultResp(20000, '修改用户信息成功', None).to_resp() except Exception as e: print(e) return ResultResp(50001, '修改用户信息失败', None).to_resp()
def setUp(self): models.db.drop_all() models.db.create_all() self.role = models.Role(name="regular") self.role.save() self.user_1 = models.User(name="Joseph Cobhams", email="*****@*****.**", password=sha256_crypt.hash('andela')) self.user_1.save()
def add_to_cart(call): # user_last_name = call.from_user.last_name # user_first_name = call.from_user.first_name if call.from_user.id not in models.User.objects.distinct("user_id"): user_obj = models.User(**{"user_id": call.from_user.id}).save() else: user_obj = models.User.objects.get(user_id=call.from_user.id) product_obj = models.Product.objects.get(id=call.data.split('_')[1]) models.Cart(**{"user": user_obj, "product": product_obj}).save() print( str("Пользователь: " + str(call.from_user.id) + " добавил в корзину товар: " + call.data.split('_')[1]))
def reset_password(keyforreset): if 'username' in session: return redirect(url_for("index")) if models.User().fetch_userdoc(None, keyforreset): form = ResetPwform(request.form) form1 = Sign_upform(request.form) form2 = Sign_inform(request.form) return render_template("anonymous/resetpassword.html", form=form, form1=form1, form2=form2) else: return redirect(url_for("send_email"))
def create_gif(): form = CreateGifform(request.form) boards_li = models.User().fetch_boards(session["username"]) form.board.choices = [ (index, board) for (index, board) in zip(range(1, len(boards_li) + 1), boards_li) ] # 動的にoption要素の値を出力するための下処理 source_url_encoded = urllib.quote_plus( request.args.get("source_url")) # querystrigをURIエンコード if request.method == 'GET': return render_template("creategif.html", form=form, sign_in_username=session['username'], source_url_encoded=source_url_encoded, source_gifurl=request.args.get("source_gifurl")) if request.method == 'POST' and form.validate() and form.validate_tags( request.form.getlist("item[tags][]")): filename = "".join([ random.choice(string.ascii_letters + string.digits + '_') for i in range(21) ]) + ".gif" dir = os.path.join(app.config['UPLOAD_FOLDER'], filename) urllib.urlretrieve(request.args.get("source_gifurl"), dir) agifjudge = Agifjudge(dir) if agifjudge.validate() == 'gif/create': # アニメイトしていないor5M以上のGifの場合の分岐 return render_template( "creategif.html", form=form, sign_in_username=session['username'], source_url_encoded=source_url_encoded, source_gifurl=request.args.get("source_gifurl"), gif_error=True) board = boards_li[int(request.form["board"]) - 1] models.Img().add(username=session["username"], filename=filename, description=form.description.data, tags=request.form.getlist("item[tags][]"), board=board, from_externalurl=request.args.get("source_gifurl")) return redirect(url_for("index")) else: return render_template("creategif.html", form=form, sign_in_username=session['username'], source_url_encoded=source_url_encoded, source_gifurl=request.args.get("source_gifurl"))
def change_password(): form = ChangePwform(request.form) userdoc = models.User().fetch_userdoc({"username": session["username"]}) if request.method == "GET": return render_template("change_password.html", form=form, sign_in_username=session["username"]) if request.method == "POST" and form.validate(): if not models.User().sign_in(session["username"], form.currentpw.data): return render_template( "change_password.html", form=form, sign_in_username=session["username"], current_pw_error=gettext( u"Your current password was incorrectly. Please enter it again." )) models.User().update_pw(form.newpw.data, session["username"]) return redirect(url_for("userboards", username=session['username'])) else: return render_template("change_password.html", form=form, sign_in_username=session["username"])
def userboards(username): userdoc = models.User().fetch_userdoc(username) if not userdoc: return abort(404) # ユーザー名が登録されていない場合404へ userboards = models.User().fetch_userboards(username) if userboards: (userboards, cp) = itertools.tee(userboards) # ユーザーボードのイテレータobjectのコピーを生成するため分割させる username = list(cp)[0][0]["username"] else: userboards = [] if "username" not in session: return render_template("anonymous/userboards.html", userboards=userboards, useritem=userdoc, form1=Sign_upform(request.form), form2=Sign_inform(request.form)) return render_template("userboards.html", userboards=userboards, sign_in_username=session["username"], useritem=userdoc)
def edit_userboard(username, board): boarddoc = models.Board().fetch_boarddoc(username, board) form = EditBoardform(request.form) if boarddoc['username'] != session['username']: return abort(404) # ボードの管理ページに非管理者ユーザーが接続してきた場合404へ if request.method == "GET": return render_template("edit_userboard.html", form=form, boarddoc=boarddoc, sign_in_username=session["username"], placeho_board=boarddoc['board'], placeho_description=boarddoc['description']) if request.method == "POST" and form.validate(): (existing_boards, existing_ids) = models.User().fetch_boards(username, edit="edit") for (existing_board, existing_id) in zip(existing_boards, existing_ids): # 既に存在しているボード名の場合の条件分岐 if existing_board == form.board.data and existing_id != str( boarddoc["_id"]): return render_template( "edit_userboard.html", form=form, boarddoc=boarddoc, placeho_board=boarddoc['board'], sign_in_username=session["username"], placeho_description=boarddoc['description'], edit_board_error=gettext(u"This boardname is created")) models.Board().change_board( username=username, oldboard=board, newboard=form.board.data, description=form.description.data) # Board Collectionの該当docをUpdate models.Img().change_board( username=username, oldboard=board, newboard=form.board.data) # Img Collectionの該当docsをUpdate return redirect( url_for("userboard", username=username, board=form.board.data)) else: return render_template("edit_userboard.html", form=form, boarddoc=boarddoc, sign_in_username=session["username"], placeho_board=boarddoc['board'], placeho_description=boarddoc['description'])
def add_product_to_cart(call): product = models.Product.objects(id=call.data.split('_')[1]).get() if not models.User.objects(user_id=str(call.from_user.id)): models.User(user_id=str(call.from_user.id), user_name=call.from_user.username).save() user = models.User.objects(user_id=str(call.from_user.id)).get() if not user.show_cart: models.Cart(user=user).save() cart = models.Cart.objects(user=user.id, active=True).get() cart.add_to_cart(product) cart.save() bot.send_message(call.message.chat.id, f'{product.title} добавлен в корзину')
def create_new_user(self, user_data): if 'role' in user_data: role = user_data['role'] else: role = 'user' # check if user already exists user = self.get_user(user_data['username']) if user: return user.to_json_dict() # create new user password = PasswordGenerator.generate() print(password) load_finding_files = user_data.get('loadFindingFiles') user = models.User(username=user_data['username'], password=password, name=user_data['name'], role=role, email=user_data['email'], created_on=datetime.now(), load_finding_files=load_finding_files) db.session.add(user) db.session.commit() # clone the worklist file from the given user if 'clone_from_user' in user_data: clone_from = user_data['clone_from_user'] worklist_file = os.path.join(self.worklist_dir, user_data['username']) copyfile(os.path.join(self.worklist_dir, clone_from), worklist_file) self.load_user(user.username, user.name, worklist_file) user_dict = user.to_json_dict() user_dict['password'] = password return user_dict
def regif(pagename): imgdoc = models.Img().fetch_imgdoc(pagename) if imgdoc["username"] == session["username"]: return abort(404) # GifのRegifページに管理者ユーザーが接続してきた場合404へ form = Regifform(request.form) boards_li = models.User().fetch_boards(session["username"]) form.board.choices = [ (index, board) for (index, board) in zip(range(1, len(boards_li) + 1), boards_li) ] # 動的にoption要素の値を出力するための下処理 if request.method == "GET": return render_template("regif.html", form=form, item=imgdoc, sign_in_username=session["username"]) if request.method == "POST" and form.validate() and form.validate_tags( request.form.getlist("item[tags][]")): index = request.form["board"] tags = request.form.getlist("item[tags][]") description = request.form["description"] regifed_board = boards_li[int(index) - 1] fromimgid = str(imgdoc["fromimgid"]) if "fromimgid" in imgdoc else str( imgdoc["_id"]) imgid = models.Img().add(username=session["username"], filename=imgdoc["filename"], description=description, tags=tags, fromimgid=fromimgid, board=regifed_board) return redirect( url_for("userboard", username=session["username"], board=regifed_board)) else: return render_template("regif.html", form=form, item=imgdoc, sign_in_username=session["username"])
def receive_resetpassword(): if request.is_xhr is True: data = request.form["data"] keyforreset = request.args.get("keyforreset") form = ResetPwform() dict = {} for i in data.split("&"): dict[i.split("=")[0]] = i.split("=")[1] (form.newpassword.data, form.verifypassword.data) = (dict["newpassword"], dict["verifypassword"]) if form.validate(): userdoc = models.User().update_pw(form.newpassword.data, None, keyforreset) # 変更したユーザードキュメントを代入 session["username"] = userdoc["username"] return jsonify(res="success") else: for field_name, field_errors in form.errors.items(): for error in field_errors: return jsonify(res="error", message=error)
def post(self): try: reqData = parser.parse_args() vPassword = _validators.checkPassword(reqData['password']) if _functions.resultError(vPassword): return vPassword.flaskResp() hashPassword = _auth.hashPassword(reqData['password']) if _functions.resultError(hashPassword): return hashPassword newRoundsMan = _models.User( username=reqData['username'], password=hashPassword, ) newRoundsMan.save() return _functions.setModuleSuccess( payload='User created successfully', status=200).flaskResp() except Exception as e: return _functions.setModuleError( payload=e, error='Error crating new user, try it later...', status=500).flaskResp()
def edit_gifpage(pagename): imgdoc = models.Img().fetch_imgdoc(pagename) if imgdoc["username"] != session["username"]: return abort(404) # Gifの編集ページに非管理者ユーザーが接続してきた場合404へ form = EditGifform(request.form) boards_li = models.User().fetch_boards(session["username"]) form.board.choices = [ (index, board) for (index, board) in zip(range(1, len(boards_li) + 1), boards_li) ] # 動的にoption要素の値を出力するための下処理 if request.method == "GET": form.description.data = imgdoc["description"] return render_template("edit_gif.html", form=form, item=imgdoc, sign_in_username=session["username"]) if request.method == "POST" and form.validate() and form.validate_tags( request.form.getlist("item[tags][]")): tags = request.form.getlist("item[tags][]") index = request.form["board"] newboard = boards_li[int(index) - 1] description = request.form["description"] models.Img().change_board(pagename=pagename, newboard=newboard, tags=tags, description=description) # 単一Gifのボード名変更 return redirect(url_for("gifpage", pagename=pagename)) else: return render_template("edit_gif.html", form=form, item=imgdoc, sign_in_username=session["username"])
def receive_uploaded_file(): if request.is_xhr is True and request.method == "POST": if request.headers['Content-Type'] == 'application/octet-stream': filename = "".join([ random.choice(string.ascii_letters + string.digits + '_') for i in range(21) ]) + ".gif" dir = os.path.join(app.config['UPLOAD_FOLDER'], filename) f = open(dir, 'wb') f.write(request.data) f.close() agifjudge = Agifjudge(dir, 'upload/receiver') if agifjudge.validate() == 'upload/receiver': return "" # アニメイトしていないGifの場合の分岐 models.Readyimg().add(session["username"], filename) boards = models.User().fetch_boards(session["username"]) imgid = models.Readyimg().fetch_imgid(filename) return jsonify(success="success", username=session['username'], fname=filename, boards=boards, dataid=imgid)
def init_db(): from models import models Base.metadata.create_all(bind=engine) # 初期データ登録 # ユーザ {email,名前、パスワード、トータルバッチ、トータルポイント} db_session.add(models.User("rakuten.com", "楽天パンダ", "hoge", 8, 1100)) db_session.add(models.User("a.com", "木村太郎", "hoge", 3, 200)) db_session.add(models.User("b.com", "木村花子", "hoge", 2, 200)) db_session.add(models.User("c.com", "木本一郎", "hoge", 2, 200)) db_session.add(models.User("panda.com", "お買い物パンダ", "hoge", 2, 200)) db_session.add(models.User("cardman.com", "楽天カードマン", "hoge", 8, 1100)) # 料理名 {料理名、ポイント数} db_session.add(models.Meal_content("カレー", 100)) db_session.add(models.Meal_content("餃子", 100)) db_session.add(models.Meal_content("チャーハン", 100)) db_session.add(models.Meal_content("ビーフストロガノフ", 100)) db_session.add(models.Meal_content("味噌汁", 100)) db_session.add(models.Meal_content("ゴーヤチャンプル", 100)) db_session.add(models.Meal_content("親子丼", 100)) db_session.add(models.Meal_content("そば", 100)) db_session.add(models.Meal_content("うどん", 100)) db_session.add(models.Meal_content("卵焼き", 100)) db_session.add(models.Meal_content("ラーメン", 100)) db_session.add(models.Meal_content("サラダ", 100)) db_session.add(models.Meal_content("お茶漬け", 100)) db_session.add(models.Meal_content("たけのこご飯", 100)) db_session.add(models.Meal_content("オムライス", 100)) # ポイント獲得 {ユーザid、獲得ポイント、日付} db_session.add(models.Point_user(1, 100, '2020-09-01')) db_session.add(models.Point_user(1, 100, '2020-09-02')) db_session.add(models.Point_user(1, 100, '2020-09-02')) db_session.add(models.Point_user(6, 100, '2020-09-02')) db_session.add(models.Point_user(6, 100, '2020-09-03')) db_session.add(models.Point_user(6, 100, '2020-09-04')) db_session.add(models.Point_user(1, 100, '2020-09-04')) db_session.add(models.Point_user(1, 100, '2020-09-05')) db_session.add(models.Point_user(6, 100, '2020-09-05')) db_session.add(models.Point_user(6, 100, '2020-09-05')) db_session.add(models.Point_user(6, 100, '2020-09-06')) db_session.add(models.Point_user(6, 100, '2020-09-06')) db_session.add(models.Point_user(6, 100, '2020-09-07')) db_session.add(models.Point_user(6, 100, '2020-09-07')) db_session.add(models.Point_user(6, 100, '2020-09-07')) db_session.add(models.Point_user(6, 100, '2020-09-08')) db_session.add(models.Point_user(2, 100, '2020-09-08')) db_session.add(models.Point_user(3, 100, '2020-09-08')) db_session.add(models.Point_user(4, 100, '2020-09-08')) db_session.add(models.Point_user(5, 100, '2020-09-08')) db_session.add(models.Point_user(1, 100, '2020-09-08')) db_session.add(models.Point_user(1, 100, '2020-09-08')) db_session.add(models.Point_user(1, 100, '2020-09-08')) db_session.add(models.Point_user(1, 100, '2020-09-09')) db_session.add(models.Point_user(1, 100, '2020-09-09')) db_session.add(models.Point_user(1, 100, '2020-09-09')) db_session.add(models.Point_user(2, 100, '2020-09-09')) db_session.add(models.Point_user(3, 100, '2020-09-09')) db_session.add(models.Point_user(4, 100, '2020-09-09')) db_session.add(models.Point_user(5, 100, '2020-09-09')) # ポスト {ユーザid、mealid1~5、画像保存先URL、レシピURL、コメント、投稿時間} # カレー db_session.add( models.Post( 1, 1, None, None, None, None, "https://jp.rakuten-static.com/recipe-space/d/strg/ctrl/3/00909f7aad976843392a084534cefa02933ac089.53.2.3.2.jpg?thum=58", "https://recipe.rakuten.co.jp/recipe/1730000030/?l-id=recipe_list_detail_recipe", "おいしかった", "2020-09-01 19:08:24")) db_session.add( models.Post( 1, 1, None, None, None, None, "https://jp.rakuten-static.com/recipe-space/d/strg/ctrl/3/d5e4d49c509fc535570a5757133353ed195ce795.32.1.1.jpg?thum=58", "https://recipe.rakuten.co.jp/recipe/1730000030/?l-id=recipe_list_detail_recipe", "おいしかった", "2020-09-02 18:12:44")) db_session.add( models.Post( 1, 1, None, None, None, None, "https://jp.rakuten-static.com/recipe-space/d/strg/ctrl/3/fa3117b7037beaf99e2576983ddfce2fc6772063.94.2.3.2.jpg?thum=58", "https://recipe.rakuten.co.jp/recipe/1050010613/?l-id=recipe_list_detail_recipe", "おいしかった", "2020-09-02 15:28:34")) db_session.add( models.Post( 6, 1, None, None, None, None, "https://jp.rakuten-static.com/recipe-space/d/strg/ctrl/3/3afca6116d09b0fbea3205036a15501ccf702099.46.2.3.2.jpg?thum=58", "https://recipe.rakuten.co.jp/recipe/1730000014/?l-id=recipe_list_detail_recipe", "おいしかった", "2020-09-02 21:05:28")) db_session.add( models.Post( 6, 1, None, None, None, None, "https://jp.rakuten-static.com/recipe-space/d/strg/ctrl/3/0f2ac2514732d18ee5761e44c157d65f6be80723.32.1.1.jpg?thum=58", "https://recipe.rakuten.co.jp/recipe/1050010613/?l-id=recipe_list_detail_recipe", "おいしかった", "2020-09-03 10:08:24")) db_session.add( models.Post( 6, 1, None, None, None, None, "https://jp.rakuten-static.com/recipe-space/d/strg/ctrl/3/cdc775f860420a48e44a9888acada13a93031b25.81.2.3.2.jpg?thum=58", "https://recipe.rakuten.co.jp/recipe/1200010691/?l-id=recipe_list_detail_recipe", "おいしかった", "2020-09-04 12:43:12")) db_session.add( models.Post( 1, 1, None, None, None, None, "https://jp.rakuten-static.com/recipe-space/d/strg/ctrl/3/b954be62b6060d6fc88800bbc23b24a9fb77a8b5.84.1.3.2.jpg?thum=58", "https://recipe.rakuten.co.jp/recipe/1800000034/?l-id=recipe_list_detail_recipe", "おいしかった", "2020-09-04 19:57:51")) db_session.add( models.Post( 1, 1, None, None, None, None, "https://jp.rakuten-static.com/recipe-space/d/strg/ctrl/3/d63aee84c9a1bfd1342a301da776bd2480b3b9b3.83.2.3.2.jpg?thum=58", "https://recipe.rakuten.co.jp/recipe/1810004197/?l-id=recipe_list_detail_recipe", "おいしかった", "2020-09-05 17:39:27")) db_session.add( models.Post( 6, 1, None, None, None, None, "https://jp.rakuten-static.com/recipe-space/d/strg/ctrl/3/143e054b129be9e7a615dffe2cad48933e13ff4a.78.2.3.2.jpg?thum=58", "https://recipe.rakuten.co.jp/recipe/1740010600/?l-id=recipe_list_detail_recipe", "おいしかった", "2020-09-05 22:01:21")) db_session.add( models.Post( 6, 2, None, None, None, None, "https://jp.rakuten-static.com/recipe-space/d/strg/ctrl/3/8f1149dce961d89981efc54d3aea0911853c69c4.46.2.3.2.jpg?thum=58", "https://recipe.rakuten.co.jp/recipe/1050005813/", "おいしかった", "2020-09-05 12:43:12")) db_session.add( models.Post( 6, 3, None, None, None, None, "https://jp.rakuten-static.com/recipe-space/d/strg/ctrl/3/d91df891dd7723749e0e8ef520af3960d899ef15.12.2.3.2.jpg?thum=58", "https://recipe.rakuten.co.jp/recipe/1240018924/", "まずかった", "2020-09-06 19:57:51")) db_session.add( models.Post( 6, 4, None, None, None, None, "https://jp.rakuten-static.com/recipe-space/d/strg/ctrl/3/66e9e6a54c7015b255ba8b34b6b37aa349b3c15d.45.2.3.2.jpg?thum=58", "https://recipe.rakuten.co.jp/recipe/1030011769/", "まずかった", "2020-09-06 19:08:24")) db_session.add( models.Post( 6, 5, None, None, None, None, "https://jp.rakuten-static.com/recipe-space/d/strg/ctrl/3/bf49fbc90f4523eb8943c540f34e94a4b6d816f7.36.2.3.2.jpg?thum=58", "https://www.kurashiru.com/recipes/7ebf6849-4961-48e4-8fd1-3ff54ad1d5f5", "まずかった", "2020-09-07 17:39:27")) db_session.add( models.Post( 6, 6, None, None, None, None, "https://jp.rakuten-static.com/recipe-space/d/strg/ctrl/3/a5fe503e18f2f5abfe27357997b9dd67ceab4db2.74.2.3.2.jpg?thum=58", "https://recipe.rakuten.co.jp/recipe/1310001611/", "まずかった", "2020-09-07 22:01:21")) db_session.add( models.Post( 6, 7, None, None, None, None, "https://jp.rakuten-static.com/recipe-space/d/strg/ctrl/3/a381a1be986ee90661a4a9de3ba9abd8dede698c.08.2.3.2.jpg?thum=58", "https://recipe.rakuten.co.jp/recipe/1190004346/", "まずかった", "2020-09-07 15:28:34")) db_session.add( models.Post( 6, 8, None, None, None, None, "https://jp.rakuten-static.com/recipe-space/d/strg/ctrl/3/49b7e752f7fb56f4abf96bcf2bd21f174ffa5576.11.2.3.2.jpg?thum=58", "https://recipe.rakuten.co.jp/recipe/1560003298/?l-id=recipe_list_detail_recipe", "まずかった", "2020-09-08 19:08:24")) db_session.add( models.Post( 2, 9, None, None, None, None, "https://jp.rakuten-static.com/recipe-space/d/strg/ctrl/3/ae8230dcc14750ad02bda59d3b042ec9d4fa74d0.91.2.3.2.jpg?thum=58", "https://recipe.rakuten.co.jp/recipe/1380004305/?l-id=recipe_list_detail_recipe", "まずかった", "2020-09-08 22:01:21")) db_session.add( models.Post( 3, 10, None, None, None, None, "https://jp.rakuten-static.com/recipe-space/d/strg/ctrl/3/8ba3daadf08faa47e4606e49efb5b0373e5ba166.29.2.3.2.jpg?thum=58", "https://recipe.rakuten.co.jp/recipe/1270005906/", "まずかった", "2020-09-08 17:39:27")) db_session.add( models.Post( 4, 11, None, None, None, None, "https://jp.rakuten-static.com/recipe-space/d/strg/ctrl/3/10c8b5fa25a31a189f4b7f959332879ded3c0a03.53.2.3.2.jpg?thum=58", "https://recipe.rakuten.co.jp/recipe/1870009550/", "まずかった", "2020-09-08 15:28:34")) db_session.add( models.Post( 5, 12, None, None, None, None, "https://jp.rakuten-static.com/recipe-space/d/strg/ctrl/3/68e298e01d968acfc0d70e03ca0e8773f674777e.97.2.3.2.jpg?thum=58", "https://recipe.rakuten.co.jp/recipe/1540011747/?l-id=recipe_list_detail_recipe", "まずかった", "2020-09-08 19:08:24")) #TODO 楽天パンダ用に6つ db_session.add( models.Post( 1, 2, None, None, None, None, "https://jp.rakuten-static.com/recipe-space/d/strg/ctrl/3/cec263837c9c6768cf2a0681d5821560c9004983.86.2.3.2.jpg?thum=58", "https://recipe.rakuten.co.jp/recipe/1890007735/", "まずかった", "2020-09-07 22:01:21")) db_session.add( models.Post( 1, 3, None, None, None, None, "https://jp.rakuten-static.com/recipe-space/d/strg/ctrl/3/c25e04a0972d9a0645800dfe7384c710674f9616.01.2.3.2.jpg?thum=58", "https://recipe.rakuten.co.jp/recipe/1600005392/", "まずかった", "2020-09-08 22:01:21")) db_session.add( models.Post( 1, 4, None, None, None, None, "https://jp.rakuten-static.com/recipe-space/d/strg/ctrl/3/1eca7aceac0c663e71f55123772d2307741256f0.00.2.3.2.jpg?thum=58", "https://recipe.rakuten.co.jp/recipe/1450013465/", "まずかった", "2020-09-07 22:01:21")) db_session.add( models.Post( 1, 5, None, None, None, None, "https://jp.rakuten-static.com/recipe-space/d/strg/ctrl/3/15fd04051637c8010813fd95c1a512e24e10ea2c.82.2.3.2.jpg?thum=58", "https://recipe.rakuten.co.jp/recipe/1310000340/?l-id=recipe_list_detail_recipe", "まずかった", "2020-09-07 22:01:21")) db_session.add( models.Post( 1, 6, None, None, None, None, "https://jp.rakuten-static.com/recipe-space/d/strg/ctrl/3/67ddf46d928560336de1891de6b822a87e7b60cb.91.2.3.2.jpg?thum=58", "https://recipe.rakuten.co.jp/recipe/1390023051/?l-id=recipe_list_detail_recipe", "まずかった", "2020-09-08 22:01:21")) db_session.add( models.Post( 1, 7, None, None, None, None, "https://jp.rakuten-static.com/recipe-space/d/strg/ctrl/3/8034f7003601936adb77ac83859b6a11fb672110.02.2.3.2.jpg?thum=58", "https://recipe.rakuten.co.jp/recipe/1800022074/?l-id=recipe_list_detail_recipe", "まずかった", "2020-09-07 22:01:21")) #TODO その他の4人が餃子を作る db_session.add( models.Post( 2, 2, None, None, None, None, "https://jp.rakuten-static.com/recipe-space/d/strg/ctrl/3/a10fe08c1956a12082a04885c032bcbaef127021.18.2.3.2.jpg?thum=58", "https://recipe.rakuten.co.jp/recipe/1970005448/", "まずかった", "2020-09-08 22:01:21")) db_session.add( models.Post( 3, 2, None, None, None, None, "https://jp.rakuten-static.com/recipe-space/d/strg/ctrl/3/c60304f1db698d6a98f29cd6fec74bd9f75a46f1.83.2.3.2.jpg?thum=58", "https://recipe.rakuten.co.jp/recipe/1620000309/?l-id=recipe_list_detail_recipe", "まずかった", "2020-09-08 22:01:21")) db_session.add( models.Post( 4, 2, None, None, None, None, "https://jp.rakuten-static.com/recipe-space/d/strg/ctrl/3/5f143bd45e4552b55ceb47a5302ab315f697d029.02.2.3.2.jpg?thum=58", "https://recipe.rakuten.co.jp/recipe/1230000935/?l-id=recipe_list_detail_recipe", "まずかった", "2020-09-08 22:01:21")) db_session.add( models.Post( 5, 2, None, None, None, None, "https://jp.rakuten-static.com/recipe-space/d/strg/ctrl/3/97f528bc5501754bce0045aa94752be2e280d2d3.40.2.3.2.jpg?thum=58", "https://recipe.rakuten.co.jp/recipe/1150003162/?l-id=recipe_list_detail_recipe", "まずかった", "2020-09-08 22:01:21")) #カレーを別の人が作る db_session.add( models.Post( 2, 1, None, None, None, None, "https://jp.rakuten-static.com/recipe-space/d/strg/ctrl/3/fa3117b7037beaf99e2576983ddfce2fc6772063.94.2.3.2.jpg?thum=58", "https://recipe.rakuten.co.jp/recipe/1080009668/?l-id=recipe_list_detail_recipe", "おいしかった", "2020-09-09 11:28:34")) # 料理履歴 {meal_id、ユーザid、ポストid} #TODO つじつま合わせ db_session.add(models.Cook_history(1, 1, 1)) db_session.add(models.Cook_history(1, 1, 2)) db_session.add(models.Cook_history(1, 1, 3)) db_session.add(models.Cook_history(1, 6, 4)) db_session.add(models.Cook_history(1, 6, 5)) db_session.add(models.Cook_history(1, 6, 6)) db_session.add(models.Cook_history(1, 1, 7)) db_session.add(models.Cook_history(1, 1, 8)) db_session.add(models.Cook_history(1, 6, 9)) db_session.add(models.Cook_history(2, 6, 10)) db_session.add(models.Cook_history(3, 6, 11)) db_session.add(models.Cook_history(4, 6, 12)) db_session.add(models.Cook_history(5, 6, 13)) db_session.add(models.Cook_history(6, 6, 14)) db_session.add(models.Cook_history(7, 6, 15)) db_session.add(models.Cook_history(8, 6, 16)) db_session.add(models.Cook_history(9, 2, 17)) db_session.add(models.Cook_history(10, 3, 18)) db_session.add(models.Cook_history(11, 4, 19)) db_session.add(models.Cook_history(12, 5, 20)) #TODO つじつま合わせ db_session.add(models.Cook_history(2, 1, 21)) db_session.add(models.Cook_history(3, 1, 22)) db_session.add(models.Cook_history(4, 1, 23)) db_session.add(models.Cook_history(5, 1, 24)) db_session.add(models.Cook_history(6, 1, 25)) db_session.add(models.Cook_history(7, 1, 26)) db_session.add(models.Cook_history(2, 2, 27)) db_session.add(models.Cook_history(2, 3, 28)) db_session.add(models.Cook_history(2, 4, 29)) db_session.add(models.Cook_history(2, 5, 30)) db_session.add(models.Cook_history(1, 2, 31)) # フォローフォロワー関係 {フォローid、フォロワーid} db_session.add(models.User_relation(2, 6)) db_session.add(models.User_relation(6, 2)) db_session.add(models.User_relation(6, 3)) db_session.add(models.User_relation(6, 4)) db_session.add(models.User_relation(1, 3)) db_session.add(models.User_relation(2, 1)) db_session.add(models.User_relation(4, 1)) # バッジ数 {ユーザid、料理id、レベル} db_session.add(models.Badges(1, 1, 2)) db_session.add(models.Badges(1, 2, 1)) db_session.add(models.Badges(1, 3, 1)) db_session.add(models.Badges(1, 4, 1)) db_session.add(models.Badges(1, 5, 1)) db_session.add(models.Badges(1, 6, 1)) db_session.add(models.Badges(1, 7, 1)) db_session.add(models.Badges(6, 1, 1)) db_session.add(models.Badges(6, 2, 1)) db_session.add(models.Badges(6, 3, 1)) db_session.add(models.Badges(6, 4, 1)) db_session.add(models.Badges(6, 5, 1)) db_session.add(models.Badges(6, 6, 1)) db_session.add(models.Badges(6, 7, 1)) db_session.add(models.Badges(6, 8, 1)) db_session.add(models.Badges(2, 9, 1)) db_session.add(models.Badges(3, 10, 1)) db_session.add(models.Badges(4, 11, 1)) db_session.add(models.Badges(5, 12, 1)) db_session.add(models.Badges(2, 2, 1)) db_session.add(models.Badges(3, 2, 1)) db_session.add(models.Badges(4, 2, 1)) db_session.add(models.Badges(5, 2, 1)) db_session.add(models.Badges(2, 1, 1)) db_session.commit()