Prevent errors when deleting users before joining TS3

Closes #554
This commit is contained in:
Adarnof 2016-10-25 22:07:35 +00:00
parent 00341f8a50
commit 6d2036e84b

View File

@ -243,8 +243,6 @@ class Teamspeak3Manager:
logger.debug("Deleting user %s with id %s from TS3 server." % (user, uid)) logger.debug("Deleting user %s with id %s from TS3 server." % (user, uid))
if user: if user:
clients = server.send_command('clientlist') clients = server.send_command('clientlist')
logger.debug(clients['keys'])
if clients['keys']:
for client in clients: for client in clients:
try: try:
if client['keys']['client_database_id'] == user: if client['keys']['client_database_id'] == user:
@ -254,22 +252,17 @@ class Teamspeak3Manager:
except: except:
logger.exception("Failed to delete user id %s from TS3 - received response %s" % (uid, client)) logger.exception("Failed to delete user id %s from TS3 - received response %s" % (uid, client))
return False return False
try: try:
ret = server.send_command('clientdbdelete', {'cldbid': user}) ret = server.send_command('clientdbdelete', {'cldbid': user})
except TeamspeakError as e: except TeamspeakError as e:
logger.error("Failed to delete teamspeak user %s: %s" % (uid, str(e))) logger.error("Failed to delete teamspeak user %s: %s" % (uid, str(e)))
return False return False
if ret == '0': if ret == '0':
logger.info("Deleted user with id %s from TS3 server." % uid) logger.info("Deleted user with id %s from TS3 server." % uid)
return True return True
else: else:
logger.exception("Failed to delete user id %s from TS3 - received response %s" % (uid, ret)) logger.exception("Failed to delete user id %s from TS3 - received response %s" % (uid, ret))
return False return False
else:
logger.warning('Received no clients from TS3 server. Assuming user %s already deleted.' % uid)
return True
else: else:
logger.warn("User with id %s not found on TS3 server. Assuming succesful deletion." % uid) logger.warn("User with id %s not found on TS3 server. Assuming succesful deletion." % uid)
return True return True