Add Poster url and Add pandas
This commit is contained in:
@@ -17,7 +17,8 @@ CREATE TABLE movies (
|
||||
imdb_id TEXT UNIQUE,
|
||||
actors TEXT[],
|
||||
release_date DATE DEFAULT NULL,
|
||||
plot TEXT,
|
||||
plot TEXT DEFAULT NULL,
|
||||
poster_url TEXT DEFAULT NULL,
|
||||
showtime DATE DEFAULT NULL,
|
||||
is_watched BOOLEAN DEFAULT FALSE,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
@@ -52,13 +53,14 @@ CREATE TABLE log (
|
||||
);
|
||||
|
||||
-- Add placeholder data
|
||||
INSERT INTO movies (name, imdb_id, actors, release_date, plot, showtime)
|
||||
INSERT INTO movies (name, imdb_id, actors, release_date, plot, poster_url, showtime)
|
||||
VALUES ('A Maple Valley Christmas',
|
||||
'tt21841642',
|
||||
['Peyton List', 'Andrew W. Walker', 'Frances Flanagan'],
|
||||
'2022-11-05',
|
||||
'Erica on karjatilallinen, joka on viettänyt koko elämänsä työskennellen perhetilalla äitinsä ja sisarensa kanssa.
|
||||
Kun Aaron saapuu ja häiritsee hänen suunnitelmiaan, hän alkaa kyseenalaistaa, mitä hän oikeastaan haluaa.',
|
||||
'https://m.media-amazon.com/images/M/MV5BZjliMTRlMGItOGQzZC00NTI2LWJkODctZWZmMDIzOGRmYTQ3XkEyXkFqcGc@._V1_.jpg',
|
||||
'2024-12-01');
|
||||
|
||||
INSERT INTO cards (title, description, point_value)
|
||||
|
||||
@@ -27,25 +27,15 @@ def get_all_movies() -> list[Movie]:
|
||||
return
|
||||
|
||||
|
||||
def get_next_movie() -> Movie:
|
||||
def get_next_movie() -> Movie | None:
|
||||
sql = "SELECT * FROM movies WHERE is_watched = FALSE AND showtime > CURRENT_TIMESTAMP ORDER BY showtime ASC"
|
||||
with get_db() as conn:
|
||||
result = conn.execute(sql).fetchone()
|
||||
if result is None:
|
||||
result = conn.execute(sql).fetchdf()
|
||||
if result.empty:
|
||||
return None
|
||||
movie = Movie(
|
||||
id=str(result[0]),
|
||||
name=result[1],
|
||||
imdb_id=result[2],
|
||||
actors=result[3],
|
||||
release_date=result[4],
|
||||
plot=result[5],
|
||||
showtime=result[6],
|
||||
is_watched=result[7],
|
||||
created_at=result[8],
|
||||
updated_at=result[9],
|
||||
)
|
||||
|
||||
response_data = result.to_dict(orient="records")[0]
|
||||
response_data["id"] = str(response_data["id"])
|
||||
movie = Movie(**response_data)
|
||||
return movie
|
||||
|
||||
return
|
||||
|
||||
@@ -21,6 +21,9 @@ class Movie(BaseModel):
|
||||
release_date: datetime = Field(
|
||||
description="Release date of the movie", examples=["2022-11-05"]
|
||||
)
|
||||
poster_url: str = Field(
|
||||
description="Poster URL of the movie", examples=["https://..."]
|
||||
)
|
||||
showtime: datetime = Field(
|
||||
description="Showtime of the movie", examples=["2024-12-01"]
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user