====== Jellyfin ====== ===== Change items ratings ===== import requests import json import time # create a formatted string of the Python JSON object def jprint(obj): text = json.dumps(obj, sort_keys=True, indent=4) print(text) ip = "***********" user_id = "***************" token = "**************" music_folder_id = "**************" # get all items url_get_all = 'http://'+ ip+ ':8096/Items' params_get_all = { 'parentId': music_folder_id, 'recursive': True} headers = { 'Authorization' : 'MediaBrowser Token="'+ token+'"', 'Content-Type': 'application/json'} response_get = requests.get(url_get_all, params=params_get_all, headers=headers) json_result = response_get.json() url_get_item = 'http://'+ ip+ ':8096/Users/'+ user_id+ '/Items' # gt all items list (not all the fields are received) for item in json_result['Items']: if 'IsFolder' in item: if item['IsFolder']: # get individual item (to get all fields) response_get_individual = requests.get(url_get_item+'/'+item['Id'], params=[], headers=headers) if response_get_individual.status_code == 200: json_result_individual = response_get_individual.json() json_result_individual['OfficialRating'] = "Tous Publics" # send item back url_post = url_get_all+'/'+item['Id'] response_post = requests.post(url_post, params=[], data=json.dumps(json_result_individual), headers=headers) if response_post.status_code != 204: print('---------------') print('Id = '+ item['Id']) print('Name = '+ item['Name']) print(response_post.status_code) print(response_post.reason) time.sleep(0.2)