Source code for dockerreg.models.v1

from dockerreg.models import Registry, Repository, Image, Manifest

[docs]class RegistryV1(Registry):
[docs] def __init__(self,api,name=None): if api.version != 1: raise ex.ModelApiVersionMismatch("v1 registry, not v1 api") super(RegistryV1,self).__init__(api,name=name)
[docs] def get_namespaces(self,regexp=None): """ :param str regexp: a regexp to filter the namespaces. :returns: a :py:class:`list` of namespaces in this registry, possibly filtered by `regexp`. """
[docs] def get_repositories(self,regexp=None): """ :param str regexp: a regexp to filter the repositories :returns: a :py:class:`dict` of namespaces in this registry, possibly filtered by `regexp`. """
[docs]class RepositoryV1(Repository): pass
[docs]class ImageV1(Image):
[docs] def get_layer(self): pass
[docs] def put_layer(self): pass
[docs] def get_layer_desc(self): pass
[docs] def put_layer_desc(self): pass
[docs] def ancestry(self): """ :returns: the :py:class:`list` of layers that compose this image :rtype: :py:class:`list` """ pass
[docs]class ManifestV1(Manifest): _media_types = ["application/vnd.docker.container.image.v1+json"]
[docs] def __init__(self,api,blob={},raw=b'{}',media_type=None,repository=None,tag=None,id=None): #name,id,parent,created,architecture,size,checksum, #author=None,os=None,config=None): if not media_type: media_type = "application/vnd.docker.container.image.v1+json" super(ManifestV1,self).__init__( api,blob,raw,media_type=media_type, repository=repository,tag=tag,id=blob.get("id",None)) self._version = 1
[docs] def verify(self): return None
@property def created(self): if "created" in self._attrs: return self._attrs["created"] return None @property def id(self): if "id" in self._attrs: return self._attrs["id"] return None @property def parent(self): if "parent" in self._attrs: return self._attrs["parent"] return None @property def container_config(self): if "container_config" in self._attrs: return self._attrs["container_config"] return None @property def config(self): if "config" in self._attrs: return self._attrs["config"] return None @property def os(self): if "os" in self._attrs: return self._attrs["os"] return None @property def architecture(self): if "architecture" in self._attrs: return self._attrs["architecture"] return None @property def container(self): if "container" in self._attrs: return self._attrs["container"] return None @property def docker_version(self): if "docker_version" in self._attrs: return self._attrs["docker_version"] return None @property def size(self): if "Size" in self._attrs: return self._attrs["Size"] return None
[docs] def refresh(self): nattrs = self.api.get_image(self.id) if json.dumps(nattrs,indent=None,separators=(',',':')) \ == json.dumps(self._attrs,indent=None,separators=(',',':')): return False self._attrs = nattrs return True