summaryrefslogtreecommitdiff
path: root/Mailman/database/model/mailinglist.py
diff options
context:
space:
mode:
authorBarry Warsaw2007-11-18 16:38:59 -0500
committerBarry Warsaw2007-11-18 16:38:59 -0500
commiteff07b15bedb17e51271a75f849447100b201734 (patch)
treec429a9e854007a64ad8373f97295f66a1ac190c7 /Mailman/database/model/mailinglist.py
parent2b7304d722e9ca628d6550dbb024dfa78322e91f (diff)
parent8a7be9204a9170f9d9b0eb79c2726df0c7a1b4a9 (diff)
downloadmailman-eff07b15bedb17e51271a75f849447100b201734.tar.gz
mailman-eff07b15bedb17e51271a75f849447100b201734.tar.zst
mailman-eff07b15bedb17e51271a75f849447100b201734.zip
Diffstat (limited to 'Mailman/database/model/mailinglist.py')
-rw-r--r--Mailman/database/model/mailinglist.py233
1 files changed, 118 insertions, 115 deletions
diff --git a/Mailman/database/model/mailinglist.py b/Mailman/database/model/mailinglist.py
index 4057c2161..3a3396758 100644
--- a/Mailman/database/model/mailinglist.py
+++ b/Mailman/database/model/mailinglist.py
@@ -18,142 +18,145 @@
import os
import string
-from elixir import *
+from storm.locals import *
from zope.interface import implements
from Mailman.Utils import fqdn_listname, makedirs, split_listname
from Mailman.configuration import config
+from Mailman.database import Model
+from Mailman.database.types import Enum
from Mailman.interfaces import IMailingList, Personalization
-from Mailman.database.types import EnumType, TimeDeltaType
SPACE = ' '
UNDERSCORE = '_'
-class MailingList(Entity):
+class MailingList(Model):
implements(IMailingList)
+ id = Int(primary=True)
+
# List identity
- list_name = Field(Unicode)
- host_name = Field(Unicode)
+ list_name = Unicode()
+ host_name = Unicode()
# Attributes not directly modifiable via the web u/i
- created_at = Field(DateTime)
- web_page_url = Field(Unicode)
- admin_member_chunksize = Field(Integer)
- hold_and_cmd_autoresponses = Field(PickleType)
+ created_at = DateTime()
+ web_page_url = Unicode()
+ admin_member_chunksize = Int()
+ hold_and_cmd_autoresponses = Pickle()
# Attributes which are directly modifiable via the web u/i. The more
# complicated attributes are currently stored as pickles, though that
# will change as the schema and implementation is developed.
- next_request_id = Field(Integer)
- next_digest_number = Field(Integer)
- admin_responses = Field(PickleType)
- postings_responses = Field(PickleType)
- request_responses = Field(PickleType)
- digest_last_sent_at = Field(Float)
- one_last_digest = Field(PickleType)
- volume = Field(Integer)
- last_post_time = Field(DateTime)
+ next_request_id = Int()
+ next_digest_number = Int()
+ admin_responses = Pickle()
+ postings_responses = Pickle()
+ request_responses = Pickle()
+ digest_last_sent_at = Float()
+ one_last_digest = Pickle()
+ volume = Int()
+ last_post_time = DateTime()
# Attributes which are directly modifiable via the web u/i. The more
# complicated attributes are currently stored as pickles, though that
# will change as the schema and implementation is developed.
- accept_these_nonmembers = Field(PickleType)
- acceptable_aliases = Field(PickleType)
- admin_immed_notify = Field(Boolean)
- admin_notify_mchanges = Field(Boolean)
- administrivia = Field(Boolean)
- advertised = Field(Boolean)
- anonymous_list = Field(Boolean)
- archive = Field(Boolean)
- archive_private = Field(Boolean)
- archive_volume_frequency = Field(Integer)
- autorespond_admin = Field(Boolean)
- autorespond_postings = Field(Boolean)
- autorespond_requests = Field(Integer)
- autoresponse_admin_text = Field(Unicode)
- autoresponse_graceperiod = Field(TimeDeltaType)
- autoresponse_postings_text = Field(Unicode)
- autoresponse_request_text = Field(Unicode)
- ban_list = Field(PickleType)
- bounce_info_stale_after = Field(TimeDeltaType)
- bounce_matching_headers = Field(Unicode)
- bounce_notify_owner_on_disable = Field(Boolean)
- bounce_notify_owner_on_removal = Field(Boolean)
- bounce_processing = Field(Boolean)
- bounce_score_threshold = Field(Integer)
- bounce_unrecognized_goes_to_list_owner = Field(Boolean)
- bounce_you_are_disabled_warnings = Field(Integer)
- bounce_you_are_disabled_warnings_interval = Field(TimeDeltaType)
- collapse_alternatives = Field(Boolean)
- convert_html_to_plaintext = Field(Boolean)
- default_member_moderation = Field(Boolean)
- description = Field(Unicode)
- digest_footer = Field(Unicode)
- digest_header = Field(Unicode)
- digest_is_default = Field(Boolean)
- digest_send_periodic = Field(Boolean)
- digest_size_threshold = Field(Integer)
- digest_volume_frequency = Field(Integer)
- digestable = Field(Boolean)
- discard_these_nonmembers = Field(PickleType)
- emergency = Field(Boolean)
- encode_ascii_prefixes = Field(Boolean)
- filter_action = Field(Integer)
- filter_content = Field(Boolean)
- filter_filename_extensions = Field(PickleType)
- filter_mime_types = Field(PickleType)
- first_strip_reply_to = Field(Boolean)
- forward_auto_discards = Field(Boolean)
- gateway_to_mail = Field(Boolean)
- gateway_to_news = Field(Boolean)
- generic_nonmember_action = Field(Integer)
- goodbye_msg = Field(Unicode)
- header_filter_rules = Field(PickleType)
- hold_these_nonmembers = Field(PickleType)
- include_list_post_header = Field(Boolean)
- include_rfc2369_headers = Field(Boolean)
- info = Field(Unicode)
- linked_newsgroup = Field(Unicode)
- max_days_to_hold = Field(Integer)
- max_message_size = Field(Integer)
- max_num_recipients = Field(Integer)
- member_moderation_action = Field(Boolean)
- member_moderation_notice = Field(Unicode)
- mime_is_default_digest = Field(Boolean)
- moderator_password = Field(Unicode)
- msg_footer = Field(Unicode)
- msg_header = Field(Unicode)
- new_member_options = Field(Integer)
- news_moderation = Field(EnumType)
- news_prefix_subject_too = Field(Boolean)
- nntp_host = Field(Unicode)
- nondigestable = Field(Boolean)
- nonmember_rejection_notice = Field(Unicode)
- obscure_addresses = Field(Boolean)
- pass_filename_extensions = Field(PickleType)
- pass_mime_types = Field(PickleType)
- personalize = Field(EnumType)
- post_id = Field(Integer)
- preferred_language = Field(Unicode)
- private_roster = Field(Boolean)
- real_name = Field(Unicode)
- reject_these_nonmembers = Field(PickleType)
- reply_goes_to_list = Field(EnumType)
- reply_to_address = Field(Unicode)
- require_explicit_destination = Field(Boolean)
- respond_to_post_requests = Field(Boolean)
- scrub_nondigest = Field(Boolean)
- send_goodbye_msg = Field(Boolean)
- send_reminders = Field(Boolean)
- send_welcome_msg = Field(Boolean)
- subject_prefix = Field(Unicode)
- subscribe_auto_approval = Field(PickleType)
- subscribe_policy = Field(Integer)
- topics = Field(PickleType)
- topics_bodylines_limit = Field(Integer)
- topics_enabled = Field(Boolean)
- unsubscribe_policy = Field(Integer)
- welcome_msg = Field(Unicode)
+ accept_these_nonmembers = Pickle()
+ acceptable_aliases = Pickle()
+ admin_immed_notify = Bool()
+ admin_notify_mchanges = Bool()
+ administrivia = Bool()
+ advertised = Bool()
+ anonymous_list = Bool()
+ archive = Bool()
+ archive_private = Bool()
+ archive_volume_frequency = Int()
+ autorespond_admin = Bool()
+ autorespond_postings = Bool()
+ autorespond_requests = Int()
+ autoresponse_admin_text = Unicode()
+ autoresponse_graceperiod = TimeDelta()
+ autoresponse_postings_text = Unicode()
+ autoresponse_request_text = Unicode()
+ ban_list = Pickle()
+ bounce_info_stale_after = TimeDelta()
+ bounce_matching_headers = Unicode()
+ bounce_notify_owner_on_disable = Bool()
+ bounce_notify_owner_on_removal = Bool()
+ bounce_processing = Bool()
+ bounce_score_threshold = Int()
+ bounce_unrecognized_goes_to_list_owner = Bool()
+ bounce_you_are_disabled_warnings = Int()
+ bounce_you_are_disabled_warnings_interval = TimeDelta()
+ collapse_alternatives = Bool()
+ convert_html_to_plaintext = Bool()
+ default_member_moderation = Bool()
+ description = Unicode()
+ digest_footer = Unicode()
+ digest_header = Unicode()
+ digest_is_default = Bool()
+ digest_send_periodic = Bool()
+ digest_size_threshold = Int()
+ digest_volume_frequency = Int()
+ digestable = Bool()
+ discard_these_nonmembers = Pickle()
+ emergency = Bool()
+ encode_ascii_prefixes = Bool()
+ filter_action = Int()
+ filter_content = Bool()
+ filter_filename_extensions = Pickle()
+ filter_mime_types = Pickle()
+ first_strip_reply_to = Bool()
+ forward_auto_discards = Bool()
+ gateway_to_mail = Bool()
+ gateway_to_news = Bool()
+ generic_nonmember_action = Int()
+ goodbye_msg = Unicode()
+ header_filter_rules = Pickle()
+ hold_these_nonmembers = Pickle()
+ include_list_post_header = Bool()
+ include_rfc2369_headers = Bool()
+ info = Unicode()
+ linked_newsgroup = Unicode()
+ max_days_to_hold = Int()
+ max_message_size = Int()
+ max_num_recipients = Int()
+ member_moderation_action = Enum()
+ member_moderation_notice = Unicode()
+ mime_is_default_digest = Bool()
+ moderator_password = Unicode()
+ msg_footer = Unicode()
+ msg_header = Unicode()
+ new_member_options = Int()
+ news_moderation = Enum()
+ news_prefix_subject_too = Bool()
+ nntp_host = Unicode()
+ nondigestable = Bool()
+ nonmember_rejection_notice = Unicode()
+ obscure_addresses = Bool()
+ pass_filename_extensions = Pickle()
+ pass_mime_types = Pickle()
+ personalize = Enum()
+ post_id = Int()
+ preferred_language = Unicode()
+ private_roster = Bool()
+ real_name = Unicode()
+ reject_these_nonmembers = Pickle()
+ reply_goes_to_list = Enum()
+ reply_to_address = Unicode()
+ require_explicit_destination = Bool()
+ respond_to_post_requests = Bool()
+ scrub_nondigest = Bool()
+ send_goodbye_msg = Bool()
+ send_reminders = Bool()
+ send_welcome_msg = Bool()
+ subject_prefix = Unicode()
+ subscribe_auto_approval = Pickle()
+ subscribe_policy = Int()
+ topics = Pickle()
+ topics_bodylines_limit = Int()
+ topics_enabled = Bool()
+ unsubscribe_policy = Int()
+ welcome_msg = Unicode()
# Relationships
## has_and_belongs_to_many(
## 'available_languages',