Exemplo n.º 1
0
 def find_review_by_user_id(cls, user_id):
     Session = openSession()
     session = Session()
     print("FIND BY USER ID METHOD 진입!")
     print("성공")
     return session.query(ReviewDto).filter(
         ReviewDto.user_id.like(user_id)).all()
Exemplo n.º 2
0
    def update(user):
        """
        유저 정보를 수정해 준다
        새로운 유저 정보를 가진 유저를 가져와 기존의
        유저 정보를 수정해 준다.

        Parameter: 새로운 유저 정보를 가진 유저
        """
        Session = openSession()
        session = Session()
        print(f"{user.lname}")
        print(f"{user.fname}")
        session.query(UserDto).filter(UserDto.user_id == user.user_id).update({
            UserDto.lname:
            user.lname,
            UserDto.fname:
            user.fname,
            UserDto.age:
            user.age,
            UserDto.password:
            user.password,
            UserDto.age:
            user.age,
            UserDto.email:
            user.email
        })
        session.commit()
        session.close()
Exemplo n.º 3
0
    def find_by_id(cls, id):
        Session = openSession()
        session = Session()
        print("FIND BY ID method 진입!")
        print(f'ID : {id}')

        return session.query(ReviewDto).filter(ReviewDto.rev_id.like(id)).one()
Exemplo n.º 4
0
 def update(review, id):
     Session = openSession()
     session = Session()
     print('진입')
     print(f'Rev id : {review.rev_id} / Movie_id :{review.movie_id}/\
         User_id: {review.user_id}/ Title: {review.title}/ Content: {review.content} / Label: {review.label}'
           )
     print('update 1 clear')
     print(f'************ID : {id} **************** ')
     print('update 2 clear')
     session.query(ReviewDto).filter(
         ReviewDto.rev_id == review.rev_id).update({
             ReviewDto.user_id:
             review.user_id,
             ReviewDto.movie_id:
             review.movie_id,
             ReviewDto.title:
             review.title,
             ReviewDto.content:
             review.content,
             ReviewDto.label:
             review.label
         })
     print('update 3 clear')
     session.commit()
     session.close()
     print('update 4 clear')
Exemplo n.º 5
0
 def find_all(cls):
     Session = openSession()
     session = Session()
     newtables = session.query(ReviewDto, MovieDto.title_kor, UserDto.fname).filter(UserDto.usr_id.like(ReviewDto.usr_id))\
         .filter(ReviewDto.mov_id.like(MovieDto.mov_id))
     df = pd.read_sql(newtables.statement, newtables.session.bind)
     print(df)
     return json.loads(df.to_json(orient='records'))
Exemplo n.º 6
0
 def insert_many():
     service = UserService()
     Session = openSession()
     session = Session()
     df = service.hook()
     print(df.head())
     session.bulk_insert_mappings(UserDto, df.to_dict(orient="records"))
     session.commit()
     session.close()
Exemplo n.º 7
0
 def find_by_movie_title(cls, movie_title):
     print("FIND BY MOVIE TITLE 진입 !")
     Session = openSession()
     session = Session()
     mov_id = MovieDao.find_by_title_return_id(movie_title)
     newtables = session.query(cls, MovieDto.title_kor, UserDto.fname).filter(MovieDto.mov_id.like(mov_id))\
         .filter(cls.mov_id.like(mov_id)).filter(cls.usr_id.like(UserDto.usr_id))
     df = pd.read_sql(newtables.statement, newtables.session.bind)
     print(df)
     return json.loads(df.to_json(orient='records'))
Exemplo n.º 8
0
 def add(actor_name):
     crawl = Crawling(actor_name)
     df = crawl.crawl()
     actor = df.to_dict(orient="records")
     actor = actor[0]
     actor = ActorDto(**actor)
     Session = openSession()
     session = Session()
     print("---------------------------------------------")
     db.session.add(actor)
     db.session.commit()
     session.close()
Exemplo n.º 9
0
 def save(review):
     Session = openSession()
     session = Session()
     print('진입')
     print(f'Rev id : {review.rev_id} / Movie_id :{review.movie_id}/\
         User_id: {review.user_id}/ Title: {review.title}/ Content: {review.content} / Label: {review.label}'
           )
     print('1 clear')
     session.add(review)
     print('2 clear')
     session.commit()
     session.close()
     print('3 clear')
Exemplo n.º 10
0
    def find_review_by_user_id(cls, user_id):
        Session = openSession()
        session = Session()
        print("FIND BY USER ID METHOD 진입!")
        print("성공")

        # 기존 Reviews table에 movies.title_kor / UserDto.fname을 조인해서 SQLAlchemy 자체로 가져옴
        newtables = session.query(ReviewDto, MovieDto.title_kor, UserDto.fname).filter(ReviewDto.usr_id.like(user_id))\
            .filter(ReviewDto.usr_id.like(UserDto.usr_id)).filter(ReviewDto.mov_id.like(MovieDto.mov_id))
        # 해당 Query를 DataFrame으로 전환
        df = pd.read_sql(newtables.statement, newtables.session.bind)
        print(df)
        return json.loads(df.to_json(orient='records'))
Exemplo n.º 11
0
 def group_by(cls):
     Session = openSession()
     session = Session()
     titledict = {}
     titles = session.query(cls.title, cls.label).all() # 타이틀 뽑아 왔음
     for title in titles:
         if title[0] not in titledict:
             titledict[title[0]] = 1
         else:
             titledict[title[0]] += 1
         if title[1] == 1:
             titledict[title[0]] += 1
     titledict = {k: v for k, v in sorted(titledict.items(), key=lambda item: item[1])}
     return titledict
Exemplo n.º 12
0
 def group_by_for_top(cls):
     Session = openSession()
     session = Session()
     print("그룹 바이 for top 진입!!!")
     titles = session.query(cls, MovieDto.title_kor).filter(
         cls.mov_id.like(MovieDto.mov_id)).all()
     titledict = {}  # 타이틀 뽑아 왔음
     for title in titles:
         if title[-1] not in titledict:
             titledict[title[-1]] = 1
         else:
             titledict[title[-1]] += 1
         if title[-2] == 1:
             titledict[title[-1]] += 1
     session.close()
     titledict = {
         k: v
         for k, v in sorted(titledict.items(), key=lambda item: item[1])
     }
     print(f'Sorting 이후 : {titledict}')
     # max_key = max(titledict, key=titledict. get)
     # print(f'Max key : {max_key}')
     return titledict
Exemplo n.º 13
0

class UserVo:
    """
    User model 에 쓸 parameter 들을 생성 시킨다.
    """
    user_id: str = ''
    password: str = ''
    lname: str = ''
    fname: str = ''
    gender: str = ''
    age: int = 0
    email: str = ''


Session = openSession()
session = Session()
user_preprocess = UserPreprocess()


class UserDao(UserDto):
    """
        User 모델을 접근 하는 객체
        예: CRUD: (Create, Read, Update, Delete)
    """
    @staticmethod
    def bulk():
        """
        모든 유저 리스트를 DataBase 안에 넣어준다
        """
        df = user_preprocess.hook()
Exemplo n.º 14
0
 def count(cls):
     Session = openSession()
     session = Session()
     return session.query(func.count(ReviewDto.rev_id)).one()
Exemplo n.º 15
0
 def find_by_movie_title(cls, title):
     Session = openSession()
     session = Session()
     print("FIND BY TITLE 진입 !")
     return session.query(ReviewDto).filter(ReviewDto.title.like(title)).all()