summaryrefslogtreecommitdiff
path: root/Mailman/database/usermanager.py
diff options
context:
space:
mode:
authorBarry Warsaw2007-06-09 15:20:32 -0400
committerBarry Warsaw2007-06-09 15:20:32 -0400
commit3231fd628f6eea30bd6e2be56eb419ed0008d954 (patch)
tree176f80a7b4f72c410e30ab9ba3e3fe2deb1bb1fe /Mailman/database/usermanager.py
parente5c04e2a93a58d799dd3940a7935853eb1f2e3e4 (diff)
downloadmailman-3231fd628f6eea30bd6e2be56eb419ed0008d954.tar.gz
mailman-3231fd628f6eea30bd6e2be56eb419ed0008d954.tar.zst
mailman-3231fd628f6eea30bd6e2be56eb419ed0008d954.zip
Diffstat (limited to 'Mailman/database/usermanager.py')
-rw-r--r--Mailman/database/usermanager.py51
1 files changed, 11 insertions, 40 deletions
diff --git a/Mailman/database/usermanager.py b/Mailman/database/usermanager.py
index 97a740803..ed0b552a8 100644
--- a/Mailman/database/usermanager.py
+++ b/Mailman/database/usermanager.py
@@ -35,47 +35,18 @@ from Mailman.interfaces import IUserManager
class UserManager(object):
implements(IUserManager)
- def __init__(self):
- # Create the null roster if it does not already exist. It's more
- # likely to exist than not so try to get it before creating it.
- lockfile = os.path.join(config.LOCK_DIR, '<umgrcreatelock>')
- with LockFile(lockfile):
- roster = self.get_roster('')
- if roster is None:
- self.create_roster('')
- objectstore.flush()
-
- def create_roster(self, name):
- roster = Roster.get_by(name=name)
- if roster:
- raise Errors.RosterExistsError(name)
- return Roster(name=name)
-
- def get_roster(self, name):
- return Roster.get_by(name=name)
-
- def delete_roster(self, roster):
- roster.delete()
-
- @property
- def rosters(self):
- for roster in Roster.select():
- yield roster
-
- def create_rosterset(self, name):
- return RosterSet(name=name)
-
- def delete_rosterset(self, rosterset):
- rosterset.delete()
-
- def get_rosterset(self, name):
- return RosterSet.get_by(name=name)
-
- def create_user(self):
+ def create_user(self, address=None, real_name=None):
user = User()
- # Users always have a profile
- user.profile = Profile()
- user.profile.user = user
+ # Users always have preferences
+ user.preferences = Preferences()
+ user.preferences.user = user
+ if real_name:
+ user.real_name = real_name
+ if address:
+ kws = dict(address=address)
+ if real_name:
+ kws['real_name'] = real_name
+ user.link(Address(**kws))
return user
def delete_user(self, user):