summaryrefslogtreecommitdiff
path: root/Lib/msilib
diff options
context:
space:
mode:
authorMartin v. Löwis <martin@v.loewis.de>2006-07-06 19:28:03 +0000
committerMartin v. Löwis <martin@v.loewis.de>2006-07-06 19:28:03 +0000
commitcf7d886ff00afdff061074513d4719dc3d9ed0cc (patch)
tree1716e012c2b6d1615fce6e3cd9651d16ed4c683c /Lib/msilib
parent355ee17254fb24deb541d925071bc274594fb20c (diff)
downloadcpython-cf7d886ff00afdff061074513d4719dc3d9ed0cc.tar.gz
Properly generate logical file ids. Fixes #1515998.
Also correct typo in Control.mapping.
Diffstat (limited to 'Lib/msilib')
-rw-r--r--Lib/msilib/__init__.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/Lib/msilib/__init__.py b/Lib/msilib/__init__.py
index 0881409e1d..4be82b033d 100644
--- a/Lib/msilib/__init__.py
+++ b/Lib/msilib/__init__.py
@@ -187,7 +187,7 @@ class CAB:
self.filenames = sets.Set()
self.index = 0
- def gen_id(self, dir, file):
+ def gen_id(self, file):
logical = _logical = make_id(file)
pos = 1
while logical in self.filenames:
@@ -196,9 +196,11 @@ class CAB:
self.filenames.add(logical)
return logical
- def append(self, full, logical):
+ def append(self, full, file, logical):
if os.path.isdir(full):
return
+ if not logical:
+ logical = self.gen_id(file)
self.index += 1
self.files.append((full, logical))
return self.index, logical
@@ -328,7 +330,7 @@ class Directory:
logical = self.keyfiles[file]
else:
logical = None
- sequence, logical = self.cab.append(absolute, logical)
+ sequence, logical = self.cab.append(absolute, file, logical)
assert logical not in self.ids
self.ids.add(logical)
short = self.make_short(file)
@@ -403,7 +405,7 @@ class Control:
[(self.dlg.name, self.name, event, argument,
condition, ordering)])
- def mapping(self, mapping, attribute):
+ def mapping(self, event, attribute):
add_data(self.dlg.db, "EventMapping",
[(self.dlg.name, self.name, event, attribute)])