Esempio n. 1
0
File: userbase.py Progetto: hick/x84
    def get(self, key, default=None):
        # pylint: disable=C0111,
        #        Missing docstring
        from x84.bbs import ini
        log = logging.getLogger(__name__)
        adb = DBProxy(USERDB, 'attrs')

        if self.handle not in adb:
            if ini.CFG.getboolean('session', 'tap_db'):
                log.debug(
                    'User({!r}).get(key={!r}) returns default={!r}'.format(
                        self.handle, key, default))
            return default

        attrs = adb.get(self.handle, {})
        if key not in attrs:
            if ini.CFG.getboolean('session', 'tap_db'):
                log.debug(
                    'User({!r}.get(key={!r}) returns default={!r}'.format(
                        self.handle, key, default))
            return default

        if ini.CFG.getboolean('session', 'tap_db'):
            log.debug('User({!r}.get(key={!r}) returns value.'.format(
                self.handle, key))
        return attrs[key]
Esempio n. 2
0
def list_privmsgs(handle=None):
    """ Return all private messages for given user handle. """
    db_priv = DBProxy(PRIVDB)
    if handle:
        return db_priv.get(handle, set())
    # flatten list of [set(1, 2), set(3, 4)] to set(1, 2, 3, 4)
    return set([_idx for indices in db_priv.values() for _idx in indices])
Esempio n. 3
0
def list_privmsgs(handle=None):
    """ Return all private messages for given user handle. """
    db_priv = DBProxy(PRIVDB)
    if handle:
        return db_priv.get(handle, set())
    # flatten list of [set(1, 2), set(3, 4)] to set(1, 2, 3, 4)
    return set([_idx for indices in db_priv.values() for _idx in indices])
Esempio n. 4
0
File: userbase.py Progetto: hick/x84
 def __delitem__(self, key):
     # pylint: disable=C0111,
     #        Missing docstring
     log = logging.getLogger(__name__)
     uadb = DBProxy(USERDB, 'attrs')
     with uadb:
         # retrieve attributes from uadb,
         attrs = uadb.get(self.handle, {})
         # delete attribute if exists
         if key in attrs:
             attrs.__delitem__(key)
             uadb[self.handle] = attrs
             log.info("User({!r}) delete attr {!r}.".format(
                 self.handle, key))
Esempio n. 5
0
File: userbase.py Progetto: hick/x84
 def __delitem__(self, key):
     # pylint: disable=C0111,
     #        Missing docstring
     log = logging.getLogger(__name__)
     uadb = DBProxy(USERDB, 'attrs')
     with uadb:
         # retrieve attributes from uadb,
         attrs = uadb.get(self.handle, {})
         # delete attribute if exists
         if key in attrs:
             attrs.__delitem__(key)
             uadb[self.handle] = attrs
             log.info("User({!r}) delete attr {!r}."
                      .format(self.handle, key))
Esempio n. 6
0
File: userbase.py Progetto: hick/x84
    def get(self, key, default=None):
        # pylint: disable=C0111,
        #        Missing docstring
        from x84.bbs import ini
        log = logging.getLogger(__name__)
        adb = DBProxy(USERDB, 'attrs')

        if self.handle not in adb:
            if ini.CFG.getboolean('session', 'tap_db'):
                log.debug('User({!r}).get(key={!r}) returns default={!r}'
                          .format(self.handle, key, default))
            return default

        attrs = adb.get(self.handle, {})
        if key not in attrs:
            if ini.CFG.getboolean('session', 'tap_db'):
                log.debug('User({!r}.get(key={!r}) returns default={!r}'
                          .format(self.handle, key, default))
            return default

        if ini.CFG.getboolean('session', 'tap_db'):
            log.debug('User({!r}.get(key={!r}) returns value.'
                      .format(self.handle, key))
        return attrs[key]