~sambuddhabasu1/mailman/fix_mailman_run_error

« back to all changes in this revision

Viewing changes to Mailman/database/usermanager.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:
25
25
 
26
26
from Mailman import Errors
27
27
from Mailman.configuration import config
 
28
from Mailman.database.address import Address
 
29
from Mailman.database.preferences import Preferences
 
30
from Mailman.database.user import User
28
31
from Mailman.interfaces import IUserManager
29
32
 
30
33
 
33
36
    implements(IUserManager)
34
37
 
35
38
    def create_user(self, address=None, real_name=None):
36
 
        # Avoid circular imports.
37
 
        from Mailman.database.model import Address, Preferences, User
38
39
        user = User()
39
40
        user.real_name = (u'' if real_name is None else real_name)
40
41
        if address:
50
51
 
51
52
    @property
52
53
    def users(self):
53
 
        # Avoid circular imports.
54
 
        from Mailman.database.model import User
55
54
        for user in config.db.store.find(User):
56
55
            yield user
57
56
 
58
57
    def get_user(self, address):
59
 
        # Avoid circular imports.
60
 
        from Mailman.database.model import Address
61
58
        addresses = config.db.store.find(Address, address=address.lower())
62
59
        if addresses.count() == 0:
63
60
            return None
67
64
            raise AssertionError('Unexpected query count')
68
65
 
69
66
    def create_address(self, address, real_name=None):
70
 
        # Avoid circular imports.
71
 
        from Mailman.database.model import Address, Preferences
72
67
        addresses = config.db.store.find(Address, address=address.lower())
73
68
        if addresses.count() == 1:
74
69
            found = addresses[0]
91
86
        config.db.store.remove(address)
92
87
 
93
88
    def get_address(self, address):
94
 
        # Avoid circular imports.
95
 
        from Mailman.database.model import Address
96
89
        addresses = config.db.store.find(Address, address=address.lower())
97
90
        if addresses.count() == 0:
98
91
            return None
103
96
 
104
97
    @property
105
98
    def addresses(self):
106
 
        # Avoid circular imports.
107
 
        from Mailman.database.model.address import Address
108
99
        for address in config.db.store.find(Address):
109
100
            yield address