def load(self, path): '''Load a L{Package} object from a path to a package distribution. @return: the Distribution object. ''' pkg = Package() pkg.installed_path = path metadata_path = os.path.join(path, self.metadata_filename) manifest_path = os.path.join(path, self.manifest_filename) fo = open(metadata_path) metadata = json.load(fo) readme_notes = self._get_notes_from_readme(path) if readme_notes: metadata['notes'] = readme_notes pkg.update_metadata(metadata) fo.close() if os.path.exists(manifest_path): fo = open(manifest_path) pkg.manifest = json.load(fo) fo.close() return self(pkg)