diff -r 2f7e353f9e83 -r dcd66ae649b1 Lib/packaging/database.py --- a/Lib/packaging/database.py Tue Jul 05 19:11:15 2011 -0700 +++ b/Lib/packaging/database.py Wed Jul 06 00:51:27 2011 -0400 @@ -158,17 +158,26 @@ self.name, self.version, self.path) def _get_records(self, local=False): + + def _handler(row, local): + path, checksum, size = (row[:] + [None for i in range(len(row), 3)]) + + if local: + path = path.replace('/', os.sep) + path = os.path.join(sys.prefix, path) + return (path, checksum, size) + + record_list = [] + + #Reads one row of information at a time from the package's + #RECORD file and returns a tuple list of (path, checksum, size). with self.get_distinfo_file('RECORD') as record: record_reader = csv.reader(record, delimiter=',', lineterminator='\n') - # XXX needs an explaining comment - for row in record_reader: - path, checksum, size = (row[:] + - [None for i in range(len(row), 3)]) - if local: - path = path.replace('/', os.sep) - path = os.path.join(sys.prefix, path) - yield path, checksum, size + record_list = [row for row in record_reader] + record_list = [_handler(row, local) for row in record_list] + return record_list + def get_resource_path(self, relative_path): with self.get_distinfo_file('RESOURCES') as resources_file: diff -r 2f7e353f9e83 -r dcd66ae649b1 Lib/packaging/tests/test_uninstall.py --- a/Lib/packaging/tests/test_uninstall.py Tue Jul 05 19:11:15 2011 -0700 +++ b/Lib/packaging/tests/test_uninstall.py Wed Jul 06 00:51:27 2011 -0400 @@ -93,7 +93,6 @@ self.assertRaises(PackagingError, remove, 'Foo', paths=[self.root_dir]) - @unittest.skipIf(sys.platform == 'win32', 'deactivated for now') def test_uninstall(self): dist, install_lib = self.install_dist() self.assertIsFile(install_lib, 'foo', '__init__.py') @@ -103,7 +102,6 @@ self.assertIsNotFile(install_lib, 'foo', 'sub', '__init__.py') self.assertIsNotFile(install_lib, 'Foo-0.1.dist-info', 'RECORD') - @unittest.skipIf(sys.platform == 'win32', 'deactivated for now') def test_remove_issue(self): # makes sure if there are OSErrors (like permission denied) # remove() stops and display a clean error