Change label creation function to return the label created
This commit is contained in:
parent
23ff49f0c1
commit
5a997eb4e3
2 changed files with 15 additions and 3 deletions
|
@ -10,6 +10,16 @@ class RepositoryReference(datatype('Repository', [])):
|
|||
return RepositoryReference(db_id=repo_obj.id)
|
||||
|
||||
|
||||
class Label(datatype('Label', ['key', 'value'])):
|
||||
""" Label represents a label on a manifest. """
|
||||
@classmethod
|
||||
def for_label(cls, label):
|
||||
if label is None:
|
||||
return None
|
||||
|
||||
return Label(db_id=label.id, key=label.key, value=label.value)
|
||||
|
||||
|
||||
class Tag(datatype('Tag', ['name'])):
|
||||
""" Tag represents a tag in a repository, which points to a manifest or image. """
|
||||
@classmethod
|
||||
|
|
|
@ -5,7 +5,7 @@ from collections import defaultdict
|
|||
from data import database
|
||||
from data import model
|
||||
from data.registry_model.interface import RegistryDataInterface
|
||||
from data.registry_model.datatypes import Tag, RepositoryReference, Manifest, LegacyImage
|
||||
from data.registry_model.datatypes import Tag, RepositoryReference, Manifest, LegacyImage, Label
|
||||
|
||||
|
||||
class PreOCIModel(RegistryDataInterface):
|
||||
|
@ -60,9 +60,11 @@ class PreOCIModel(RegistryDataInterface):
|
|||
try:
|
||||
tag_manifest = database.TagManifest.get(id=manifest._db_id)
|
||||
except database.TagManifest.DoesNotExist:
|
||||
return
|
||||
return None
|
||||
|
||||
model.label.create_manifest_label(tag_manifest, key, value, source_type_name, media_type_name)
|
||||
label = model.label.create_manifest_label(tag_manifest, key, value, source_type_name,
|
||||
media_type_name)
|
||||
return Label.for_label(label)
|
||||
|
||||
def get_legacy_images(self, repository_ref):
|
||||
"""
|
||||
|
|
Reference in a new issue