diff options
Diffstat (limited to 'src/mailman/model')
| -rw-r--r-- | src/mailman/model/docs/mailinglist.rst | 15 | ||||
| -rw-r--r-- | src/mailman/model/domain.py | 4 | ||||
| -rw-r--r-- | src/mailman/model/listmanager.py | 3 |
3 files changed, 13 insertions, 9 deletions
diff --git a/src/mailman/model/docs/mailinglist.rst b/src/mailman/model/docs/mailinglist.rst index 53ba99575..3d01710c5 100644 --- a/src/mailman/model/docs/mailinglist.rst +++ b/src/mailman/model/docs/mailinglist.rst @@ -50,7 +50,10 @@ receive a copy of any message sent to the mailing list. Both addresses appear on the roster of members. - >>> for member in mlist.members.members: + >>> from operator import attrgetter + >>> sort_key = attrgetter('address.email') + + >>> for member in sorted(mlist.members.members, key=sort_key): ... print(member) <Member: aperson@example.com on aardvark@example.com as MemberRole.member> <Member: bperson@example.com on aardvark@example.com as MemberRole.member> @@ -72,7 +75,7 @@ A Person is now both a member and an owner of the mailing list. C Person is an owner and a moderator. :: - >>> for member in mlist.owners.members: + >>> for member in sorted(mlist.owners.members, key=sort_key): ... print(member) <Member: aperson@example.com on aardvark@example.com as MemberRole.owner> <Member: cperson@example.com on aardvark@example.com as MemberRole.owner> @@ -87,13 +90,13 @@ All rosters can also be accessed indirectly. :: >>> roster = mlist.get_roster(MemberRole.member) - >>> for member in roster.members: + >>> for member in sorted(roster.members, key=sort_key): ... print(member) <Member: aperson@example.com on aardvark@example.com as MemberRole.member> <Member: bperson@example.com on aardvark@example.com as MemberRole.member> >>> roster = mlist.get_roster(MemberRole.owner) - >>> for member in roster.members: + >>> for member in sorted(roster.members, key=sort_key): ... print(member) <Member: aperson@example.com on aardvark@example.com as MemberRole.owner> <Member: cperson@example.com on aardvark@example.com as MemberRole.owner> @@ -122,7 +125,7 @@ just by changing their preferred address. >>> mlist.subscribe(user) <Member: Dave Person <dperson@example.com> on aardvark@example.com as MemberRole.member> - >>> for member in mlist.members.members: + >>> for member in sorted(mlist.members.members, key=sort_key): ... print(member) <Member: aperson@example.com on aardvark@example.com as MemberRole.member> <Member: bperson@example.com on aardvark@example.com as MemberRole.member> @@ -133,7 +136,7 @@ just by changing their preferred address. >>> new_address.verified_on = now() >>> user.preferred_address = new_address - >>> for member in mlist.members.members: + >>> for member in sorted(mlist.members.members, key=sort_key): ... print(member) <Member: aperson@example.com on aardvark@example.com as MemberRole.member> <Member: bperson@example.com on aardvark@example.com as MemberRole.member> diff --git a/src/mailman/model/domain.py b/src/mailman/model/domain.py index 083e1cf51..ef8b1f761 100644 --- a/src/mailman/model/domain.py +++ b/src/mailman/model/domain.py @@ -48,7 +48,7 @@ class Domain(Model): id = Column(Integer, primary_key=True) - mail_host = Column(Unicode) + mail_host = Column(Unicode) # TODO: add index? base_url = Column(Unicode) description = Column(Unicode) contact_address = Column(Unicode) @@ -170,7 +170,7 @@ class DomainManager: @dbconnection def __iter__(self, store): """See `IDomainManager`.""" - for domain in store.query(Domain).all(): + for domain in store.query(Domain).order_by(Domain.mail_host).all(): yield domain @dbconnection diff --git a/src/mailman/model/listmanager.py b/src/mailman/model/listmanager.py index 43a2b8f2a..261490a92 100644 --- a/src/mailman/model/listmanager.py +++ b/src/mailman/model/listmanager.py @@ -86,7 +86,8 @@ class ListManager: @dbconnection def mailing_lists(self, store): """See `IListManager`.""" - for mlist in store.query(MailingList).all(): + for mlist in store.query(MailingList).order_by( + MailingList._list_id).all(): yield mlist @dbconnection |
