def parse_dict_to_showfilm(data: dict): return ShowFilm( id=data['id'], title=data['title'], description=data['overview'], original_language=data['original_language'], popularity=data['popularity'], poster=data['poster_path'], release_date=data['release_date'], show_type=1, genres=data['genre_ids'] )
async def get_popular_films_by_date(cls, date: datetime) -> List["ShowFilm"]: rows = await cls.pool.fetch(cls.GET_POPULAR_FILM_BY_DATE, date) return [ShowFilm(*(row)) for row in rows] if rows else []
async def get_shows(cls, date: datetime, limit: int) -> List["ShowFilm"]: rows = await cls.pool.fetch(cls.GET_SHOWS, date, limit) return [ShowFilm(*(row)) for row in rows] if rows else []
async def get_shows_filter_date(cls, date_start: datetime, date_end: datetime, limit: int) -> List["ShowFilm"]: rows = await cls.pool.fetch(cls.GET_SHOWS_FILTER_DATE, date_start, date_end, limit) return [ShowFilm(*(row)) for row in rows] if rows else []
async def get_random_show_full(cls) -> Optional["ShowFilm"]: row = await cls.pool.fetch(cls.GET_RANDOM_FILM) return ShowFilm(*(row[0])) if row else None
async def get_show_by_id_full(cls, pk: int) -> Optional["ShowFilm"]: row = await cls.pool.fetch(cls.GET_SHOW_BY_ID_FULL, pk) return ShowFilm(*(row[0])) if row else None
async def get_show_by_name(cls, title: str) -> Optional["ShowFilm"]: row = await cls.pool.fetch(cls.GET_SHOW_BY_NAME, title) return ShowFilm(*(row[0])) if row else None
async def get_show(cls, date: datetime) -> Optional["ShowFilm"]: row = await cls.pool.fetch(cls.GET_SHOW, date) return ShowFilm(*(row[0])) if row else None
async def load(): await prepare_db() df = pd.read_csv("../data/movies.csv", sep=',', quotechar="\"") df = df.fillna("") df = df.drop_duplicates(subset=['id']) gg = df['original_language'].unique() df = df[['id', 'genres']] # print(gg) df1 = pd.read_csv("../data/serials.csv", sep=',', quotechar="\"") gg1 = df1['original_language'].unique() df1 = df1.fillna("") df1 = df1.drop_duplicates(subset=['id']) df1 = df1[['id', 'genres']] # print(gg1) gg = list(gg) gg.extend(gg1) gg = set(gg) langs = sorted(gg) print(len(langs)) # lang find langs for index, row in df.iterrows(): original = langs.index(row['original_language']) tt = row['genres'] genres = str(tt).replace("\"", "").replace("nan", "").split(",") def xoo(genres): new_genres = [] for t in genres: if len(t) > 1: new_genres.append(int(t)) else: pass return new_genres genres = xoo(genres) if row['description'] is None or str(row['description']) == "nan": descr = "" else: descr = row['description'] if len(row['poster']) < 1 or len( descr) < 1 or row['poster'] is None or len(str( row['poster'])) < 6: continue if len(row['release_date']) > 1: try: date = datetime.datetime.strptime(row['release_date'], "%Y-%m-%d") except: date = None pass else: date = None show = ShowFilm(id=row['id'], title=row['title'], show_type=1, poster=row['poster'], release_date=date, description=descr, popularity=row['popularity'], original_language=original, genres=genres) try: await ShowFilmDB.create(show) except Exception as e: print(show.id) print(e) pass