Properly generate logical file ids. Fixes #1515998.

Also correct typo in Control.mapping.
This commit is contained in:
Martin v. Löwis 2006-07-06 19:28:03 +00:00
parent b9aa7ea660
commit 388a8c26fa
2 changed files with 8 additions and 4 deletions

View File

@ -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)])

View File

@ -25,6 +25,8 @@ Core and builtins
Library
-------
- Bug #1515998: Properly generate logical ids for files in bdist_msi.
- warnings.py now ignores ImportWarning by default
- Patch #1517790: It is now possible to use custom objects in the ctypes