This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author Clay Caviness
Recipients Clay Caviness
Date 2020-04-24.19:52:32
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1587757952.37.0.0995683897517.issue40381@roundup.psfhosted.org>
In-reply-to
Content
Some Info.plist files are poorly formatted. I am using plistlib to read Info.plist file from various .app bundles. On some, plistlib.load raises a ValueError when trying to parse.

Examining one of these Info.plist files, it turns out *it* is poorly formatted, but while python's plistlib is unhappy, it passes "plutil -lint" just fine and "Foundation.NSDictionary.dictionaryWithContentsOfFile_" is happy to read it.

Here's a minimal sample plist file:
"""
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>An array</key>
  <array>
    <string>a string</string>
<key>A wild key appears!</key>
<string>it has a string</string>
    <string>another string</string>
  </array>
</dict>
</plist>
"""

plistlib (correctly, I think) says that's no good. Apple's tooling just ... changes the key to another string in the array and carries on.

I've attached an actual problematic Info.plist as well.
History
Date User Action Args
2020-04-24 19:52:32Clay Cavinesssetrecipients: + Clay Caviness
2020-04-24 19:52:32Clay Cavinesssetmessageid: <1587757952.37.0.0995683897517.issue40381@roundup.psfhosted.org>
2020-04-24 19:52:32Clay Cavinesslinkissue40381 messages
2020-04-24 19:52:32Clay Cavinesscreate