示例#1
0
 def test_wrong_json_type(self):
     document = {'size' : 'large',
                 'perimeter': """
                                 {"top": 3, "centre": 5, "bottom": 6
                                 """}
     schema = {'perimeter':{'type':'json'}}
     val = DwcaValidator(schema)
     val.allow_unknown = True
     self.assertFalse(val.validate(document))
import yaml

from dwcavalidator.validators import DwcaValidator
from dwca.read import DwCAReader


#%% Read the archive
#with DwCAReader('./broedvogel_corrupted_subset.zip') as dwca:
#    test = dwca.get_row_by_index(1)

#%% Read the YAML file
schema = yaml.load(open('./settings.yaml'))

#%% Validate
v = DwcaValidator(schema)
v.allow_unknown = True

errors = {}
with DwCAReader('./broedvogel_corrupted_subset.zip') as dwca:
    for row in dwca:
        document = {k.split('/')[-1]: v for k, v in row.data.iteritems()}

        # validate each row and log the errors for each row
        v.validate(document)
        if len(v.errors) > 0:
            errors[row.id] = v.errors
print errors