コード例 #1
0
 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(), []
コード例 #2
0
ファイル: addresses.py プロジェクト: Monal5031/mailman3
 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)
コード例 #3
0
 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, []
コード例 #4
0
ファイル: domains.py プロジェクト: TommyLike/mailman
 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(), []
コード例 #5
0
 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(), []
コード例 #6
0
ファイル: users.py プロジェクト: Monal5031/mailman3
 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, []
コード例 #7
0
ファイル: users.py プロジェクト: certeu/do-portal-vagrant
 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, []
コード例 #8
0
ファイル: root.py プロジェクト: Monal5031/mailman3
 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(), []
コード例 #9
0
 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), []
コード例 #10
0
    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), []
コード例 #11
0
ファイル: domains.py プロジェクト: Nakaner/mailman3-debian
    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), []
コード例 #12
0
ファイル: root.py プロジェクト: Monal5031/mailman3
    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)
コード例 #13
0
    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)
コード例 #14
0
 def owners(self, context, segments):
     """/<api>/owners"""
     if len(segments) != 0:
         return BadRequest(), []
     else:
         return ServerOwners(), segments