-
-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create a Web Interface #311
Labels
Milestone
Comments
CollinHeist
added a commit
that referenced
this issue
Mar 11, 2023
Will be part of /api/available API endpoint in #311
CollinHeist
added a commit
that referenced
this issue
Mar 21, 2023
CollinHeist
added a commit
that referenced
this issue
Mar 21, 2023
CollinHeist
added a commit
that referenced
this issue
Mar 21, 2023
- Define parts of the HTML files required for each major content endpoint - Part of #311
CollinHeist
added a commit
that referenced
this issue
Mar 21, 2023
CollinHeist
added a commit
that referenced
this issue
Mar 21, 2023
- Use dictionaries instead of lists for season titles and extras - Remove image source priority column - Use None as default episode text format - #311
CollinHeist
added a commit
that referenced
this issue
Mar 21, 2023
Validate new series form on homepage before submitting API that will fail #311
CollinHeist
added a commit
that referenced
this issue
Mar 21, 2023
Should not rely on global preferences object, #311 will pass the Preferences directly into the BaseCardType.__init__()
CollinHeist
added a commit
that referenced
this issue
Mar 21, 2023
#311 Plex sync (and other media server syncs) will permit exclusion by library and tag (not just inclusion)
CollinHeist
added a commit
that referenced
this issue
Mar 21, 2023
CollinHeist
added a commit
that referenced
this issue
Mar 21, 2023
CollinHeist
added a commit
that referenced
this issue
Mar 21, 2023
Part of updated Sonarr sync in #311 will require the Preferences to determine the library from a Sonarr path (as volumes are tied to the connection)
CollinHeist
added a commit
that referenced
this issue
Mar 21, 2023
CollinHeist
added a commit
that referenced
this issue
Mar 21, 2023
CollinHeist
added a commit
that referenced
this issue
Mar 22, 2023
Update PlexInterface to use Plex as an episode data source. Part of #311
CollinHeist
added a commit
that referenced
this issue
Mar 22, 2023
Show error message details in toast when connection API request fails. Part of #311
CollinHeist
added a commit
that referenced
this issue
Mar 22, 2023
- Properly redirect to home page when series is deleted - Submit edit series PATCH as application/json encoding - Show media server libraries if library is set or if media server is enabled - #311
CollinHeist
added a commit
that referenced
this issue
Mar 22, 2023
Create Statistics router with endpoints: - GET /api/statistics/ - GET /api/statistics/series-count - GET /api/statistics/series/{id} #311
CollinHeist
added a commit
that referenced
this issue
Mar 22, 2023
Part of #311, modify EmbyInterface to raise HTTPExceptions on failures (not exit(1)). No longer use global info_set objects
CollinHeist
added a commit
that referenced
this issue
Mar 22, 2023
Submit new syncs with application/json instead of form encoding. #311
CollinHeist
added a commit
that referenced
this issue
Mar 22, 2023
Create separate pydantic schemas/models for each sync. These include: - NewBaseSync (base for all newly added Syncs) - NewMediaServerSync (base for newly added media server syncs) - NewEmbySync, NewJellyfinSync, NewPlexSync, and NewSonarrSync which are interface-specific models for creating a sync for that type - Variations of ExistingBaseSync for return models of existing Sync objects that include ID's and interface assignments - Part of #311
CollinHeist
added a commit
that referenced
this issue
Mar 22, 2023
- Create /api/sync router with most sync functionality implemented - Ability to create/delete syncs for all supported sources via /api/sync/{interface}/new POST and /api/sync/{id} DELETE endpoints respectively - Initiating a sync is done via /api/sync/{id} POST endpoint. This queries the assigned interface (if possible) and adds to the SQLAlchemy DB. It then queues background tasks (in separate threads) to assign database ID's and download posters for the newly added series. Syncing from Emby, Plex, and Sonarr are implemented completely. - Major part of #311
CollinHeist
added a commit
that referenced
this issue
Mar 22, 2023
Part of #311. Part of the /api/series endpoint implementation
CollinHeist
added a commit
that referenced
this issue
Mar 22, 2023
- Add /api/connection/{connection}/toggle endpoint to enable/disable connection to Emby, Jellyfin, Plex, Sonarr, and TMDb - Add Jellyfin to the SupportedConnection Literal - Part of #311
CollinHeist
added a commit
that referenced
this issue
Mar 22, 2023
- Update Emby.get_all_series() to work with Web UI arguments - Add filtering by libraries (excluded libraries) - Filtering by excluded tags not currently implemented (not a Query param to /Items API endpoint) - No longer return path to media (not used in Web UI) - Part of #311
CollinHeist
added a commit
that referenced
this issue
May 4, 2023
- Major part of #311 - Create TautulliInterface2 (updated version of TautulliInterface class) which creates a single notification agent triggering a POST webhook to TCM on new content or watched triggers - Create /api/connections/tautulli/check and /api/connections/tautulli/integrate API endpoints to check for existing and create new agents on Tautulli - Still needs to be implemented on the UI, but testing the new agent and it is _very_ fast to trigger card updates, within 3 seconds for a card remake/reload
CollinHeist
added a commit
that referenced
this issue
May 5, 2023
- Major part of #311 - Add "monitored" attribute to Series SQL table and Pydantic models - Skip unmonitored Series in scheduled tasks for refreshing episode data and logo downloading - Add monitored toggle icon to the Series HTML page - Create /api/series/{series_id}/toggle-monitor API endpoint to toggle a Series' monitored attribute ( can also be done via series config PATCH endpoint)
CollinHeist
added a commit
that referenced
this issue
May 6, 2023
- Part of #311 - Create scheduled task to download source images (defaults to 4h)
CollinHeist
added a commit
that referenced
this issue
May 6, 2023
- Major part of #311 - Create Tautulli agent form on the Connections page (separate modal) which can be used to create or check existence of the TCM agent
CollinHeist
added a commit
that referenced
this issue
May 8, 2023
- Major part of #311 - Change source image API endpoints from GET to POST (more appropriate) - Create GET /api/sources/series/{series_id} and /api/sources/episode/{episode_id} endpoints to get the existing source details for a Series/Episode - Add imagesize module import as this is VERY fast to get image sizes (especially compares to ImageMagick)
CollinHeist
added a commit
that referenced
this issue
May 8, 2023
- Major part of #311 - Add list of source images to Files tab in Series HTML page - Implement per-Episode source image querying via UI
CollinHeist
added a commit
that referenced
this issue
May 9, 2023
- Major part of #311 - Periodically load all title cards into their associated media servers (Emby/Jellyfin/Plex) at schedulable interval (default 4 hour interval)
CollinHeist
added a commit
that referenced
this issue
May 10, 2023
- Major part of #311 - Create /api/sources/episode/{episode_id}/browse API endpoint to get list of all TMDb source images for a given Episode. - Add clickable TMDb logo SVG to launch a source image browser for viewing and overriding images per-Episode. - Might want to modify endpoint and HTML to show the image resolution as well
CollinHeist
added a commit
that referenced
this issue
May 11, 2023
- Major part of #311 - Create /api/import/ API router to handle YAML import endpoints - Create /api/import/template API endpoint to import Templates via YAML
CollinHeist
added a commit
that referenced
this issue
May 12, 2023
- Major part of #311 - Create /api/import/fonts API endpoint to import font yaml
CollinHeist
added a commit
that referenced
this issue
May 12, 2023
- Major part of #311 - Create /api/import/series to import Series YAML and create Series objects with matching config - Also remove erroneous source_directory from BaseSeries Pydantic model
CollinHeist
added a commit
that referenced
this issue
May 13, 2023
Part of #311. Implement endpoints to import global options (from preferences), and Emby settings (not Sync, that'll be separate)
CollinHeist
added a commit
that referenced
this issue
May 14, 2023
CollinHeist
added a commit
that referenced
this issue
May 14, 2023
- Major part of #311. - Add Alembic revision file to initialize the database - Add Alembic script.py.mako and env/config files for migration development - Actual development will need to be comitted along with the new app-main.py
CollinHeist
added a commit
that referenced
this issue
May 17, 2023
- Major part of #311 - Add Template filter condition creation/editing to the Template page within the UI
CollinHeist
added a commit
that referenced
this issue
May 17, 2023
- Part of #311. - Check for new releases every 12 hours - Add info message to the Settings page when a new release is available
CollinHeist
added a commit
that referenced
this issue
May 19, 2023
- Major part of #311 - Change Alembic migration script generation to render as batch by default - Use ORM relationships for iterating through related Series, Episodes, Syncs, Templates, etc. - Add map tables for many <-> many relationships between Templates and other tables - Correct UpdateSync model to use UNDEFINED definitions instead of None - Update home, sync, and series pages and all endpoints/code to allow Series and Episodes to have multiple Templates - The effective Template is the first assigned Template whose conditions are all met for a given Series and/or Episode - Change default Alembic migration script to initialize with updated relationship-driven tables
CollinHeist
added a commit
that referenced
this issue
May 20, 2023
- Major part of #311 - Add scheduled task to refresh remote card types every 24 hours - Handle remote card type identifiers in title card creation
CollinHeist
added a commit
that referenced
this issue
May 22, 2023
- Part of #311 - Fix Template identification when importing Sync or Series YAML - Fix card deletion API endpoint returns - Refresh episode data when new episode is given via /key API endpoint - Add title card importing for a series at /api/import/series/{series_id}/cards - Handle empty returns from TMDb image browser endpoint - Automatically bypass blacklist when manually browsing images via TMDb source image endpoint - Create basic YAML import HTML page - Handle Plex season keys in /key API endpoint
CollinHeist
added a commit
that referenced
this issue
May 22, 2023
- Major part of #311 - Add inline dropdown "form" to load cards for a given Series from a given directory
blueprint_multiple_previews.mp4 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This will be a pretty huge endeavor, but ideally TCM should move away from YAML files and command-line scripts and be interacted with via a web UI/interface, like all the -arr apps. It's derivative, but I think the Sonarr interface is good inspiration for a general layout.
I think the server-side API should using FastAPI to handle the requests and HTML content delivery.
Outstanding Tasks
Add image source priority to Templates(decided this is not necessary and adds needless complication)preferred_title
Maybe import Episode data, although this would be really nicheToo nicheCreate alternate views (table view?) for series on main pagePutting on hold until I can think of a good layoutLow Priority Tasks
Documentation tasks should be tracked in #339
The text was updated successfully, but these errors were encountered: