Standardize date format, add last_login() function

master
Kevin Zheng 2022-06-04 16:09:28 -07:00
parent ebc9d65e41
commit 769e209414
1 changed files with 15 additions and 4 deletions

View File

@ -27,9 +27,13 @@
import Crossfire import Crossfire
from dateutil import parser
from time import localtime, strftime, time from time import localtime, strftime, time
from CFDataFile import CFDataFile, CFData from CFDataFile import CFDataFile, CFData
TimeFormat = "%a, %d %b %Y %H:%M:%S %Z"
class CFLog: class CFLog:
def __init__(self): def __init__(self):
@ -38,7 +42,7 @@ class CFLog:
self.log = CFData('Player_log', logheader) self.log = CFData('Player_log', logheader)
def create(self, name): def create(self, name):
date = strftime("%a, %d %b %Y %H:%M:%S %Z", localtime(time())) date = strftime(TimeFormat, localtime(time()))
record={'#': name record={'#': name
,'Born':date ,'Born':date
,'IP':'unknown' ,'IP':'unknown'
@ -54,22 +58,29 @@ class CFLog:
self.log.remove_record(name) self.log.remove_record(name)
def login_update(self, name, ip): def login_update(self, name, ip):
date = strftime("%a, %d %b %Y %H:%M:%S %Z", localtime(time())) date = strftime(TimeFormat, localtime(time()))
record = self.log.get_record(name) record = self.log.get_record(name)
record['IP']=ip record['IP']=ip
record['Last_Login_Date']=date record['Last_Login_Date']=date
record['Login_Count']=int(record['Login_Count'])+1 record['Login_Count']=int(record['Login_Count'])+1
self.log.put_record(record) self.log.put_record(record)
def last_login(self, name):
record = self.info(name)
try:
return parser.parse(record['Last_Login_Date'])
except:
return None
def kick_update(self, name): def kick_update(self, name):
date = strftime("%a, %d %b %Y %H:%M:%S %Z", localtime(time())) date = strftime(TimeFormat, localtime(time()))
record = self.log.get_record(name) record = self.log.get_record(name)
record['Kick_Count']=int(record['Kick_Count'])+1 record['Kick_Count']=int(record['Kick_Count'])+1
record['Last_Kick_Date']=date record['Last_Kick_Date']=date
self.log.put_record(record) self.log.put_record(record)
def muzzle_update(self, name): def muzzle_update(self, name):
date = strftime("%a, %d %b %Y %H:%M:%S %Z", localtime(time())) date = strftime(TimeFormat, localtime(time()))
record = self.log.get_record(name) record = self.log.get_record(name)
record['Muzzle_Count']=int(record['Muzzle_Count'])+1 record['Muzzle_Count']=int(record['Muzzle_Count'])+1
record['Last_Muzzle_Date']=date record['Last_Muzzle_Date']=date