I think we have to qualify a better report before sending to mailman team, i'm using r7229 of lp:mailman, and i wrote this simple mlist.py module : #-*- coding: utf-8 -*-
from mailman.interfaces.mailinglist import IListArchiverSet
def showArchiver(mlist): "" archiver_set = IListArchiverSet(mlist) # new feature of http://bazaar.launchpad.net/~mailman-coders/mailman/3.0/revision/7228
then i'm trying to run it :
(py27)mailman@mail:~$ mailman withlist -r mlist.showArchiver mylist Traceback (most recent call last): File "/home/mailman/py27/bin/mailman", line 9, in <module> load_entry_point('mailman==3.0.0b3-', 'console_scripts', 'mailman')() File "/home/mailman/py27/local/lib/python2.7/site-packages/mailman-3.0.0b3_-py2.7.egg/mailman/bin/mailman.py", line 98, in main args.func(args) File "/home/mailman/py27/local/lib/python2.7/site-packages/mailman-3.0.0b3_-py2.7.egg/mailman/commands/cli_withlist.py", line 134, in process r = call_name(dotted_name, m) File "/home/mailman/py27/local/lib/python2.7/site-packages/mailman-3.0.0b3_-py2.7.egg/mailman/utilities/modules.py", line 65, in call_name return named_callable(*args, **kws) File "/home/mailman/mlist.py", line 7, in showArchiver archiver_set = IListArchiverSet(mlist) File "/home/mailman/py27/local/lib/python2.7/site-packages/zope.component-4.1.0-py2.7.egg/zope/component/hookable.py", line 33, in __call__ return self.__implementation(*args, **kw) File "/home/mailman/py27/local/lib/python2.7/site-packages/zope.component-4.1.0-py2.7.egg/zope/component/_api.py", line 156, in adapter_hook return sitemanager.queryAdapter(object, interface, name, default) File "/home/mailman/py27/local/lib/python2.7/site-packages/zope.interface-4.0.5-py2.7-linux-x86_64.egg/zope/interface/registry.py", line 229, in queryAdapter return self.adapters.queryAdapter(object, interface, name, default) File "/home/mailman/py27/local/lib/python2.7/site-packages/mailman-3.0.0b3_-py2.7.egg/mailman/model/mailinglist.py", line 590, in __init__ ListArchiver.name == archiver_name)).one() File "/home/mailman/py27/local/lib/python2.7/site-packages/storm-0.20-py2.7-linux-x86_64.egg/storm/expr.py", line 412, in __eq__ other = getattr(self, "variable_factory", Variable)(value=other) File "/home/mailman/py27/local/lib/python2.7/site-packages/storm-0.20-py2.7-linux-x86_64.egg/storm/variables.py", line 396, in parse_set % (type(value), value)) TypeError: Expected unicode, found <type 'str'>: 'hyperkitty'
This tends to be confirmed by conf dump : (py27)mailman@mail:~$ mailman conf [logging.archiver] path: archiver.log [logging.archiver] datefmt: %b %d %H:%M:%S %Y [logging.archiver] format: %(asctime)s (%(process)d) %(message)s [logging.archiver] propagate: no [logging.archiver] level: debug [logging.locks] path: mailman.log [logging.locks] datefmt: %b %d %H:%M:%S %Y [logging.locks] format: %(asctime)s (%(process)d) %(message)s [logging.locks] propagate: no [logging.locks] level: info [passwords] configuration: python:mailman.config.passlib [passwords] password_length: 8 [logging.mischief] path: mailman.log [logging.mischief] datefmt: %b %d %H:%M:%S %Y [logging.mischief] format: %(asctime)s (%(process)d) %(message)s [logging.mischief] propagate: no [logging.mischief] level: info [mailman] filtered_messages_are_preservable: no [mailman] post_hook: [mailman] layout: dev [mailman] default_language: en [mailman] pending_request_life: 3d [mailman] noreply_address: noreply [mailman] site_owner: owner [mailman] sender_headers: from from_ reply-to sender [mailman] pre_hook: [mailman] email_commands_max_lines: 10 [archiver.prototype] enable: no [archiver.prototype] clobber_date: maybe [archiver.prototype] class: mailman.archiving.prototype.Prototype [archiver.prototype] configuration: changeme [archiver.prototype] clobber_skew: 1d [devmode] recipient: [devmode] testing: no [devmode] enabled: no [devmode] wait: 10s [archiver.mail_archive] enable: no [archiver.mail_archive] clobber_date: maybe [archiver.mail_archive] class: mailman.archiving.mailarchive.MailArchive [archiver.mail_archive] configuration: python:mailman.config.mail_archive [archiver.mail_archive] clobber_skew: 1d [logging.config] path: config.log [logging.config] datefmt: %b %d %H:%M:%S %Y [logging.config] format: %(asctime)s (%(process)d) %(message)s [logging.config] propagate: no [logging.config] level: debug [antispam] header_checks: [antispam] jump_chain: hold [digests] mime_digest_keep_headers: Date From To Cc Subject Message-ID Keywords In-Reply-To References Content-Type MIME-Version Content-Transfer-Encoding Precedence Reply-To Message List-Post [digests] plain_digest_keep_headers: Message Date From Subject To Cc Message-ID Keywords Content-Type [styles] default: legacy-default [styles] paths: mailman.styles [shell] use_ipython: no [shell] banner: Welcome to the GNU Mailman shell [shell] prompt: >>> [logging.error] path: mailman.log [logging.error] datefmt: %b %d %H:%M:%S %Y [logging.error] format: %(asctime)s (%(process)d) %(message)s [logging.error] propagate: no [logging.error] level: info [logging.smtp] datefmt: %b %d %H:%M:%S %Y [logging.smtp] success: $msgid post to $listname from $sender, $size bytes [logging.smtp] format: %(asctime)s (%(process)d) %(message)s [logging.smtp] level: info [logging.smtp] refused: $msgid post to $listname from $sender, $size bytes, $refused failures [logging.smtp] failure: $msgid delivery to $recip failed with code $smtpcode, $smtpmsg [logging.smtp] every: $msgid smtp to $listname for $recip recips, completed in $time seconds [logging.smtp] path: smtp.log [logging.smtp] propagate: no [logging.http] path: mailman.log [logging.http] datefmt: %b %d %H:%M:%S %Y [logging.http] format: %(asctime)s (%(process)d) %(message)s [logging.http] propagate: no [logging.http] level: info [logging.root] path: mailman.log [logging.root] datefmt: %b %d %H:%M:%S %Y [logging.root] format: %(asctime)s (%(process)d) %(message)s [logging.root] propagate: no [logging.root] level: info [logging.fromusenet] path: mailman.log [logging.fromusenet] datefmt: %b %d %H:%M:%S %Y [logging.fromusenet] format: %(asctime)s (%(process)d) %(message)s [logging.fromusenet] propagate: no [logging.fromusenet] level: info [logging.bounce] path: bounce.log [logging.bounce] datefmt: %b %d %H:%M:%S %Y [logging.bounce] format: %(asctime)s (%(process)d) %(message)s [logging.bounce] propagate: no [logging.bounce] level: info [logging.vette] path: mailman.log [logging.vette] datefmt: %b %d %H:%M:%S %Y [logging.vette] format: %(asctime)s (%(process)d) %(message)s [logging.vette] propagate: no [logging.vette] level: info [webservice] admin_pass: restpass [webservice] admin_user: restadmin [webservice] show_tracebacks: yes [webservice] hostname: localhost [webservice] api_version: 3.0 [webservice] port: 8001 [webservice] use_https: no [database] url: sqlite:///$DATA_DIR/mailman.db [database] debug: on [database] migrations_path: mailman.database.schema [database] class: mailman.database.sqlite.SQLiteDatabase [nntp] rewrite_duplicate_headers: To X-Original-To CC X-Original-CC Content-Transfer-Encoding X-Original-Content-Transfer-Encoding MIME-Version X-MIME-Version [nntp] port: [nntp] host: [nntp] user: [nntp] password: [nntp] remove_headers: nntp-posting-host nntp-posting-date x-trace x-complaints-to xref date-received posted posting-version relay-version received [logging.runner] path: runner.log [logging.runner] datefmt: %b %d %H:%M:%S %Y [logging.runner] format: %(asctime)s (%(process)d) %(message)s [logging.runner] propagate: no [logging.runner] level: debug [bounces] register_bounces_every: 15m [logging.subscribe] path: mailman.log [logging.subscribe] datefmt: %b %d %H:%M:%S %Y [logging.subscribe] format: %(asctime)s (%(process)d) %(message)s [logging.subscribe] propagate: no [logging.subscribe] level: info [logging.debug] path: debug.log [logging.debug] datefmt: %b %d %H:%M:%S %Y [logging.debug] format: %(asctime)s (%(process)d) %(message)s [logging.debug] propagate: no [logging.debug] level: info [mta] verp_confirm_regexp: ^(.*<)?(?P<addr>[^+]+?)+(?P<cookie>[^@]+)@.*$ [mta] verp_confirm_format: $address+$cookie [mta] lmtp_port: 8024 [mta] verp_probe_format: $bounces+$token@$domain [mta] verp_probe_regexp: ^(?P<bounces>[^+]+?)+(?P<token>[^@]+)@.*$ [mta] verp_regexp: ^(?P<bounces>[^+]+?)+(?P<local>[^=]+)=(?P<domain>[^@]+)@.*$ [mta] max_recipients: 500 [mta] verp_personalized_deliveries: no [mta] max_sessions_per_connection: 0 [mta] smtp_port: 25 [mta] smtp_pass: [mta] max_autoresponses_per_day: 10 [mta] outgoing: mailman.mta.deliver.deliver [mta] delivery_retry_period: 5d [mta] remove_dkim_headers: no [mta] smtp_host: mail.menestrel.local [mta] max_delivery_threads: 0 [mta] lmtp_host: mail.menestrel.local [mta] verp_format: ${bounces}+${local}=${domain} [mta] configuration: python:mailman.config.postfix [mta] verp_delivery_interval: 0 [mta] incoming: mailman.mta.postfix.LMTP [mta] verp_delimiter: + [mta] smtp_user: [mta] verp_probes: no [mta] verp_confirmations: no [archiver.mhonarc] enable: no [archiver.mhonarc] clobber_date: maybe [archiver.mhonarc] class: mailman.archiving.mhonarc.MHonArc [archiver.mhonarc] configuration: python:mailman.config.mhonarc [archiver.mhonarc] clobber_skew: 1d
while i have var/etc/mailman.cfg is :
(py27)mailman@mail:~$ more var/etc/mailman.cfg # AUTOMATICALLY GENERATED BY MAILMAN ON 2013-11-26 22:27:51 # # This is your GNU Mailman 3 configuration file. You can edit this file to # configure Mailman to your needs, and Mailman will never overwrite it. # Additional configuration information is (for now) available in the # schema.cfg file http://tinyurl.com/cm5rtqe and the base mailman.cfg file # http://tinyurl.com/dx9b8eg. # # For example, uncomment the following lines to run Mailman in developer mode. # #[devmode] #enabled: yes #recipient: your.address@your.domain [mailman] site_owner: owner #default_language: fr [mta] incoming: mailman.mta.postfix.LMTP outgoing: mailman.mta.deliver.deliver lmtp_host: mail.menestrel.local lmtp_port: 8024 smtp_host: mail.menestrel.local smtp_port: 25
[postfix] # Additional configuration variables for the postfix MTA.
# This variable describe the program to use for regenerating the transport map # db file, from the associated plain text files. The file being updated will # be appended to this string (with a separating space), so it must be # appropriate for os.system(). postmap_command: /usr/sbin/postmap
[logging.archiver] format: %(asctime)s (%(process)d) %(message)s datefmt: %b %d %H:%M:%S %Y propagate: no level: debug path: archiver.log
[logging.config] level: debug path: config.log [logging.runner] level: debug path: runner.log
[archiver.hyperkitty] class: hyperkitty.archiver.Archiver enable: yes configuration: /home/mailman/hyperkitty_standalone/hyperkitty.cfg
[runner.lmtp] class: mailman.runners.lmtp.LMTPRunner path: /home/mailman/mailman/var/data/postfix_lmtp.db
See, archiver.hyperkitty didn't show up at mailman conf while some other custom conf is shown correctly...
can you reproduce this on your side ?