Exemplo n.º 1
0
 def create_member(self, name, contents, content_type):
     try:
         (name, etag) = self.store.import_one(name, content_type, contents)
     except InvalidFileContents:
         # TODO(jelmer): Not every invalid file is a calendar file..
         raise webdav.PreconditionFailure(
             '{%s}valid-calendar-data' % caldav.NAMESPACE,
             'Not a valid calendar file.')
     except DuplicateUidError:
         raise webdav.PreconditionFailure(
             '{%s}no-uid-conflict' % caldav.NAMESPACE,
             'UID already in use.')
     return (name, create_strong_etag(etag))
Exemplo n.º 2
0
 def set_body(self, data, replace_etag=None):
     try:
         (name, etag) = self.store.import_one(
             self.name, self.content_type, data,
             replace_etag=extract_strong_etag(replace_etag))
     except InvalidFileContents as e:
         # TODO(jelmer): Not every invalid file is a calendar file..
         raise webdav.PreconditionFailure(
             '{%s}valid-calendar-data' % caldav.NAMESPACE,
             'Not a valid calendar file: %s' % e.error)
     except DuplicateUidError:
         raise webdav.PreconditionFailure(
             '{%s}no-uid-conflict' % caldav.NAMESPACE,
             'UID already in use.')
     return create_strong_etag(etag)
Exemplo n.º 3
0
 def create_member(self, name: str, contents: Iterable[bytes],
                   content_type: str) -> Tuple[str, str]:
     try:
         (name, etag) = self.store.import_one(name, content_type, contents)
     except InvalidFileContents as e:
         # TODO(jelmer): Not every invalid file is a calendar file..
         raise webdav.PreconditionFailure(
             '{%s}valid-calendar-data' % caldav.NAMESPACE,
             'Not a valid calendar file: %s' % e.error)
     except DuplicateUidError:
         raise webdav.PreconditionFailure(
             '{%s}no-uid-conflict' % caldav.NAMESPACE,
             'UID already in use.')
     except OutOfSpaceError:
         raise webdav.InsufficientStorage()
     except LockedError:
         raise webdav.ResourceLocked()
     return (name, create_strong_etag(etag))