Began work on metadata validation
This commit is contained in:
parent
5c14f62d19
commit
3e76b2bc77
@ -26,6 +26,7 @@ from mediagoblin.submit.lib import (
|
|||||||
FileUploadLimit, UserUploadLimit, UserPastUploadLimit)
|
FileUploadLimit, UserUploadLimit, UserPastUploadLimit)
|
||||||
|
|
||||||
from mediagoblin import mg_globals
|
from mediagoblin import mg_globals
|
||||||
|
from jsonschema import validate
|
||||||
|
|
||||||
def parser_setup(subparser):
|
def parser_setup(subparser):
|
||||||
subparser.description = """\
|
subparser.description = """\
|
||||||
@ -215,3 +216,35 @@ def parse_csv_file(file_contents):
|
|||||||
def teardown(temp_files):
|
def teardown(temp_files):
|
||||||
for temp_file in temp_files:
|
for temp_file in temp_files:
|
||||||
subprocess.call(['rm','-r',temp_file])
|
subprocess.call(['rm','-r',temp_file])
|
||||||
|
|
||||||
|
def check_metadata_format(metadata_dict):
|
||||||
|
schema = json.loads("""
|
||||||
|
{
|
||||||
|
"$schema":"http://json-schema.org/schema#",
|
||||||
|
"properties":{
|
||||||
|
"@context":{},
|
||||||
|
"contributor":{},
|
||||||
|
"coverage":{},
|
||||||
|
"created":{},
|
||||||
|
"creator":{},
|
||||||
|
"date":{},
|
||||||
|
"description":{},
|
||||||
|
"format":{},
|
||||||
|
"identifier":{},
|
||||||
|
"language":{},
|
||||||
|
"publisher":{},
|
||||||
|
"relation":{},
|
||||||
|
"rights" : {
|
||||||
|
"format":"uri",
|
||||||
|
"type":"string"
|
||||||
|
},
|
||||||
|
"source":{},
|
||||||
|
"subject":{},
|
||||||
|
"title":{},
|
||||||
|
"type":{}
|
||||||
|
},
|
||||||
|
"additionalProperties": false,
|
||||||
|
"required":["title","@context"]
|
||||||
|
}""")
|
||||||
|
try:
|
||||||
|
validate(metadata_dict, schema)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user