Ejemplo n.º 1
0
    def get_version(self, version=None, required=False):
        if version is None:
            if self.versions.exists():
                return self.versions.first()
            return None

        try:
            return self.versions.get(identifier=version)
        except FileVersion.DoesNotExist:
            if required:
                raise exceptions.VersionNotFoundError(version)
            return None
Ejemplo n.º 2
0
    def get_version(self, version=None, required=False):
        if version is None:
            if self.versions:
                return self.versions[-1]
            return None

        try:
            return self.versions[int(version) - 1]
        except (IndexError, ValueError):
            if required:
                raise exceptions.VersionNotFoundError(version)
            return None
Ejemplo n.º 3
0
 def get_version(self, revision, required=False):
     """Find a version with identifier revision
     :returns: FileVersion or None
     :raises: VersionNotFoundError if required is True
     """
     for version in reversed(self.versions):
         if version.identifier == revision:
             break
     else:
         if required:
             raise exceptions.VersionNotFoundError(revision)
         return None
     return version
Ejemplo n.º 4
0
 def update_version_metadata(self, location, metadata):
     for version in reversed(self.versions):
         if version.location == location:
             version.update_metadata(metadata)
             return
     raise exceptions.VersionNotFoundError(location)