├── static ├── images │ ├── favicon.ico │ └── no-poster.svg ├── css │ └── style.css └── js │ └── app.js ├── requirements.txt ├── config_example.py ├── templates ├── layout.html └── index.html ├── README.md ├── poster_scraper.py └── app.py /static/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCommishDeuce/TPDB_JellyfinPosterManager/HEAD/static/images/favicon.ico -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | Flask==2.3.3 2 | requests==2.31.0 3 | beautifulsoup4==4.12.2 4 | selenium==4.15.2 5 | webdriver-manager==4.0.1 6 | Werkzeug==2.3.7 7 | -------------------------------------------------------------------------------- /static/images/no-poster.svg: -------------------------------------------------------------------------------- 1 | 10 | -------------------------------------------------------------------------------- /config_example.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | class Config: 4 | # Flask Configuration 5 | SECRET_KEY = os.environ.get('SECRET_KEY') or 'dev-secret-key-change-in-production' 6 | DEBUG = True 7 | 8 | # Jellyfin Configuration 9 | JELLYFIN_URL = "" 10 | JELLYFIN_API_KEY = "" 11 | 12 | # TPDB Configuration 13 | TPDB_BASE_URL = "https://theposterdb.com" 14 | TPDB_SEARCH_URL_TEMPLATE = "https://theposterdb.com/search?term={query}" 15 | TPDB_EMAIL = "" 16 | TPDB_PASSWORD = "" 17 | 18 | # TMDB Configuration 19 | TMDB_API_KEY = "" 20 | 21 | # Application Settings 22 | MAX_POSTERS_PER_ITEM = 18 23 | TEMP_POSTER_DIR = "temp_posters" 24 | LOG_DIR = "logs" 25 | -------------------------------------------------------------------------------- /templates/layout.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 6 |15 | Found {{ items|length }} items. 16 | {% if server_info.version %} 17 | 18 | 19 | v{{ server_info.version }} 20 | 21 | {% endif %} 22 |
23 |
231 | Make sure your Jellyfin server is accessible and configured correctly.
232 |
233 | Server: {{ server_info.name }}
234 |
No posters were found for "${item.title}"
174 || Item | 433 |Status | 434 |Error | 435 |
|---|---|---|
| ${result.item_title || result.item_id} | 444 |445 | ${result.success ? 446 | 'Success' : 447 | 'Failed' 448 | } 449 | | 450 |${result.error || '-'} | 451 |