~sambuddhabasu1/mailman/fix_mailman_run_error

« back to all changes in this revision

Viewing changes to Mailman/database/messagestore.py

  • Committer: Barry Warsaw
  • Date: 2007-12-08 16:51:36 UTC
  • Revision ID: barry@python.org-20071208165136-gcm3v8d7o3jbb0tt
Reorganize the database subpackage, primarily by removing the 'model'
subdirectory and updating all relevant imports.  Move of the circular
import problems have been eliminated in the process.

Show diffs side-by-side

added added

removed removed

Lines of Context:
32
32
 
33
33
from Mailman import Utils
34
34
from Mailman.configuration import config
 
35
from Mailman.database.message import Message
35
36
from Mailman.interfaces import IMessageStore
36
37
 
37
38
# It could be very bad if you have already stored files and you change this
45
46
    implements(IMessageStore)
46
47
 
47
48
    def add(self, message):
48
 
        from Mailman.database.model import Message
49
49
        # Ensure that the message has the requisite headers.
50
50
        message_ids = message.get_all('message-id', [])
51
51
        if len(message_ids) <> 1:
96
96
            return pickle.load(fp)
97
97
 
98
98
    def get_messages_by_message_id(self, message_id):
99
 
        # Avoid circular imports.
100
 
        from Mailman.database.model.message import Message
101
99
        for msgrow in config.db.store.find(Message, message_id=message_id):
102
100
            yield self._msgobj(msgrow)
103
101
 
104
102
    def get_messages_by_hash(self, hash):
105
 
        # Avoid circular imports.
106
 
        from Mailman.database.model.message import Message
107
103
        # It's possible the hash came from a message header, in which case it
108
104
        # will be a Unicode.  However when coming from source code, it will
109
105
        # always be an 8-string.  Coerce to the latter if necessary; it must
119
115
            seqno = int(seqno)
120
116
        except ValueError:
121
117
            return None
122
 
        # Avoid circular imports.
123
 
        from Mailman.database.model.message import Message
124
118
        messages = config.db.store.find(Message, id=seqno)
125
119
        if messages.count() == 0:
126
120
            return None
137
131
 
138
132
    @property
139
133
    def messages(self):
140
 
        # Avoid circular imports.
141
 
        from Mailman.database.model.message import Message
142
134
        for msgrow in config.db.store.find(Message):
143
135
            yield self._msgobj(msgrow)
144
136