예제 #1
0
def search():
	print('--------search---------')
	result = request.form
	color_name = result['color_name']

	db_class = dbModule.Database()
	sql = "SELECT Color, label_one, label_two \
		   FROM deepstick.products \
		   WHERE Color='" + color_name + "'"

	row = db_class.executeOne(sql)
	label_one = str(row['label_one'])
	label_two = str(int(row['label_two']))

	sql = "SELECT Brand, Product, Color, Price, Image, colorpower, spread, keep, moisture, R, G, B \
		   FROM deepstick.products \
		   WHERE label_one='" + label_one + "' AND label_two='" + label_two +"'"
	row = db_class.executeAll(sql)

	CosSim = CosSimilarity.CosSimilarity(row)
	row = CosSim.get_recommendations(color_name)
	print('---------cosin----------')
	print(row)
	data =[]
	for i in range(0,7):
		data.append(dict(row.iloc[i]))
	print(data)
	return render_template('/product.html',
							resultData=data,
							size=len(data))
예제 #2
0
def single(data):
	print('----single----')
	db_class = dbModule.Database()
	sql = "SELECT Brand, Product, Color, Price, Image, R, G, B, colorpower, spread, keep, moisture \
		   FROM deepstick.products \
		   WHERE Color='" + data + "'"

	row = db_class.executeOne(sql)
	print("-----row-----",row)
	sql = "SELECT Brand, Color, remonth, Product, Review \
		   FROM deepstick.review \
		   WHERE Color='" + row['Color'] + "'"

	row_review = db_class.executeAll(sql)
	print('----row_review------',row_review)
	if row_review and row_review[0]['remonth'] is not None:
		review = pd.DataFrame(row_review)
		re_class = ReviewCount.ReviewCnt()
		re_class.draw(review, row['Color'])

		Countpath = '../static/images/'+row['Color']+'.png'
		WCpath = '../static/images/wordcloud/'+row['Product']+'.png'
	else:
		Countpath = False
		WCpath = False
	print("wcpath------", WCpath)
	return render_template('/single.html',
							resultData=row,
							resultFigPath=Countpath,
							resultWCPath=WCpath)
예제 #3
0
def register():
    if request.method == 'POST':
        username = request.form['username']
        password = request.form['password']
        error = None
        print('----username: '******'Password is required.'
        elif db_class.execute(
                # execute query and return first row
                # fetchone은 query의 하나의 row를 반환
                "SELECT id FROM user WHERE username='******'") is not None:
            print('-----------row-------- : ', row)
            error = 'User {} is already registered.'.format(username)
        if error is None:
            print('-----------sql execute--------')
            db_class.execute(
                'INSERT INTO user (username, password) VALUES (%s,%s)',
                (username, generate_password_hash(password)))
            db_class.commit()
            return redirect(url_for('auth.login'))

        flash(error)
    return render_template('register.html')
예제 #4
0
def load_logged_in_user():
    user_id = session.get('user_id')
    db_class = dbModule.Database()
    if user_id is None:
        g.user = None
    else:
        g.user = db_class.execute('SELECT * FROM user WHERE id = %s',
                                  (user_id))
예제 #5
0
def log():
    userlog = Userlog.UserLog()
    db_class = dbModule.Database()

    recommend = userlog.recommend(session['user_id'])
    print(recommend)
    print("-------------사용자 추천--------")
    data = []
    for color in recommend:
        sql = "SELECT Brand, Product, Color, Price, Image FROM deepstick.products WHERE Color='" + color + "'"
        row = db_class.executeOne(sql)
        if not row:
            continue
        data.append(row)

    return render_template('/user.html', resultData=data, size=len(data))
예제 #6
0
def login():
    if request.method == 'POST':
        username = request.form['username']
        password = request.form['password']
        db_class = dbModule.Database()
        error = None
        sql = "SELECT * FROM user WHERE username='******'"
        print(sql)
        user = db_class.executeOne(sql)
        if user is None:
            error = 'Incorrect username.'
        elif not check_password_hash(user['password'], password):
            error = 'Incorrect password.'
        if error is None:
            session.clear()
            session['user_id'] = user['id']
            return redirect(url_for('index'))

        flash(error)

    return render_template('login.html')