Skip to content

Conversation

@JonnyWong16
Copy link
Collaborator

@JonnyWong16 JonnyWong16 commented Oct 21, 2025

Description

Add ability to select/lock/unlock logos and delete resources.

Type of change

Please delete options that are not relevant.

  • New feature (non-breaking change which adds functionality)
  • 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

@JonnyWong16 JonnyWong16 force-pushed the feature/delete_resources branch 2 times, most recently from b6ea98d to 03840db Compare October 22, 2025 01:26
@JonnyWong16 JonnyWong16 force-pushed the feature/delete_resources branch from 1589e28 to 96e2778 Compare October 22, 2025 05:15
@JonnyWong16 JonnyWong16 requested a review from Copilot October 22, 2025 05:39
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds comprehensive logo support to Plex objects, enabling logo selection, locking/unlocking, and deletion capabilities. The implementation extends existing image management patterns to logos and adds resource deletion methods.

Key Changes:

  • Implemented logo locking/unlocking functionality (previously marked as not implemented)
  • Added deleteLogo(), deleteArt(), deletePoster(), and deleteTheme() methods for resource cleanup
  • Extended test coverage to include logo operations across all relevant media types

Reviewed Changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
plexapi/mixins.py Core implementation: Added delete methods for images/themes, implemented logo locking, added logo property, and updated setLogo() from raising NotImplementedError to selecting logos
plexapi/audio.py Added LogoMixin and LogoUrlMixin to Artist, Album, and Track classes
plexapi/collection.py Added LogoMixin to Collection class
plexapi/photo.py Added LogoMixin and LogoUrlMixin to Photoalbum and Photo classes
plexapi/playlist.py Added LogoMixin to Playlist class
tests/test_mixins.py Added test helpers for logo operations and delete functionality validation
tests/test_video.py Added logo test coverage for Movie, Show, Season, and Episode; uncommented previously disabled Episode art test
tests/test_audio.py Added logo test coverage for Artist, Album, and Track
tests/test_collection.py Added logo test coverage for Collection
tests/test_photo.py Added logo test coverage for Photoalbum
tests/test_playlist.py Added logo test coverage for Playlist

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant