diff options
author | Jelmer Vernooij <jelmer@jelmer.uk> | 2017-03-16 04:29:35 +0000 |
---|---|---|
committer | Jelmer Vernooij <jelmer@jelmer.uk> | 2017-03-16 04:29:35 +0000 |
commit | a31e8ba9a491018e8b148340e53830cad07ebf00 (patch) | |
tree | fb5faf16d0dbcfd95edeb71bb0db8624952e7b7e /xandikos/icalendar.py | |
parent | b5e9986ee3f65b5139468b67579a6ba6404808f0 (diff) |
Check file validity.
Diffstat (limited to 'xandikos/icalendar.py')
-rw-r--r-- | xandikos/icalendar.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/xandikos/icalendar.py b/xandikos/icalendar.py index 77ddbed..aa631dc 100644 --- a/xandikos/icalendar.py +++ b/xandikos/icalendar.py @@ -24,7 +24,7 @@ import logging from icalendar.cal import Calendar, component_factory -from xandikos.store import File +from xandikos.store import File, InvalidFileContents def calendar_component_delta(old_cal, new_cal): @@ -139,6 +139,13 @@ class ICalendarFile(File): super(ICalendarFile, self).__init__(content, content_type) self._calendar = None + def validate(self): + """Verify that file contents are valid.""" + try: + self.calendar + except ValueError: + raise InvalidFileContents(self.content_type, self.content) + @property def calendar(self): if self._calendar is None: |