Files
mayan-edms/mayan/apps/metadata/validators.py
Roberto Rosario 74c97314d7 Code style cleanups
Add keyword arguments. Sort arguments and models.
Move literals to their own module. Prepend handler_ to
signal handlers.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-26 03:32:35 -04:00

38 lines
940 B
Python

from __future__ import unicode_literals
from dateutil.parser import parse
from django.core.exceptions import ValidationError
from .parsers import MetadataParser
class MetadataValidator(MetadataParser):
_registry = []
def validate(self, input_data):
try:
self.execute(input_data)
except Exception as exception:
raise ValidationError(exception)
class DateAndTimeValidator(MetadataValidator):
def execute(self, input_data):
return parse(input_data).isoformat()
class DateValidator(MetadataValidator):
def execute(self, input_data):
return parse(input_data).date().isoformat()
class TimeValidator(MetadataValidator):
def execute(self, input_data):
return parse(input_data).time().isoformat()
MetadataValidator.register(parser=DateAndTimeValidator)
MetadataValidator.register(parser=DateValidator)
MetadataValidator.register(parser=TimeValidator)