summaryrefslogtreecommitdiff
path: root/xandikos/icalendar.py
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@jelmer.uk>2017-03-16 04:29:35 +0000
committerJelmer Vernooij <jelmer@jelmer.uk>2017-03-16 04:29:35 +0000
commita31e8ba9a491018e8b148340e53830cad07ebf00 (patch)
treefb5faf16d0dbcfd95edeb71bb0db8624952e7b7e /xandikos/icalendar.py
parentb5e9986ee3f65b5139468b67579a6ba6404808f0 (diff)
Check file validity.
Diffstat (limited to 'xandikos/icalendar.py')
-rw-r--r--xandikos/icalendar.py9
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: