summaryrefslogtreecommitdiff
path: root/Lib/msilib
diff options
context:
space:
mode:
authorMartin v. Löwis <martin@v.loewis.de>2011-03-27 21:05:51 +0200
committerMartin v. Löwis <martin@v.loewis.de>2011-03-27 21:05:51 +0200
commit54cb78fb908fc53f67a06d99d91543444e855608 (patch)
treec1868eb5b72812159f43918ca57f5cb8f9af4dbf /Lib/msilib
parent5476cbe2d4c8f691e7f96bd3f4d305eb0ed4259d (diff)
downloadcpython-54cb78fb908fc53f67a06d99d91543444e855608.tar.gz
Closes #11696: Fix ID generation in msilib.
Patch by Mark Mc Mahon.
Diffstat (limited to 'Lib/msilib')
-rw-r--r--Lib/msilib/__init__.py5
1 files changed, 2 insertions, 3 deletions
diff --git a/Lib/msilib/__init__.py b/Lib/msilib/__init__.py
index ce4365fb69..dbdb32527d 100644
--- a/Lib/msilib/__init__.py
+++ b/Lib/msilib/__init__.py
@@ -173,9 +173,8 @@ def add_tables(db, module):
add_data(db, table, getattr(module, table))
def make_id(str):
- #str = str.replace(".", "_") # colons are allowed
- for c in " -+~;":
- str = str.replace(c, "_")
+ identifier_chars = string.ascii_letters + string.digits + "._"
+ str = "".join([c if c in identifier_chars else "_" for c in str])
if str[0] in (string.digits + "."):
str = "_" + str
assert re.match("^[A-Za-z_][A-Za-z0-9_.]*$", str), "FILE"+str