def deleteUser(user): makeSureNotLdap() curs= YDB.getCursor() YDB.executeQuery(curs, 'DELETE FROM user_t ' + 'WHERE login = %(user)s', locals()) YDB.executeQuery(curs, 'DELETE FROM userprefs_t ' + 'WHERE login = %(user)s', locals()) galeid= user path= KeyStore.privPath(galeid) if path is not None: os.unlink(path) YDB.close(curs)
def userExists(username): curs= YDB.getCursor() results= YDB.executeQuery(curs, 'SELECT login FROM user_t WHERE login=%(username)s', locals()) YDB.close(curs) return results is not None and len(results) > 0
def displayPrivateCheckForm(self): res= self._response lastPrivateConfirm= self.u['last.private.time'] if not lastPrivateConfirm or lastPrivateConfirm == '': self.debugMessage("no last.private.time for user %s; u=%s" % (self.peekUsername(), self.u)) lastPrivateConfirm= 0 lastPrivateDisplay= '' else: lastPrivateConfirm= int(lastPrivateConfirm) lastPrivateConfirm= time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(lastPrivateConfirm)) lastPrivateDisplay= 'since ' + lastPrivateConfirm[0:-3] query= ("SELECT COUNT(*) FROM puffs_t p, " + \ "tos_t t WHERE " + \ "(t.cat = '%s' OR t.cat LIKE '%s') " + \ "AND p.puffid=t.puffid AND " + \ "p.ssdate > '%s'") % (self.getGaleId(), self.getGaleIdPat(), lastPrivateConfirm) curs= YDB.getCursor() (countl,)= YDB.executeQuery(curs, query, {}) YDB.close(curs) count= countl[0] s= '' pronoun= 'it' if count > 1: s= 's' pronoun= 'them' if count > 0: url= self.getStrippedUri() res.write(""" <p> <img align="middle" alt="new messages" src="/images/newmsg.png"> <span class="error">%s new private message%s %s </span> <a href="%s?subs=&_action_=confirm+private"><img align="middle" alt="view now" src="/images/go.png"></a><a href="%s?subs=&_action_=confirm+private">View %s now</a> <a href="%s?_action_=confirm+private"><img align="middle" alt="already seen" src="/images/check.png"></a><a href="%s?_action_=confirm+private">I've seen %s</a> </p> """ % (count, s, lastPrivateDisplay, url, url, pronoun, url, url, pronoun))
def getQuery(map, query): curs= YDB.getCursor() results= YDB.executeQuery(curs, query, map) YDB.close(curs) return results