import urllib.parse import requests import os # Use environment variables with default values paramDmsId = os.getenv("PARAM_DMS_ID", "569") paramUPC = os.getenv("PARAM_UPC", "8445162694995") paramMobile = os.getenv("PARAM_MOBILE", "No") paramServer = os.getenv("PARAM_SERVER", "webservices.theorchard.com") paramClipCode = f"{paramUPC}_1_1_1" paramType = urllib.parse.quote(os.getenv("PARAM_TYPE", "complete_album")) paramFormat = os.getenv("PARAM_FORMAT", "DDEX v. 3.8") def construct_url( paramDmsId, paramUPC, paramMobile, paramServer, paramType, paramFormat ): formatMap = { "DDEX v. 3.8": "ddex38", "DDEX v. 3.7": "ddex37", "DDEX v. 3.4": "ddex34", "DDEX v. 3.2": "ddex32", "[UNDER DEVELOPMENT] DDEX RDR 1.4": "ddexrdr", "iTunes Music": "itunes", "iTunes Film": "itunesfilm", "Orchard 1.5": "orchard", "Custom XML (Frmwk 2)": "orchard_old", "Custom XML (Frmwk 3)": "orchard_new", "Custom Film XML (Frmwk 3)": "orchard_new_film", "Custom TV XML (Frmwk 3)": "orchard_new_tv", } urlArray = { "ddex38": f"generate/dms_id/{paramDmsId}/storename/ddexern/version/3.8.0", "ddex37": f"generate/dms_id/{paramDmsId}/storename/ddexern/version/3.7.0", "ddex34": f"generate/dms_id/{paramDmsId}/storename/ddexern/version/3.4.0", "ddex32": f"generate/dms_id/{paramDmsId}/storename/ddexern/version/1.32.0", "ddexrdr": f"generate/dms_id/{paramDmsId}/storename/ddexrdr/version/1.4", "itunes": "generate/dms_id/1/subformat/music", "itunesfilm": "generate/dms_id/1/subformat/film", "orchard": f"generate/dms_id/{paramDmsId}/storename/orchard/version/1.5", "custom_old": f"wg_metadata.php/dms_id/{paramDmsId}", "custom_new": f"generate/dms_id/{paramDmsId}", "custom_new_film": f"generate/dms_id/{paramDmsId}/subformat/film", "custom_new_tv": f"generate/dms_id/{paramDmsId}/subformat/tv", } param_clip_code = f"{paramUPC}_1_1_1" mobile_link = ( f"/mobile/1/clip_code/{param_clip_code}" if paramMobile == "Yes" else "" ) xml_link = f"https://{paramServer}/oa/metadata/{urlArray[formatMap[paramFormat]]}/returnErr/1/xml_only/0/delivery_type/{paramType}/upc/{paramUPC}{mobile_link}" return xml_link try: xml_link = construct_url(paramDmsId, paramUPC, paramMobile, paramServer, paramType, paramFormat) # Capture the returned xml_link response = requests.get(xml_link) print(response.text) except Exception as e: print(f"An error occurred: {e}")