def __init__(self, name, version, metadata, deserialize_metadata=True): self.__name__ = name self.release_files = OOBTree() self.version = version self.original_metadata = metadata if deserialize_metadata: schema = Metadata() self.metadata = schema.serialize(metadata) self.metadata = schema.deserialize(self.metadata)
def evolve(context): root = context['repository'] schema = Metadata(typ=NullableMapping(), default=None) for package in root: print(package.name) for release in package: original_metadata = release.original_metadata serialized_metadata = schema.serialize(original_metadata) release.metadata = schema.deserialize(serialized_metadata) context.evolved = 3
def evolve(context): root = context['repository'] schema = Metadata() for package_name in root: package = root[package_name] for release_name in package.releases: release = package[release_name] original_metadata = release.original_metadata serialized_metadata = schema.serialize(original_metadata) release.metadata = schema.deserialize(serialized_metadata) context.evolved = 2
def evolve(context): root = context['repository'] schema = Metadata() for package_name in root: package = root[package_name] for release_name in package.releases: release = package[release_name] metadata = dict(((key, value) for key, value in release.metadata.items() if value is not None)) release.original_metadata = dict(release.metadata) deserialized_metadata = schema.deserialize(metadata) release.metadata = deserialized_metadata for release_filename in release.release_files: release_file = release[release_filename] release_file.size = os.path.getsize( release_file.content.open().name) context.evolved = 1