58 lines
2.1 KiB
Python
58 lines
2.1 KiB
Python
import os
|
|
import yaml
|
|
import requests
|
|
|
|
supported_sms_services = ['telnyx']
|
|
|
|
|
|
radarr_host = os.environ['RADARR_HOST']
|
|
radarr_api_key = os.environ['RADARR_API_KEY']
|
|
try:
|
|
home_domain = os.environ['HOME_DOMAIN']
|
|
except:
|
|
home_domain = None
|
|
api_number = os.environ['API_NUMBER']
|
|
val_nums = os.environ['VALID_SENDERS']
|
|
root_folder_path = os.environ['ROOT_FOLDER_PATH']
|
|
sms_service = os.environ['SMS_SERVICE']
|
|
if sms_service not in supported_sms_services:
|
|
print(f'{sms_service} is not a supported SMS service. Please choose from the supported list: {supported_sms_services}')
|
|
exit()
|
|
sms_api_key = os.environ['SMS_API_KEY']
|
|
|
|
headers = {
|
|
'Content-Type': 'application/json',
|
|
'X-Api-Key': radarr_api_key
|
|
}
|
|
|
|
numbers_responses = {
|
|
'1': 1, 'one': 1, '1.': 1,
|
|
'2': 2, 'two': 2, '2.': 2,
|
|
'3': 3, 'three': 3, '3.': 3
|
|
}
|
|
|
|
# Open the quality_profile_id.yaml file and see if the quality_profile_id is set
|
|
try:
|
|
with open('/data/quality_profile_id.yaml', 'r') as f:
|
|
file = yaml.load(f, Loader=yaml.FullLoader)
|
|
try:
|
|
quality_profile_id = int(file['quality_profile_id'])
|
|
except:
|
|
print('quality_profile_id is not set or is invalid. Please edit the quality_profile_id.yaml file and add the quality_profile_id from one of the integer values listed within the file')
|
|
exit()
|
|
except FileNotFoundError:
|
|
# Create the quality_profile_id.yaml file
|
|
with open('/data/quality_profile_id.yaml', 'w') as f:
|
|
quality_profile_id = None
|
|
|
|
if not quality_profile_id:
|
|
print('No quality_profile_id found. Please edit the quality_profile_id.yaml file and add the quality_profile_id from one of the integer values listed within the file')
|
|
data = requests.get(f'{radarr_host}/api/v3/qualityprofile', headers=headers).json()
|
|
# Open quality_profile_id.yaml and write each profile as a comment to the file
|
|
with open('/data/quality_profile_id.yaml', 'w') as f:
|
|
f.write('# Quality Profile ID\'s\n')
|
|
for entry in data:
|
|
f.write(f'# {entry["id"]} - {entry["name"]}\n')
|
|
|
|
f.write("quality_profile_id: ")
|
|
exit() |