[prev in list] [next in list] [prev in thread] [next in thread] 

List:       mailman-cvs
Subject:    [Mailman-checkins] [Branch ~mailman-coders/mailman/3.0] Rev 6702:
From:       noreply () launchpad ! net
Date:       2009-03-10 3:01:09
Message-ID: 20090310030109.10818.23963.launchpad () loganberry ! canonical ! com
[Download RAW message or body]

------------------------------------------------------------
revno: 6702
committer: Barry Warsaw <barry@list.org>
branch nick: hacking
timestamp: Thu 2009-03-05 21:30:14 -0500
message:
  Remove the mailman.database setup.py plugin, instead opting for defining the
  database class in the configuration file.
modified:
  setup.py
  src/mailman/config/schema.cfg
  src/mailman/core/initialize.py
  src/mailman/interfaces/handler.py

=== modified file 'setup.py'
--- setup.py	2009-02-17 04:57:30 +0000
+++ setup.py	2009-03-06 02:30:14 +0000
@@ -94,7 +94,6 @@
     entry_points    = {
         'console_scripts': list(scripts),
         'mailman.commands'  : list(commands),
-        'mailman.database'  : 'stock = mailman.database:StockDatabase',
         'mailman.handlers'  : 'default = mailman.pipeline:initialize',
         'mailman.rules'     : 'default = mailman.rules:initialize',
         'mailman.scrubber'  : 'stock = mailman.archiving.pipermail:Pipermail',

=== modified file 'src/mailman/config/schema.cfg'
--- src/mailman/config/schema.cfg	2009-02-10 03:19:18 +0000
+++ src/mailman/config/schema.cfg	2009-03-06 02:30:14 +0000
@@ -97,6 +97,9 @@
 sleep_time: 1s
 
 [database]
+# The class implementing the IDatabase interface.
+class: mailman.database.StockDatabase
+
 # Use this to set the Storm database engine URL.  You generally have one
 # primary database connection for all of Mailman.  List data and most rosters
 # will store their data in this database, although external rosters may access

=== modified file 'src/mailman/core/initialize.py'
--- src/mailman/core/initialize.py	2009-03-03 05:31:03 +0000
+++ src/mailman/core/initialize.py	2009-03-06 02:30:14 +0000
@@ -36,6 +36,7 @@
 
 
 import os
+import sys
 
 from zope.interface.interface import adapter_hooks
 from zope.interface.verify import verifyObject
@@ -43,7 +44,6 @@
 import mailman.config.config
 import mailman.core.logging
 
-from mailman.core.plugins import get_plugin
 from mailman.interfaces.database import IDatabase
 
 
@@ -89,10 +89,12 @@
     :param debug: Should the database layer be put in debug mode?
     :type debug: boolean
     """
-    database_plugin = get_plugin('mailman.database')
-    # Instantiate the database plugin, ensure that it's of the right type, and
+    # Instantiate the database class, ensure that it's of the right type, and
     # initialize it.  Then stash the object on our configuration object.
-    database = database_plugin()
+    database_class = mailman.config.config.database['class']
+    module_name, class_name = database_class.rsplit('.', 1)
+    __import__(module_name)
+    database = getattr(sys.modules[module_name], class_name)()
     verifyObject(IDatabase, database)
     database.initialize(debug)
     mailman.config.config.db = database

=== modified file 'src/mailman/interfaces/handler.py'
--- src/mailman/interfaces/handler.py	2009-01-17 02:04:21 +0000
+++ src/mailman/interfaces/handler.py	2009-03-06 02:30:14 +0000
@@ -25,7 +25,7 @@
     ]
 
 
-from zope.interface import Interface, Attribute
+from zope.interface import Attribute, Interface
 
 
 



--
Primary development focus
https://code.launchpad.net/~mailman-coders/mailman/3.0

Your team Mailman Checkins is subscribed to branch lp:mailman.
To unsubscribe from this branch go to \
https://code.launchpad.net/~mailman-coders/mailman/3.0/+edit-subscription. \
_______________________________________________ Mailman-checkins mailing list
Mailman-checkins@python.org
Unsubscribe: http://mail.python.org/mailman/options/mailman-checkins/mailman-cvs%40progressive-comp.com



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic