def calcAggregatedServerStats(language="German", exceptions={}): serverIDs = dbc.getNumberofServers(language) servercount = 0 statlist = [] print("Fetching BG Stats from all Servers.") for id in serverIDs: serverinfo = dbc.getServerbyID(id) if id in exceptions: print(f"Skipping Server ID {id}") elif serverinfo[0] == "error": print(f"Server ID {id}: {serverinfo[1]}") elif serverinfo[2] == True: print(f"Server {serverinfo[0]} is set to \"Skip\".") else: for dict in dbc.getBGServer(id, newest_only=True): statlist.append(dict) print("Calculating aggregated Server BG Stats") resultlist = ir.aggregateServerBGs(statlist, language) print("Writing Results to BG_Server DB") success = dbc.writetoBGServer(resultlist) print(f"Written to DB sucessfully: {success}") return True
def scanAllfromGeneral(lvl=120, chunksize=1000, days=14, fail_thresh=3, language="German", exceptions={}): serverIDs = dbc.getNumberofServers(language) servercount = 0 print( f"Attempting to Update and Transfer all Chars from player_general for {len(serverIDs)} Servers" ) print( f"Level Treshold: {lvl} / Chunksize: {chunksize} / Fail Threshold: {fail_thresh} \nfor entries not scanned in the last {days} days." ) for id in serverIDs: if id in exceptions: print(f"Skipping Server ID {id}") else: print( f"ServerID {id} of {max(serverIDs)} - ({servercount+1}/{len(serverIDs)})" ) print( scanAllfromGeneralbyServerID(id, lvl, chunksize, days, fail_thresh)) print("\n\n ############## \n\n") servercount += 1 return "Done for {} Servers.".format(servercount)
def printAllServerCounts( language="German" ): #prints total entries + untransferred entries for all servers in serverlist db. serverIDs = dbc.getNumberofServers(language) print("{:32} Total \t Untransferred".format("Server")) for id in serverIDs: serverinfo = dbc.getServerbyID(id) if serverinfo[0] == "error": print(serverinfo[1]) if serverinfo[2] == True: print(f"Server {serverinfo[0]} is set to \"Skip\".", 0) else: all, untrans = dbc.getCountsServerTable("Server_" + serverinfo[0]) print(f"{serverinfo[0]:30} {all:7d} \t {untrans:7d}")
def calcStatsforAllServers(language="German", exceptions={}): serverIDs = dbc.getNumberofServers(language) servercount = 0 print(f"Attempting to Calculate BG Stats for {len(serverIDs)} Servers") for id in serverIDs: if id in exceptions: print(f"Skipping Server ID {id}") else: print( f"ServerID {id} of {max(serverIDs)} - ({servercount+1}/{len(serverIDs)})" ) print(calcStatsforServer(id)) print("\n\n ############## \n\n") servercount += 1 return "Done for {} Servers.".format(servercount)
def scanAllServers( language="German", exceptions={} ): #fetches all server_ids and loops over all of them with scanServer(id) serverIDs = dbc.getNumberofServers(language) servercount = 0 for id in serverIDs: if id in exceptions: print(f"Skipping Server ID {id}") else: print( f"ServerID {id} of {max(serverIDs)} - ({servercount+1}/{len(serverIDs)})" ) print(scanServer(id)) print("\n\n ############## \n\n") servercount += 1 return "Done. Scanned {} Servers.".format(servercount)
def transferAllfromAllServers( language="German", exceptions={} ): #calls transferAllfromServer() for every server in serverlist db serverIDs = dbc.getNumberofServers(language) servercount = 0 for id in serverIDs: if id in exceptions: print(f"Skipping Server ID {id}") else: print( f"ServerID {id} of {max(serverIDs)} - ({servercount+1}/{len(serverIDs)})" ) print(transferAllfromServer(id, 1000)) print("\n\n ############## \n\n") servercount += 1 return "Done. Scanned {} Servers.".format(servercount)