python-plexapi
python-plexapi copied to clipboard
Refactor `Playable`
this is a draft only, find discussion here
Description
- transfer attributes to playable class which are required by the methods it provides
- make it an abstract class
- playable is its own file to avoid circular import of
mediain tobase
Fixes #1290
Checklist for affected classes
- [ ] Track
- [ ] Photo
- [ ] Playlist
- [ ] Movie
- [ ] Episode
- [ ] Clip
Type of change
Please delete options that are not relevant.
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] This change requires a documentation update
Checklist:
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have added or updated the docstring for new or existing methods
- [ ] I have added tests when applicable
Playable should be further broken down in to AudioPlayable and VideoPlayable.
The lyric/subtitle methods are currently in Audio and Video but they only apply to Track and Movie/Episode.
Ref: #1303, #1305