summaryrefslogtreecommitdiff
path: root/Mailman/database/usermanager.py
diff options
context:
space:
mode:
authorBarry Warsaw2007-11-07 06:55:13 -0500
committerBarry Warsaw2007-11-07 06:55:13 -0500
commitc8940f127f99071cb4f256007ece39e6a14a5302 (patch)
tree41fba10cdfe345d0af3d318f7fdb9d1e76ef7e0e /Mailman/database/usermanager.py
parentd6377c92857c513faf484ef9a91a6b00da789d4b (diff)
downloadmailman-c8940f127f99071cb4f256007ece39e6a14a5302.tar.gz
mailman-c8940f127f99071cb4f256007ece39e6a14a5302.tar.zst
mailman-c8940f127f99071cb4f256007ece39e6a14a5302.zip
Diffstat (limited to 'Mailman/database/usermanager.py')
-rw-r--r--Mailman/database/usermanager.py21
1 files changed, 15 insertions, 6 deletions
diff --git a/Mailman/database/usermanager.py b/Mailman/database/usermanager.py
index 6fecfcc8b..f58e52e68 100644
--- a/Mailman/database/usermanager.py
+++ b/Mailman/database/usermanager.py
@@ -54,7 +54,9 @@ class UserManager(object):
yield user
def get_user(self, address):
- addresses = Address.query.filter_by(address=address.lower())
+ # Avoid circular imports.
+ from Mailman.database.model import Address
+ addresses = config.db.store.find(Address, address=address.lower())
if addresses.count() == 0:
return None
elif addresses.count() == 1:
@@ -63,17 +65,20 @@ class UserManager(object):
raise AssertionError('Unexpected query count')
def create_address(self, address, real_name=None):
- addresses = Address.query.filter_by(address=address.lower())
+ # Avoid circular imports.
+ from Mailman.database.model import Address, Preferences
+ addresses = config.db.store.find(Address, address=address.lower())
if addresses.count() == 1:
found = addresses[0]
raise Errors.ExistingAddressError(found.original_address)
assert addresses.count() == 0, 'Unexpected results'
if real_name is None:
- real_name = ''
+ real_name = u''
# It's okay not to lower case the 'address' argument because the
# constructor will do the right thing.
address = Address(address, real_name)
address.preferences = Preferences()
+ config.db.store.add(address)
return address
def delete_address(self, address):
@@ -81,10 +86,12 @@ class UserManager(object):
# unlinked before the address can be deleted.
if address.user:
address.user.unlink(address)
- address.delete()
+ config.db.store.remove(address)
def get_address(self, address):
- addresses = Address.query.filter_by(address=address.lower())
+ # Avoid circular imports.
+ from Mailman.database.model import Address
+ addresses = config.db.store.find(Address, address=address.lower())
if addresses.count() == 0:
return None
elif addresses.count() == 1:
@@ -94,5 +101,7 @@ class UserManager(object):
@property
def addresses(self):
- for address in Address.query.filter_by().all():
+ # Avoid circular imports.
+ from Mailman.database.model.address import Address
+ for address in config.db.store.find(Address):
yield address