-
- Downloads
Add Jellyfin integration (#44401)
* Initial commit after scaffold setup * Add initial config flow * Create initial entity * Ready for testing * Can browse, no result yet * Further improvements. Browsing is working. Now need to work on proper stream URL * Two valid URLs. Do not play in HA * First working version for music * Add thumbnail * Includes Artist->Album hierarchy * Add sorting of artists, albums and tracks * Remove code for video libraries * Improved code styling * Optimize configuration flow * Fix unit tests for config flow * Fix import order * Conform to style requirements * Use empty string as media type for non playables * 100% code coverage config_flow * Type async_get_media_source * Final docsctring fix after rebase * Add __init__ and media_source files to .coveragerc * Fix testing issues after rebase * Fix string format issues and relative const import * Remove unused manifest entries * Raise ConfigEntry exceptions, not log errors * Upgrade dependency to avoid WARNING on startup * Change to builtin tuple and list (deprecation) * Log broad exceptions * Add strict typing * Further type fixes after rebase * Retry when cannot connect, otherwise fail setup * Remove unused CONFIG_SCHEMA * Enable strict typing checks * FlowResultDict -> FlowResult * Code quality improvements * Resolve mypy.ini merge conflict * Use unique userid generated by Jellyfin * Update homeassistant/components/jellyfin/config_flow.py Remove connection class from config flow Co-authored-by:Milan Meulemans <milan.meulemans@live.be> * Minor changes for additional checks after rebase * Remove title from string and translations * Changes wrt review * Fixes based on rebase and review suggestions * Move client initialization to separate file * Remove persistent_notification, add test const.py Co-authored-by:
Milan Meulemans <milan.meulemans@live.be>
Showing
- .coveragerc 2 additions, 0 deletions.coveragerc
- .strict-typing 1 addition, 0 deletions.strict-typing
- CODEOWNERS 1 addition, 0 deletionsCODEOWNERS
- homeassistant/components/jellyfin/__init__.py 36 additions, 0 deletionshomeassistant/components/jellyfin/__init__.py
- homeassistant/components/jellyfin/client_wrapper.py 94 additions, 0 deletionshomeassistant/components/jellyfin/client_wrapper.py
- homeassistant/components/jellyfin/config_flow.py 62 additions, 0 deletionshomeassistant/components/jellyfin/config_flow.py
- homeassistant/components/jellyfin/const.py 40 additions, 0 deletionshomeassistant/components/jellyfin/const.py
- homeassistant/components/jellyfin/manifest.json 13 additions, 0 deletionshomeassistant/components/jellyfin/manifest.json
- homeassistant/components/jellyfin/media_source.py 326 additions, 0 deletionshomeassistant/components/jellyfin/media_source.py
- homeassistant/components/jellyfin/strings.json 21 additions, 0 deletionshomeassistant/components/jellyfin/strings.json
- homeassistant/components/jellyfin/translations/en.json 21 additions, 0 deletionshomeassistant/components/jellyfin/translations/en.json
- homeassistant/generated/config_flows.py 1 addition, 0 deletionshomeassistant/generated/config_flows.py
- mypy.ini 11 additions, 0 deletionsmypy.ini
- requirements_all.txt 3 additions, 0 deletionsrequirements_all.txt
- requirements_test_all.txt 3 additions, 0 deletionsrequirements_test_all.txt
- tests/components/jellyfin/__init__.py 1 addition, 0 deletionstests/components/jellyfin/__init__.py
- tests/components/jellyfin/const.py 17 additions, 0 deletionstests/components/jellyfin/const.py
- tests/components/jellyfin/test_config_flow.py 164 additions, 0 deletionstests/components/jellyfin/test_config_flow.py
Loading
Please register or sign in to comment