# HG changeset patch # User Pascal Volk # Date 1250738906 0 # Node ID 7ccc05774118df0747cfc1a63b3ef6ead367983d # Parent 928659c8ee9fe296f195be516104f7342afb3463 Converted to new-style class, added __slots__, updated queries. Use the _uid attribute in queries whenever it is possible. diff -r 928659c8ee9f -r 7ccc05774118 VirtualMailManager/Account.py --- a/VirtualMailManager/Account.py Thu Aug 20 02:00:25 2009 +0000 +++ b/VirtualMailManager/Account.py Thu Aug 20 03:28:26 2009 +0000 @@ -14,8 +14,9 @@ import VirtualMailManager as VMM import constants.ERROR as ERR -class Account: +class Account(object): """Class to manage e-mail accounts.""" + __slots__ = ('_addr','_base','_gid','_mid','_passwd','_tid','_uid','_dbh') def __init__(self, dbh, address, password=None): self._dbh = dbh self._base = None @@ -152,15 +153,15 @@ return False dbc = self._dbh.cursor() if what == 'password': - dbc.execute("UPDATE users SET passwd=%s WHERE local_part=%s AND\ - gid=%s", value, self._addr._localpart, self._gid) + dbc.execute('UPDATE users SET passwd = %s WHERE uid = %s', + value, self._uid) elif what == 'transport': self._tid = Transport(self._dbh, transport=value).getID() - dbc.execute("UPDATE users SET tid=%s WHERE local_part=%s AND\ - gid=%s", self._tid, self._addr._localpart, self._gid) + dbc.execute('UPDATE users SET tid = %s WHERE uid = %s', + self._tid, self._uid) else: - dbc.execute("UPDATE users SET name=%s WHERE local_part=%s AND\ - gid=%s", value, self._addr._localpart, self._gid) + dbc.execute('UPDATE users SET name = %s WHERE uid = %s', + value, self._uid) if dbc.rowcount > 0: self._dbh.commit() dbc.close() @@ -212,8 +213,7 @@ ERR.NO_SUCH_ACCOUNT) dbc = self._dbh.cursor() if delalias == 'delalias': - dbc.execute("DELETE FROM users WHERE gid=%s AND local_part=%s", - self._gid, self._addr._localpart) + dbc.execute('DELETE FROM users WHERE uid= %s', self._uid) u_rc = dbc.rowcount # delete also all aliases where the destination address is the same # as for this account. @@ -224,8 +224,7 @@ else: # check first for aliases a_count = self.__aliaseCount() if a_count == 0: - dbc.execute("DELETE FROM users WHERE gid=%s AND local_part=%s", - self._gid, self._addr._localpart) + dbc.execute('DELETE FROM users WHERE uid = %s', self._uid) if dbc.rowcount > 0: self._dbh.commit() else: