disconnect online clients after parsing to display correct onlinetime
* toggle by setting tsstats.log(online_dc=) * fix #1
This commit is contained in:
parent
a1c5f67c0c
commit
4e4eacd3af
|
@ -40,17 +40,19 @@ def parse_logs(log_glob, ident_map=None):
|
||||||
return clients
|
return clients
|
||||||
|
|
||||||
|
|
||||||
def parse_log(log_path, ident_map=None, clients=None):
|
def parse_log(log_path, ident_map=None, clients=None, online_dc=True):
|
||||||
'''
|
'''
|
||||||
parse log-file at `log_path`
|
parse log-file at `log_path`
|
||||||
|
|
||||||
:param log_path: path to log-file
|
:param log_path: path to log-file
|
||||||
:param ident_map: :doc:`identmap`
|
:param ident_map: :doc:`identmap`
|
||||||
:param clients: clients-object to add parsing-results to
|
:param clients: clients-object to add parsing-results to
|
||||||
|
:param online_cd: disconnect online clients after parsing
|
||||||
|
|
||||||
:type log_path: str
|
:type log_path: str
|
||||||
:type ident_map: dict
|
:type ident_map: dict
|
||||||
:type clients: tsstats.client.Clients
|
:type clients: tsstats.client.Clients
|
||||||
|
:type online_cd: bool
|
||||||
|
|
||||||
:return: parsed clients
|
:return: parsed clients
|
||||||
:rtype: tsstats.client.Clients
|
:rtype: tsstats.client.Clients
|
||||||
|
@ -90,5 +92,10 @@ def parse_log(log_path, ident_map=None, clients=None):
|
||||||
invoker.ban(client)
|
invoker.ban(client)
|
||||||
else:
|
else:
|
||||||
invoker.kick(client)
|
invoker.kick(client)
|
||||||
|
if online_dc:
|
||||||
|
for client in clients:
|
||||||
|
if client.connected:
|
||||||
|
client.disconnect(int(datetime.utcnow().timestamp()))
|
||||||
|
client.connected += 1
|
||||||
logger.debug('Finished parsing of %s', log_file.name)
|
logger.debug('Finished parsing of %s', log_file.name)
|
||||||
return clients
|
return clients
|
||||||
|
|
Loading…
Reference in New Issue