lp:~barry/mailman/elixir-model

Created by Barry Warsaw and last modified
Get this branch:
bzr branch lp:~barry/mailman/elixir-model
Only Barry Warsaw can upload to this branch. If you are Barry Warsaw please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Barry Warsaw
Project:
GNU Mailman
Status:
Merged

Recent revisions

6517. By Barry Warsaw

Convert the AvoidDuplicates handler tests to a doctest. Well,
actually there /was/ no separate AvoidDuplicates test, but now there
is, even though it may not be full coverage.

Update the AvoidDuplicates handler to use more modern Python idioms.

6516. By Barry Warsaw

Convert the CookHeaders tests in test_handlers to using doctests, split up
into several sub-documents.

Defaults.py.in: Removed OLD_STYLE_PREFIXING. So-called 'new style' prefixing
is the default and only option now.

CookHeaders.py is updated to the new API and some (but not all) of the code
has been updated to more modern Python idioms.

reply_goes_to_list attribute has been changed from a strict integer to a
munepy enum called ReplyToMunging.

RFC 2369 headers List-Subscribe and List-Unsubscribe now use the preferred
-join and -leave addresses instead of the -request address with a subject
value.

6515. By Barry Warsaw

Convert the Cleanse handler tests to doctest style.

6514. By Barry Warsaw

Convert the tests for the CalcRecips handler to doc tests. There are
some XXX's in the doc test because digest recipients aren't tested
(though those may go in a different doctest), and neither are urgent
messages. This latter is for the same reason that the Approved
handler is not yet tested; which password do you use in that header?

The CalcRecips tests would also seem the natural place to test the
receive_list_copy preference, but that actually gets processed in the
AvoidDuplicates handler, so it isn't tested here.

Add delivery_status (of type enum DeliveryStatus) to preferences. I'm
not entirely sure that's the right place for it, but it lets me finish
converting the test for now.

Expose the rest of the preferences through the IMember interface.

6513. By Barry Warsaw

Convert the AfterDelivery handler test to a doctest. Also, change the
MailingList.last_post_time column to a DateTime (i.e. Python datetime
object).

6512. By Barry Warsaw

Remove both the model and interface for RosterSets. These are no longer used
or necessary in the current data model.

Convert the test_handlers.py Python test to an acknowledge.txt doctest, and
make the Acknowledge.py handler work with the new data model. There are a few
XXX comments left in here due to the fact that the web stuff is a total hack
in the current branch currently.

Added IMailingListWeb methods and properties to the MailingList model class:
web_host and script_url().

Work out how IMembers will expose the lookup-order based preferences. By
getting the attribute IMember.preferences you can see exactly the preferences
overridden by this member. To use the lookup order, use
IMember.delivery_mode, IMember.acknowledge_posts, etc. IOW, the IMember
interface now provides the properties directly and access through this
mechanism supports lookup order with definitive preference values.

Also added IMember.unsubscribe() which does the obvious, and
IMember.options_url() which is a total hack for providing a url (but not the
ultimately right one) for the user's option page.

Refactor the model's roster classes. Also added IRoster.get_member() method
with efficient queries to return the right results. Make
AdministratorRoster.members more efficient due to a better query.

Update the membership.txt doctest to eliminate a chance ordering effect, and
also to test finding members with .get_member(). The clean up section uses
the new .unsubscribe() method.

6511. By Barry Warsaw

profile.py -> preferences.py

Fix the last few doctests by ensuring that other newly created Addresses have
a preferences object.

6510. By Barry Warsaw

merge work from other machine

6509. By Barry Warsaw

merge upstream trunk

6508. By Barry Warsaw

add the ignore file

This branch contains Public information 
Everyone can see this information.

Subscribers

No subscribers.