This commit is contained in:
Joseph Schorr 2017-06-29 09:57:39 +03:00
parent 8b4958dbcc
commit d07cc91dc6
4 changed files with 84 additions and 75 deletions

View file

@ -10,8 +10,8 @@ from endpoints.verbs.models_interface import (
Repository,
RepositoryReference,
TorrentInfo,
VerbsDataInterface,
)
VerbsDataInterface,)
class PreOCIModel(VerbsDataInterface):
"""
@ -27,13 +27,11 @@ class PreOCIModel(VerbsDataInterface):
return _repository_for_repo(repo)
def get_manifest_layers_with_blobs(self, repo_image):
repo_image_record = model.image.get_image_by_id(repo_image.repository.namespace_name,
repo_image.repository.name,
repo_image.image_id)
repo_image_record = model.image.get_image_by_id(
repo_image.repository.namespace_name, repo_image.repository.name, repo_image.image_id)
parents = model.image.get_parent_images_with_placements(repo_image.repository.namespace_name,
repo_image.repository.name,
repo_image_record)
parents = model.image.get_parent_images_with_placements(
repo_image.repository.namespace_name, repo_image.repository.name, repo_image_record)
yield repo_image
@ -51,8 +49,7 @@ class PreOCIModel(VerbsDataInterface):
compat_metadata=metadata,
v1_metadata=_docker_v1_metadata(repo_image.repository.namespace_name,
repo_image.repository.name, parent),
internal_db_id=parent.id,
)
internal_db_id=parent.id,)
def get_derived_image_signature(self, derived_image, signer_name):
storage = model.storage.get_storage_by_uuid(derived_image.blob.uuid)
@ -100,8 +97,7 @@ class PreOCIModel(VerbsDataInterface):
return TorrentInfo(
pieces=torrent_info.pieces,
piece_length=torrent_info.piece_length,
)
piece_length=torrent_info.piece_length,)
def set_torrent_info(self, blob, piece_length, pieces):
blob_record = model.storage.get_storage_by_uuid(blob.uuid)
@ -138,12 +134,10 @@ class PreOCIModel(VerbsDataInterface):
repository=RepositoryReference(
namespace_name=namespace_name,
name=repo_name,
id=found.repository_id,
),
id=found.repository_id,),
compat_metadata=metadata,
v1_metadata=_docker_v1_metadata(namespace_name, repo_name, found),
internal_db_id=found.id,
)
internal_db_id=found.id,)
pre_oci_model = PreOCIModel()
@ -168,8 +162,7 @@ def _docker_v1_metadata(namespace_name, repo_name, repo_image):
# Note: These are not needed in verbs and are expensive to load, so we just skip them.
content_checksum=None,
parent_image_id=None,
)
parent_image_id=None,)
def _derived_image(blob_record, repo_image):
@ -179,8 +172,7 @@ def _derived_image(blob_record, repo_image):
return DerivedImage(
ref=repo_image.internal_db_id,
blob=_blob(blob_record),
internal_source_image_db_id=repo_image.internal_db_id,
)
internal_source_image_db_id=repo_image.internal_db_id,)
def _blob(blob_record):
@ -197,8 +189,8 @@ def _blob(blob_record):
size=blob_record.image_size,
uncompressed_size=blob_record.uncompressed_size,
uploading=blob_record.uploading,
locations=locations,
)
locations=locations,)
def _repository_for_repo(repo):
""" Returns a Repository object representing the Pre-OCI data model repo instance given. """
@ -208,5 +200,4 @@ def _repository_for_repo(repo):
namespace_name=repo.namespace_user.username,
description=repo.description,
is_public=model.repository.is_repository_public(repo),
kind=model.repository.get_repo_kind_name(repo),
)
kind=model.repository.get_repo_kind_name(repo),)