def system(self, context, segments): """/<api>/system""" if len(segments) == 0: # This provides backward compatibility; see /system/versions. return Versions() elif segments[0] == 'preferences': if len(segments) > 1: return BadRequest(), [] return ReadOnlyPreferences(system_preferences, 'system'), [] elif segments[0] == 'versions': if len(segments) > 1: return BadRequest(), [] return Versions(), [] elif segments[0] == 'configuration': if len(segments) <= 2: return SystemConfiguration(*segments[1:]), [] return BadRequest(), [] elif segments[0] == 'pipelines': if len(segments) > 1: return BadRequest(), [] return Pipelines(), [] elif segments[0] == 'chains': if len(segments) > 1: return BadRequest(), [] return Chains(), [] else: return NotFound(), []
def memberships(self, request, segments): """/addresses/<email>/memberships""" if len(segments) != 0: return BadRequest(), [] if self._address is None: return NotFound(), [] return AddressMemberships(self._address)
def unverify(self, context, segments): """/addresses/<email>/verify""" if len(segments) != 0: return BadRequest(), [] if self._address is None: return NotFound(), [] child = _VerifyResource(self._address, 'unverify') return child, []
def lists(self, context, segments): """/domains/<domain>/lists""" if len(segments) == 0: domain = getUtility(IDomainManager).get(self._domain) if domain is None: return NotFound() return ListsForDomain(domain) else: return BadRequest(), []
def owners(self, request, segments): """/domains/<domain>/owners""" if len(segments) == 0: domain = getUtility(IDomainManager).get(self._domain) if domain is None: return NotFound() return OwnersForDomain(domain) else: return BadRequest(), []
def preferences(self, request, segments): """/addresses/<email>/preferences""" if len(segments) != 0: return BadRequest(), [] if self._user is None: return NotFound(), [] child = Preferences(self._user.preferences, 'users/{0}'.format(self._user.user_id.int)) return child, []
def preferences(self, context, segments): """/users/<id>/preferences""" if len(segments) != 0: return BadRequest(), [] if self._user is None: return NotFound(), [] child = Preferences( self._user.preferences, 'users/{}'.format(self.api.from_uuid(self._user.user_id))) return child, []
def queues(self, request, segments): """/<api>/queues[/<name>[/file]]""" if len(segments) == 0: return AllQueues() elif len(segments) == 1: return AQueue(segments[0]), [] elif len(segments) == 2: return AQueueFile(segments[0], segments[1]), [] else: return BadRequest(), []
def uris(self, content, segments): if self.api.version_info < (3, 1): return NotFound(), [] if len(segments) == 0: return AllSiteURIs() if len(segments) > 1: return BadRequest(), [] template = segments[0] if template not in AllSiteURIs.URIs: return NotFound(), [] return ASiteURI(template), []
def uris(self, context, segments): """Return the template URIs of the mailing list. These are only available after API 3.0. """ if self._mlist is None or self.api.version_info < (3, 1): return NotFound(), [] if len(segments) == 0: return AllListURIs(self._mlist) if len(segments) > 1: return BadRequest(), [] template = segments[0] if template not in AllListURIs.URIs: return NotFound(), [] return AListURI(self._mlist, template), []
def uris(self, context, segments): """Return the template URIs of the domain. These are only available after API 3.0. """ domain = getUtility(IDomainManager).get(self._domain) if domain is None or self.api.version_info < (3, 1): return NotFound(), [] if len(segments) == 0: return AllDomainURIs(domain) if len(segments) > 1: return BadRequest(), [] template = segments[0] if template not in AllDomainURIs.URIs: return NotFound(), [] return ADomainURI(domain, template), []
def templates(self, request, segments): """/<api>/templates/<fqdn_listname>/<template>/[<language>] Use content negotiation to request language and suffix (content-type). """ if len(segments) == 3: fqdn_listname, template, language = segments elif len(segments) == 2: fqdn_listname, template = segments language = 'en' else: return BadRequest(), [] mlist = getUtility(IListManager).get(fqdn_listname) if mlist is None: return NotFound(), [] # XXX dig out content-type from request content_type = None return TemplateFinder(fqdn_listname, template, language, content_type)
def templates(self, context, segments): """/<api>/templates/<fqdn_listname>/<template>/[<language>] Use content negotiation to context language and suffix (content-type). """ # This resource is removed in API 3.1; use the /uris resource instead. if self.api.version_info > (3, 0): return NotFound(), [] if len(segments) == 3: fqdn_listname, template, language = segments elif len(segments) == 2: fqdn_listname, template = segments language = 'en' else: return BadRequest(), [] mlist = getUtility(IListManager).get(fqdn_listname) if mlist is None: return NotFound(), [] # XXX dig out content-type from context. content_type = None return TemplateFinder(fqdn_listname, template, language, content_type)
def owners(self, context, segments): """/<api>/owners""" if len(segments) != 0: return BadRequest(), [] else: return ServerOwners(), segments