diff options
author | Martin v. Löwis <martin@v.loewis.de> | 2006-07-06 19:28:03 +0000 |
---|---|---|
committer | Martin v. Löwis <martin@v.loewis.de> | 2006-07-06 19:28:03 +0000 |
commit | cf7d886ff00afdff061074513d4719dc3d9ed0cc (patch) | |
tree | 1716e012c2b6d1615fce6e3cd9651d16ed4c683c /Lib/msilib | |
parent | 355ee17254fb24deb541d925071bc274594fb20c (diff) | |
download | cpython-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__.py | 10 |
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)]) |