import logging
import urllib
-from misc import Singleton
+from misc import Object
from settings import Settings
-class Accounts(object):
- __metaclass__ = Singleton
-
+class Accounts(Object):
@property
def settings(self):
return Settings()
- def __init__(self):
+ def __init__(self, backend):
+ Object.__init__(self, backend)
self.__db = None
self._init()
for dn, attrs in results:
#if attrs["loginShell"] == ["/bin/bash"]:
- self._accounts[dn] = Account(dn)
+ self._accounts[dn] = Account(self.backend, dn)
def list(self):
return sorted(self._accounts.values())
search = find
-class Account(object):
- def __init__(self, dn):
+class Account(Object):
+ def __init__(self, backend, dn):
+ Object.__init__(self, backend)
self.dn = dn
self.__attributes = {}
@property
def db(self):
- return Accounts().db
+ return self.accounts.db
@property
def attributes(self):
def is_admin(self):
return True # XXX todo
+ @property
+ def name(self):
+ return self.cn
+
@property
def email(self):
name = self.cn.lower()