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 markm
Recipients markm
Date 2011-03-27.15:19:08
SpamBayes Score 0.00045033338
Marked as misclassified No
Message-id <1301239149.02.0.122606838754.issue11696@psf.upfronthosting.co.za>
In-reply-to
Content
msilib.make_id() currently ensure that any of the following characters are not in the resulting ID: " -+~;"

Per the Microsoft documentation the following list of characters are allowed.
http://msdn.microsoft.com/en-us/library/aa369212(v=vs.85).aspx
"""The Identifier data type is a text string. Identifiers may contain the
ASCII characters A-Z (a-z), digits, underscores (_), or periods (.). However, every identifier must begin with either a letter or an underscore."""

If an file name contains any characters outside of the characters " -+~;" + string.ascii_letters + string.digits + "._" then it will be an invalid ID.

This includes many punctuation characters which are valid in file names but not ID's, and every unicode character which does not overlap with ASCII.

The attached patch tries to fix this - and it includes tests.
History
Date User Action Args
2011-03-27 15:19:09markmsetrecipients: + markm
2011-03-27 15:19:09markmsetmessageid: <1301239149.02.0.122606838754.issue11696@psf.upfronthosting.co.za>
2011-03-27 15:19:08markmlinkissue11696 messages
2011-03-27 15:19:08markmcreate