Ejemplo n.º 1
0
def detail(movie_id):
    '''
    선택 한 영화에 대한 상세정보
    영화정보 및 영화에 대한 데이터 분석 정보
    :param movie_id:
    :return:
    '''
    conn = db_conn.conn()
    curs = conn.cursor()
    sql = "SELECT * FROM MOVIE_LIST WHERE MOVIE_ID = %s"
    curs.execute(sql, movie_id)
    rows = curs.fetchall()
    sql_lists = list()
    for i, e, a in rows:
        dict_result = {'movie_id': i, "title": e, "img_title": a}
    conn.close()
    '''
    # json형태로 데이터 넘겨서 구글chart로 표시
    # json형태 변환에서 오류
    # 주석처리
    # data_model = dm()
    # hour_avg = data_model.datashow(movie_id)

    # print(dict(json.dumps(hour_avg['rating'],ensure_ascii=False)))

    # json_hour = json.dumps(hour_avg['rating'],ensure_ascii=False)
    # json_hour = jsonify(dict(hour_avg['rating']))
    #    dict(json_hour)
    # print(json_hour)
    # json_hour = hour_avg.to_json()
    '''
    return render_template('detail.html',
                           dict_results=dict_result,
                           title=dict_result['title'])
Ejemplo n.º 2
0
def main():
    '''
    선택된 6개 영화에 대한 추천 영화 리스트 출력
    :return:
    '''
    movielist = request.form.getlist('movieid')
    ratinglist = request.form.getlist('movierating')

    data_model = dm()
    movie_tuple = []
    for i, e in enumerate(movielist):
        movie_tuple.append((e, ratinglist[i]))
    print(movie_tuple)
    movie_list = data_model.movie_suggest(movie_tuple)
    print(list(movie_list))
    conn = db_conn.conn()
    curs = conn.cursor()
    sql = "SELECT * FROM MOVIE_LIST WHERE MOVIE_ID IN (%s,%s,%s,%s,%s,%s)"
    curs.execute(sql,
                 (str(movie_list[0]), str(movie_list[1]), str(movie_list[2]),
                  str(movie_list[3]), str(movie_list[4]), str(movie_list[5])))
    rows = curs.fetchall()
    sql_lists = list()
    for i, e, a in rows:
        sql_lists.append({'movie_id': i, "title": e, "img_title": a})

    print(sql_lists)
    conn.close()
    return movie_list
Ejemplo n.º 3
0
def search():
    '''
    검색 한 영화에 대한 surprise알고리즘에 대한 추천 영화 리스트 출력
    :param movie_id:
    :return:
    '''
    movie_title = request.form['movie_title']
    conn = db_conn.conn()
    curs = conn.cursor()

    like_cur = "%" + movie_title + "%"

    sql = """SELECT * FROM MOVIE_LIST WHERE TITLE LIKE %s"""
    curs.execute(sql, (like_cur))
    title_ = curs.fetchone()[1]

    data_model = dm()
    sug_list = data_model.sim_movie(title_)

    conn.close()

    sql = """SELECT * FROM MOVIE_LIST WHERE TITLE IN ("""
    a = ''
    list_tuple = []
    for i, e in enumerate(sug_list):
        list_tuple.append(sug_list[i].strip())
        if (i == (sug_list.size - 1)):
            a += '%s )'
        else:
            a += '%s ,'
    sql += a
    conn = db_conn.conn()
    curs = conn.cursor()
    curs.execute(sql, tuple(list_tuple))
    rows = curs.fetchall()
    sql_lists = list()
    for i, e, a in rows:
        sql_lists.append({'movie_id': i, "title": e, "img_title": a})
    conn.close()
    return render_template('index.html',
                           sql_list=sql_lists,
                           type="search",
                           result=len(rows))
Ejemplo n.º 4
0
def index():
    '''
    메인페이지 - 랜덤 6개 영화에 대한 평점 주는 페이지
    평점 후 메인페이지로 전환
    :return:
    '''
    conn = db_conn.conn()
    curs = conn.cursor()
    sql = "SELECT * FROM MOVIE_LIST ORDER BY RAND() LIMIT 6"
    curs.execute(sql)
    rows = curs.fetchall()
    sql_lists = list()
    for i, e, a in rows:
        sql_lists.append({'movie_id': i, "title": e, "img_title": a})

    print(sql_lists)
    conn.close()
    return render_template('work.html', sql_list=sql_lists)
Ejemplo n.º 5
0
def searchajax(movie_id):
    '''
    검색 컨트롤러 - ajax 사용안함
    :param movie_id:
    :return:
    '''
    conn = db_conn.conn()
    curs = conn.cursor()
    sql = "SELECT MOVIE_ID, TITLE, IMG_TITLE FROM MOVIE_LIST WHERE MOVIE_ID = %s"
    curs.execute(sql, (movie_id))
    # fetachall을 사용하면 curs에 있는 값이 모두 날라간다.
    rows = curs.fetchall()
    if len(rows) > 0:
        print("검색 결과 존재")
    else:
        print("검색 결과 없음")
        return "검색 결과가 없습니다."
    conn.close()
    return "{}건의 검색결과가 있습니다.".format(len(rows))