Releases: bexem/PlexCache
PlexCache v1.3.1
Changelog
Fixed
- Watched Media Expiration setup bug: Fixed an issue that would throw an error when setting up the settings.json file with the setup as it was not asking (or automatically set a default value) the expiration time for the cache file of the watched media.
Previous release changelog:
Note: This update requires a new dependency, please install "requests" via pip!
Added
Improved User Library Access Check: Enhanced the user access control mechanism to first verify if a user has access to a particular library before fetching media from it. This update optimizes the process by skipping unnecessary iterations for libraries where the user lacks access.
Webhook Notifications: Introduced webhook notifications to facilitate real-time error and critical event monitoring. By default, it supports Discord payload. However, you can easily modify the
webhook_headers
variable in the script to suit your needs. The notification level defaults to errors and critical, but you can modify this by changing thewebhook_level
variable.
This feature requires a new dependency, please install "requests" via pip!Improved
Logging and Output During Active Sessions: Enhanced the logging mechanism to provide more detailed information during active sessions. It now includes the title and episode of a show (if applicable) and logs the actual file of interest.
Logging Level Control: Introduced a
log_level
variable to provide more control over the logging mechanism. It allows users to set the desired logging level, defaulting to 'info' level.Fixed
Watchlist and Watched Media Bug: Fixed an issue that could cause errors with the watchlist and watched media. The script now caches already edited paths, which resolves the latent bug.
Concurrent Move Issues: Addressed several bugs that could occur during concurrent media moves, enhancing the script's overall reliability.
PlexCache SymLink v1.3.1
Changelog
Fixed
- Watched Media Expiration setup bug: Fixed an issue that would throw an error when setting up the settings.json file with the setup as it was not asking (or automatically set a default value) the expiration time for the cache file of the watched media.
Previous release changelog:
Note: This update requires a new dependency, please install "requests" via pip!
Added
- Symbolic Link: Implemented the use of symbolic links to expand compatibility across various operating systems. Initially designed for unRAID, which employs a FUSE system for seamless file movement between disks and cache, the script now supports other environments through the use of symbolic links. (Untested feature)
- Improved User Library Access Check: Enhanced the user access control mechanism to first verify if a user has access to a particular library before fetching media from it. This update optimizes the process by skipping unnecessary iterations for libraries where the user lacks access.
- Webhook Notifications: Introduced webhook notifications to facilitate real-time error and critical event monitoring. By default, it supports Discord payload. However, you can easily modify the
webhook_headers
variable in the script to suit your needs. The notification level defaults to errors and critical, but you can modify this by changing thewebhook_level
variable.
This feature requires a new dependency, please install "requests" via pip!Improved
Logging and Output During Active Sessions: Enhanced the logging mechanism to provide more detailed information during active sessions. It now includes the title and episode of a show (if applicable) and logs the actual file of interest.
Logging Level Control: Introduced a
log_level
variable to provide more control over the logging mechanism. It allows users to set the desired logging level, defaulting to 'info' level.Fixed
Watchlist and Watched Media Bug: Fixed an issue that could cause errors with the watchlist and watched media. The script now caches already edited paths, which resolves the latent bug.
Concurrent Move Issues: Addressed several bugs that could occur during concurrent media moves, enhancing the script's overall reliability.
More on symbolic links:
I have implemented symbolic links to enhance its compatibility with various operating systems. While the script was initially designed for unRAID, which utilizes a FUSE system enabling seamless file movement between disks and cache, I wanted to ensure its functionality across different systems.
Symbolic links are a type of file that acts as a reference or shortcut to another file or directory in the file system. Instead of physically copying or moving files, symbolic links create a link or pointer that points to the original file's location. This approach allows the script to "move" files without actually duplicating them, ensuring efficiency and avoiding unnecessary storage usage.
By incorporating symbolic links, the script becomes adaptable to operating systems that do not employ a FUSE system like unRAID. It provides a versatile solution for transferring files between disks and cache, maintaining compatibility across a wider range of setups and ensuring a smooth experience for users.
I eagerly welcome any feedback regarding this new feature.
PlexCache v1.3
Changelog
Note: This update requires a new dependency, please install "requests" via pip!
Added
-
Improved User Library Access Check: Enhanced the user access control mechanism to first verify if a user has access to a particular library before fetching media from it. This update optimizes the process by skipping unnecessary iterations for libraries where the user lacks access.
-
Webhook Notifications: Introduced webhook notifications to facilitate real-time error and critical event monitoring. By default, it supports Discord payload. However, you can easily modify the
webhook_headers
variable in the script to suit your needs. The notification level defaults to errors and critical, but you can modify this by changing thewebhook_level
variable.
This feature requires a new dependency, please install "requests" via pip!
Improved
-
Logging and Output During Active Sessions: Enhanced the logging mechanism to provide more detailed information during active sessions. It now includes the title and episode of a show (if applicable) and logs the actual file of interest.
-
Logging Level Control: Introduced a
log_level
variable to provide more control over the logging mechanism. It allows users to set the desired logging level, defaulting to 'info' level.
Fixed
-
Watchlist and Watched Media Bug: Fixed an issue that could cause errors with the watchlist and watched media. The script now caches already edited paths, which resolves the latent bug.
-
Concurrent Move Issues: Addressed several bugs that could occur during concurrent media moves, enhancing the script's overall reliability.
PlexCache v1.2.6.1
Release Notes - Version 1.2.6.1
- Fixed a bug introduced in the previous release, where the unraid variable was not handled appropriately.
Release Notes - Version 1.2.6
- Updated the script to remove deprecated settings when loading settings from the settings file.
- Revised the logic of the "skip" setting, renaming it to "exit_if_active_session" for improved clarity and ease of configuration.
- If "exit_if_active_session" is set to false, the script will skip the media currently being played.
- If "exit_if_active_session" is set to true, the script will exit.
- The script now automatically loads the previous value of the "skip" setting and adjusts it accordingly during runtime, eliminating the need for users to manually update the settings file.
- The log file will now always provide a detailed account of each script execution compared to the console print statements. This includes listing out files that are fetched, edited, or moved.
- If the log level is set to 'debug', the script will refrain from moving files but will incorporate detailed connection-related messages from Plex (via plexapi) in the log file. This additional information will be invaluable for debugging any potential issues.
- Added comprehensive comments throughout the codebase to enhance readability and ensure better understanding for everyone, including my future self (because we all know the struggle of deciphering our own old code, just like trying to read our own handwriting).
For a more extensive changelog, please refer to the previous release (v1.2.5).
PlexCache SymLink v1.3
Release Notes - Version 1.3 SymLink
Note: This update requires a new dependency, please install "requests" via pip!
Added
- Symbolic Link: Implemented the use of symbolic links to expand compatibility across various operating systems. Initially designed for unRAID, which employs a FUSE system for seamless file movement between disks and cache, the script now supports other environments through the use of symbolic links. (Untested feature)
- Improved User Library Access Check: Enhanced the user access control mechanism to first verify if a user has access to a particular library before fetching media from it. This update optimizes the process by skipping unnecessary iterations for libraries where the user lacks access.
- Webhook Notifications: Introduced webhook notifications to facilitate real-time error and critical event monitoring. By default, it supports Discord payload. However, you can easily modify the
webhook_headers
variable in the script to suit your needs. The notification level defaults to errors and critical, but you can modify this by changing thewebhook_level
variable.
This feature requires a new dependency, please install "requests" via pip!
Improved
-
Logging and Output During Active Sessions: Enhanced the logging mechanism to provide more detailed information during active sessions. It now includes the title and episode of a show (if applicable) and logs the actual file of interest.
-
Logging Level Control: Introduced a
log_level
variable to provide more control over the logging mechanism. It allows users to set the desired logging level, defaulting to 'info' level.
Fixed
-
Watchlist and Watched Media Bug: Fixed an issue that could cause errors with the watchlist and watched media. The script now caches already edited paths, which resolves the latent bug.
-
Concurrent Move Issues: Addressed several bugs that could occur during concurrent media moves, enhancing the script's overall reliability.
More on symbolic links:
I have implemented symbolic links to enhance its compatibility with various operating systems. While the script was initially designed for unRAID, which utilizes a FUSE system enabling seamless file movement between disks and cache, I wanted to ensure its functionality across different systems.
Symbolic links are a type of file that acts as a reference or shortcut to another file or directory in the file system. Instead of physically copying or moving files, symbolic links create a link or pointer that points to the original file's location. This approach allows the script to "move" files without actually duplicating them, ensuring efficiency and avoiding unnecessary storage usage.
By incorporating symbolic links, the script becomes adaptable to operating systems that do not employ a FUSE system like unRAID. It provides a versatile solution for transferring files between disks and cache, maintaining compatibility across a wider range of setups and ensuring a smooth experience for users.
I eagerly welcome any feedback regarding this new feature.
PlexCache v1.2.6
Release Notes - Version 1.2.6
- Updated the script to remove deprecated settings when loading settings from the settings file.
- Revised the logic of the "skip" setting, renaming it to "exit_if_active_session" for improved clarity and ease of configuration.
- If "exit_if_active_session" is set to false, the script will skip the media currently being played.
- If "exit_if_active_session" is set to true, the script will exit.
- The script now automatically loads the previous value of the "skip" setting and adjusts it accordingly during runtime, eliminating the need for users to manually update the settings file.
- The log file will now always provide a detailed account of each script execution compared to the console print statements. This includes listing out files that are fetched, edited, or moved.
- If the log level is set to 'debug', the script will refrain from moving files but will incorporate detailed connection-related messages from Plex (via plexapi) in the log file. This additional information will be invaluable for debugging any potential issues.
- Added comprehensive comments throughout the codebase to enhance readability and ensure better understanding for everyone, including my future self (because we all know the struggle of deciphering our own old code, just like trying to read our own handwriting).
For a more extensive changelog, please refer to the previous release (v1.2.5).
PlexCache v1.2.5
Release Notes - Version 1.2.5
New Changes (1.2.5)
- Bug fix: Addressed an issue that prevented the movement of watched media back to the array.
- Code refactoring: Improved the fetching process for ondeck media.
- Performance enhancement: Introduced multithreaded fetching for OnDeck, watchlist, and watched media, resulting in faster operation in multiuser environments.
Improvements w/ (1.2.1)
- Enhanced interoperability between Windows and Linux paths.
- The script now automatically converts paths based on the system it is running on.
- Windows drive/disk is automatically saved when executed on a POSIX machine and reused when necessary.
- Default drive/disk set to C:\ for POSIX machines running on a Windows system (modifiable in plexcache script or directly in the settings file).
- Automatic detection of Unraid platform during setup process.
- Added flexibility to change the location for storing log files (check variable in plexcache file).
- Implemented a new naming scheme to improve visibility of script files.
- Enhanced error handling in the setup script.
- Automatic server detection for Plex during setup to ensure accurate path saving.
- Added options to skip users specifically for watchlist and/or onDeck, giving more control to the user.
- Fixed bug related to user skipping in watchlist; now fully resolved.
- Improved caching system for watched media, minimizing unnecessary data retrieval.
- Removed expiration/age of cache file as it is no longer used.
- Added comments on both scripts to explain their functionality.
- Removed duplicated function.
Note: Please refer to the plexcache script or settings file to make specific changes or edits.
Thank you for using my script!
PlexCache v1.2.1
Release Notes - Version 1.2.1
New Changes (1.2.1)
- Added comments on both scripts to explain their functionality.
- Removed duplicated function.
Improvements (1.2.0)
- Enhanced interoperability between Windows and Linux paths.
- The script now automatically converts paths based on the system it is running on.
- Windows drive/disk is automatically saved when executed on a POSIX machine and reused when necessary.
- Default drive/disk set to C:\ for POSIX machines running on a Windows system (modifiable in plexcache script or directly in the settings file).
- Automatic detection of Unraid platform during setup process.
- Added flexibility to change the location for storing log files (check variable in plexcache file).
- Implemented a new naming scheme to improve visibility of script files.
- Enhanced error handling in the setup script.
- Automatic server detection for Plex during setup to ensure accurate path saving.
- Added options to skip users specifically for watchlist and/or onDeck, giving more control to the user.
- Fixed bug related to user skipping in watchlist; now fully resolved.
- Improved caching system for watched media, minimizing unnecessary data retrieval.
- Removed expiration/age of cache file as it is no longer used.
Note: Please refer to the plexcache script or settings file to make specific changes or edits.
Thank you for using my script!
PlexCache v1.2
Release Notes - Version 1.2
Improvements
- Enhanced interoperability between Windows and Linux paths.
- The script now automatically converts paths based on the system it is running on.
- Windows drive/disk is automatically saved when executed on a POSIX machine and reused when necessary.
- Default drive/disk set to C:\ for POSIX machines running on a Windows system (modifiable in plexcache script or directly in the settings file).
- Automatic detection of Unraid platform during setup process.
- Added flexibility to change the location for storing log files (check variable in plexcache file).
- Implemented a new naming scheme to improve visibility of script files.
- Enhanced error handling in the setup script.
- Automatic server detection for Plex during setup to ensure accurate path saving.
- Added options to skip users specifically for watchlist and/or onDeck, giving more control to the user.
- Fixed bug related to user skipping in watchlist; now fully resolved.
- Improved caching system for watched media, minimizing unnecessary data retrieval.
- Removed expiration/age of cache file as it is no longer used.
Note: Please refer to the plexcache script or settings file to make specific changes or edits.
Thank you for using my script!
PlexCache v1.1
Updated version with better handling of windows and linux interoperability paths.