Spaces:
Sleeping
Sleeping
Update src/streamlit_app.py
Browse files- src/streamlit_app.py +8 -6
src/streamlit_app.py
CHANGED
|
@@ -98,14 +98,16 @@ def filter_content(content_list, filters):
|
|
| 98 |
if filters['content_type'] and content.get('type') != filters['content_type']:
|
| 99 |
continue
|
| 100 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 101 |
# Rating filter
|
| 102 |
if filters['ratings'] and content.get('rating') not in filters['ratings']:
|
| 103 |
continue
|
| 104 |
|
| 105 |
-
# Genre filter
|
| 106 |
-
if filters['genres'] and not any(genre.strip() in content.get('listed_in', '') for genre in filters['genres']):
|
| 107 |
-
continue
|
| 108 |
-
|
| 109 |
# Release year filter
|
| 110 |
try:
|
| 111 |
release_year = int(content.get('release_year', 0))
|
|
@@ -125,11 +127,11 @@ def filter_content(content_list, filters):
|
|
| 125 |
continue
|
| 126 |
|
| 127 |
# Director filter (optional)
|
| 128 |
-
if filters['director'] and filters['director'].lower() not in content.get('director', '').lower():
|
| 129 |
continue
|
| 130 |
|
| 131 |
# Cast filter (optional)
|
| 132 |
-
if filters['cast'] and filters['cast'].lower() not in content.get('cast', '').lower():
|
| 133 |
continue
|
| 134 |
|
| 135 |
filtered.append(content)
|
|
|
|
| 98 |
if filters['content_type'] and content.get('type') != filters['content_type']:
|
| 99 |
continue
|
| 100 |
|
| 101 |
+
# Genre filter - check if ALL selected genres are in the content's genres
|
| 102 |
+
if filters['genres']:
|
| 103 |
+
content_genres = [g.strip() for g in content.get('listed_in', '').split(',')]
|
| 104 |
+
if not all(genre in content_genres for genre in filters['genres']):
|
| 105 |
+
continue
|
| 106 |
+
|
| 107 |
# Rating filter
|
| 108 |
if filters['ratings'] and content.get('rating') not in filters['ratings']:
|
| 109 |
continue
|
| 110 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 111 |
# Release year filter
|
| 112 |
try:
|
| 113 |
release_year = int(content.get('release_year', 0))
|
|
|
|
| 127 |
continue
|
| 128 |
|
| 129 |
# Director filter (optional)
|
| 130 |
+
if filters['director'] and filters['director'].lower() not in (content.get('director', '') or '').lower():
|
| 131 |
continue
|
| 132 |
|
| 133 |
# Cast filter (optional)
|
| 134 |
+
if filters['cast'] and filters['cast'].lower() not in (content.get('cast', '') or '').lower():
|
| 135 |
continue
|
| 136 |
|
| 137 |
filtered.append(content)
|