Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions ckanext/spatial/commands/validation.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@

log = logging.getLogger(__name__)

from io import open

class Validation(CkanCommand):
'''Validation commands

Expand Down Expand Up @@ -68,7 +70,7 @@ def report(self):
print ' %s: %s' % (col_name, row[i])

def validate_file(self):
from ckanext.spatial.harvesters import SpatialHarvester
from ckanext.spatial.harvesters.base import SpatialHarvester
from ckanext.spatial.model import ISODocument

if len(self.args) > 2:
Expand All @@ -81,7 +83,7 @@ def validate_file(self):
if not os.path.exists(metadata_filepath):
print 'Filepath %s not found' % metadata_filepath
sys.exit(1)
with open(metadata_filepath, 'rb') as f:
with open(metadata_filepath, 'r', encoding="utf-8") as f:
metadata_xml = f.read()

validators = SpatialHarvester()._get_validator()
Expand All @@ -96,7 +98,7 @@ def validate_file(self):
xml = etree.fromstring(xml_string)

# XML validation
valid, errors = validators.is_valid(xml)
valid, validator_name, errors = validators.is_valid(xml)

# CKAN read of values
if valid:
Expand All @@ -112,6 +114,7 @@ def validate_file(self):
print '***************'
print 'File: \'%s\'' % metadata_filepath
print 'Valid: %s' % valid
print 'Validator: %s' % validator_name
if not valid:
print 'Errors:'
print pprint(errors)
Expand Down