[Mailman-Developers] HyperArch

Thomas Wouters thomas@xs4all.net
Wed, 19 Jul 2000 13:21:17 +0200


On Wed, Jul 19, 2000 at 11:31:55AM +0200, Cristian Prevedello wrote:

> i'm writing a program to approve requests from command line. I don't know
> mailman internals, so i just went throught the source looking how ListAdmin
> do the Accept/Reject/...

> When i do a Post, i got the following error from a background process(i
> think):

> (Cmd) Traceback (innermost last):
>   File "/var/lib/mailman/Mailman/Archiver/Archiver.py", line 242, in
> ArchiveMail
>     h.close()
>       File "/usr/lib/mailman/Mailman/Archiver/HyperArch.py", line 907, in
> close
>     self.update_dirty_archives()# Update all changed archives
>       File "/usr/lib/mailman/Mailman/Archiver/HyperArch.py", line 870, in
> update_dirty_archives
>     self.update_archive(i)
>       File "/usr/lib/mailman/Mailman/Archiver/pipermail.py", line 322, in
> update_archive
>     article=self.database.getArticle(self.archive, msgid)
>       File "/var/lib/mailman/Mailman/Archiver/HyperDatabase.py", line 276,
> in getArticle
>     article = self.__cache[msgid] = pickle.loads(buf)
>     ImportError: No module named HyperArch

> i'm using Mailman version 1.1.

Eep, don't do that. Grab the latest beta, or a snapshot of the CVS tree. Too
much has changed since 1.1 for your script to be useful (and trust me, it'd
be useful -- a few of my colleagues have been nagging for it ;)

Also, the above problem is no longer present in 2.0. (The problem is that
HyperArch needs to be in your import path for the fork()ed process to be
able to deal with archiving. In 2.0, this is all changed, the approved
message is put in the generic message queue instead, and handled from there
by the queuerunner, from cron.)

If you insist on using 1.1, you can probably fix it by appending
'/usr/lib/mailman/Mailman/Archiver' to your python's sys.path.

-- 
Thomas Wouters <thomas@xs4all.net>

Hi! I'm a .signature virus! copy me into your .signature file to help me spread!