Again, thank you for your efforts on this, and I hope this isn't user error, but after downgrading to MediaMonkey to 4.1.2, I made it further than with my other issue. but started getting the following error with Python 3.9
line 63, in get_normed_rating
if rating < 0:
TypeError: '<' not supported between instances of 'NoneType' and 'int'
After some unintelligent banging around, I changed (in MediaPlayer.py)
def get_normed_rating(self, rating):
if rating < 0:
rating = 0
return rating / self.rating_maximum
To
def get_normed_rating(self, rating):
if rating is None:
rating = 0
elif rating < 0:
rating = 0
return rating / self.rating_maximum
And was able to successfully update my ratings! I have found no other software on the web that can do this, so thanks again. I have no idea what the potential ramification of my edit are, but they seemed to work.
Unrelated, I also encountered your stated bug with python-plexapi not updating non-admin users. I poked around and found this issue, where they reference this code:
from plexapi.server import PlexServer
from plexapi.myplex import MyPlexAccount
import requests
PLEX_URL = "https://127.0.0.1:32400"
PLEX_TOKEN = "YOUR ADMIN TOKEN"
sess = requests.Session()
sess.verify = False
plex = PlexServer(PLEX_URL, PLEX_TOKEN, session=sess)
account = MyPlexAccount(token=PLEX_TOKEN)
user_account = account.user('Guest')
token = user_account.get_token(plex.machineIdentifier)
user_connection = PlexServer(PLEX_URL, token, session=sess)
print(user_connection)
# You can now use "user_connection" as you would the "PlexServer"
print([x for x in user_connection.library.section("Movies").search(unwatched=True)])
I don't know if it's actually relevant, but the discussion seemed to indicate that non-admin user access could be achieve this way (?) I didn't know enough on where to try the changes. I was guessing around line 267 of MediaPlayer.py, and then maybe something to do with:
token = user_account.get_token(plex.machineIdentifier)
But I'm out of my element. Thanks again. I'm already very happy to have my favorite songs easily identifiable in Plex.