data.oci_model: sloppily rewrite digest format

We expect digests to be in the form 'sha256:digest'
This commit is contained in:
Jimmy Zelinskie 2017-03-23 12:37:32 -04:00
parent 2c8930c912
commit 9c0cbbf57c
5 changed files with 41 additions and 10 deletions

View file

@ -8,12 +8,18 @@ from data.database import ManifestList, ManifestListManifest, db_transaction
logger = logging.getLogger(__name__)
def _ensure_sha256_header(digest):
if digest.startswith('sha256:'):
return digest
return 'sha256:' + digest
def _digest(manifestjson):
return hashlib.sha256(json.dumps(manifestjson, sort_keys=True)).hexdigest()
return _ensure_sha256_header(hashlib.sha256(json.dumps(manifestjson, sort_keys=True)).hexdigest())
def get_manifest_list(digest):
return ManifestList.select().where(ManifestList.digest == digest).get()
return ManifestList.select().where(ManifestList.digest == _ensure_sha256_header(digest)).get()
def get_or_create_manifest_list(manifest_list_json, media_type_name, schema_version):