Describe the problem
When testing the MSCompanyPortal download recipe relating to #463 there was an issue caused by an errant line break in the Location value that the Microsoft feed had.
Preferences contents
N/A
AutoPkg output
{'Output': {'additional_pkginfo': {'installs': [{'CFBundleVersion': '53.2307220.002',
'path': '/Applications/Company '
'Portal.app',
'type': 'application'}],
'minimum_os_version': '10.15'},
'minimum_os_version': '10.15',
'url': '\n'
' '
'https://officecdnmac.microsoft.com/pr/C1297A47-86C4-4C1F-97FA-950631F94777/MacAutoupdate/CompanyPortal_5.2307.1-Upgrade.pkg',
'version': '53.2307220.002'}}
URLDownloader
{'Input': {'filename': 'CompanyPortal-53.2307220.002.pkg',
'url': '\n'
' '
'https://officecdnmac.microsoft.com/pr/C1297A47-86C4-4C1F-97FA-950631F94777/MacAutoupdate/CompanyPortal_5.2307.1-Upgrade.pkg'}}
URLDownloader: No value supplied for prefetch_filename, setting default value of: False
URLDownloader: No value supplied for CHECK_FILESIZE_ONLY, setting default value of: False
URLDownloader: ERROR: (3) URL rejected: Malformed input to a URL function
<snip>
subprocess.CalledProcessError: Command '['/usr/bin/curl', '--silent', '--show-error', '--no-buffer', '--dump-header', '-', '--speed-time', '30', '--location', '--url', '\n https://officecdnmac.microsoft.com/pr/C1297A47-86C4-4C1F-97FA-950631F94777/MacAutoupdate/CompanyPortal_5.2307.1-Upgrade.pkg', '--fail', '--output', '/Users/jappleseed/Library/AutoPkg/Cache/com.github.autopkg.download.MSCompanyPortal/downloads/tmpbs2pfwb7']' returned non-zero exit status 3.```
**Expected behavior**
While I don't really expect that this processor should have to deal with these errant issues, adding in a test relating to the `metadata` that is created [here](https://github.com/autopkg/recipes/blob/aae83c7fb5bb1f8b1c2bff14ec81ec577802712f/MSOfficeUpdates/MSOfficeMacURLandUpdateInfoProvider.py#L284) sorts this out.
# Ensure the 'location' key containing a URL is stripped to avoid processor failure
if isinstance(metadata, list) and all(isinstance(item, dict) for item in metadata):
metadata = [
{k: v.strip() if isinstance(v, str) and v is not None else v for k, v in item.items()}
for item in metadata.copy()
]
Perhaps this could be a part of the processor script to potentially avoid this type of abort in the future?
**Version (please complete the following information):**
- OS version: macOS 13.5
- AutoPkg Version: 2.7.2
Describe the problem When testing the MSCompanyPortal download recipe relating to #463 there was an issue caused by an errant line break in the
Location
value that the Microsoft feed had.Preferences contents N/A
AutoPkg output