python-plexapi icon indicating copy to clipboard operation
python-plexapi copied to clipboard

Refactor `Playable`

Open Dr-Blank opened this issue 2 years ago • 1 comments

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 media in to base

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

Dr-Blank avatar Nov 16 '23 01:11 Dr-Blank

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

JonnyWong16 avatar Nov 21 '23 01:11 JonnyWong16