-
Notifications
You must be signed in to change notification settings - Fork 289
Description
Describe the bug
There is a strange character in the Info.plist file of Quicksilver.app, on line 220. the string appears empty in some editors, but when pasted into GitHub, the non-printable character appears:
<key>NSKeyEquivalent</key>
<dict>
<key>default</key>
<string>�</string>
</dict>Unfortunately, this character causes parsing of the plist file using python's plistlib module to fail.
This causes the AutoPkg recipe which packages up Quicksilver for import into Mac software enterprise management tools such as Jamf Pro and Munki to fail. See autopkg/homebysix-recipes#297 for more details.
For information, AutoPkg is the most-used solution for automating Mac software management in the enterprise.
I assume this � character is an unseen artefact not required for the software to run, and could be safely removed?
To Reproduce
Steps to reproduce the behavior:
- Install python 3 on a Mac.
- Download and mount the Quicksilver 1.6.1 installer DMG
- Run
python3. - Run the following commands to induce the error:
>>> import os.path
>>> import plistlib
>>> app = '/Volumes/Quicksilver/Quicksilver.app'
>>> plistpath = os.path.join(app, "Contents", "Info.plist")
>>> with open(plistpath, "rb") as f:
... info = plistlib.load(f)
...
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
File "/Library/AutoPkg/Python3/Python.framework/Versions/Current/lib/python3.7/plistlib.py", line 950, in load
return p.parse(fp)
File "/Library/AutoPkg/Python3/Python.framework/Versions/Current/lib/python3.7/plistlib.py", line 260, in parse
self.parser.ParseFile(fileobj)
xml.parsers.expat.ExpatError: not well-formed (invalid token): line 220, column 12
Expected behavior
plistlib should be able to read values from Quicksilver.app/Contents/Info.plist.
What version of macOS?
macOS 10.15.5
What version of Quicksilver?
1.6.1