From 62fa05962c2e620c856bfb4c0eed0705fd8dfdd5 Mon Sep 17 00:00:00 2001 From: Yannik Schmidt Date: Tue, 29 Jan 2019 19:00:22 +0100 Subject: [PATCH] [git fast commit] 29. Jan 2019 - 19:00:22 --- NetworkParser.py | 22 +++++++++++----------- PSQL.py | 23 +++++++++++++++++++++++ TrueSkillWrapper.py | 5 +---- startInsurgency.py | 5 ++--- 4 files changed, 37 insertions(+), 18 deletions(-) create mode 100644 PSQL.py mode change 100644 => 100755 startInsurgency.py diff --git a/NetworkParser.py b/NetworkParser.py index 7adb45e..009a312 100644 --- a/NetworkParser.py +++ b/NetworkParser.py @@ -1,7 +1,7 @@ import socket import TrueSkillWrapper as TS import Player -import Storrage +import StorrageBackend as SB from threading import Thread import PSQL @@ -61,7 +61,7 @@ def t_listen(conn): topN = 0 if "," in data: topN = int(data.split(",")[1]) - tmp = Storrage.dump_rating(topN) + tmp = SB.dump_rating(topN) elif data.startswith("stats"): tmp = "Clean: {}\nDirty: {}\n".format(TS.clean_rounds,TS.dirty_rounds) elif data.startswith("getteam,"): @@ -125,7 +125,7 @@ def get_rebuild_team(string): for pair in string.split(","): p = DummyPlayer(pair.split("|")[0]); players += [p] - players = list(map(players,lambda p: Storrage.known_players[p])) + players = list(map(players,lambda p: SB.known_players[p])) players = sorted(players,key=lambda x: TS.get_env().expose(x.rating),reverse=True) count = 0 @@ -182,15 +182,15 @@ def parse_teams(data): for sid in team1: sid = sid.strip() tmp = Player.DummyPlayer(sid, sid) - if tmp in Storrage.known_players: - ret[0].update({Storrage.known_players[tmp]:Storrage.known_players[tmp].rating}) + if tmp in SB.known_players: + ret[0].update({SB.known_players[tmp]:Storrage.known_players[tmp].rating}) else: ret[0].update({tmp:TS.new_rating()}) for sid in team2: sid = sid.strip() tmp = Player.DummyPlayer(sid, sid) - if tmp in Storrage.known_players: - ret[1].update({Storrage.known_players[tmp]:Storrage.known_players[tmp].rating}) + if tmp in SB.known_players: + ret[1].update({SB.known_players[tmp]:Storrage.known_players[tmp].rating}) else: ret[1].update({tmp:TS.new_rating()}) return ret @@ -207,17 +207,17 @@ def parse_players(data, lol=False): tmp = Player.DummyPlayer(str(sid[0]),sid[1]) else: tmp = Player.DummyPlayer(str(sid), str(sid)) - if tmp in Storrage.known_players: - ret += [Storrage.known_players[tmp]] + if tmp in SB.known_players: + ret += [SB.known_players[tmp]] else: ret += [tmp] return ret def find_player(string): if string.isdigit(): - if string in Storrage.known_players: + if string in SB.known_players: return TS.get_player_rating(string, string) else: - tmp = Storrage.fuzzy_find_player(string) + tmp = SB.fuzzy_find_player(string) return TS.get_player_rating(tmp) diff --git a/PSQL.py b/PSQL.py new file mode 100644 index 0000000..1e12b73 --- /dev/null +++ b/PSQL.py @@ -0,0 +1,23 @@ +import psycopg2 +def save(dname,user,host,password,data): + conn = psycopg2.connect("dbname={} user={} host={} password={}".format(dname,user,host,password)) + cur = conn.cursor() + tup = () + if type(data) == dict: + for player in data: + d = dict() + d.update("steamid",p.steamid) + d.update("name",p.name) + d.update("wins",p.wins) + d.update("games",p.games) + d.update("mu",p.rating.mu) + d.update("sigma",p.rating.sigma) + tup += (d,) + cur.executemany("""INSERT INTO ratings(steamid,name,wins,games,mu,sigma) \ + VALUES (%(steamid)s,%(name)s,%(wins)s,%(games)s,%(mu)s,%(sigma)s)""",d) + elif isinstance(data,Event): + cur.exceutemany("""INSERT INTO events(etype,timestamp,line) \ + VALUES (%(etype)s,%(timestamp)s,%(line)s)""",data) + +def query_buddies(steamid): + return [] diff --git a/TrueSkillWrapper.py b/TrueSkillWrapper.py index 304663d..07d7b65 100644 --- a/TrueSkillWrapper.py +++ b/TrueSkillWrapper.py @@ -1,11 +1,8 @@ #!/usr/bin/python3 from trueskill import TrueSkill, Rating -import trueskill -import Storrage +import StorrageBackend import threading import Player -import itertools -import math env = TrueSkill(draw_probability=0, mu=1500, sigma=833, tau=40, backend='mpmath') env.make_as_global() diff --git a/startInsurgency.py b/startInsurgency.py old mode 100644 new mode 100755 index 1f257fa..b821cd3 --- a/startInsurgency.py +++ b/startInsurgency.py @@ -1,8 +1,7 @@ #!/usr/bin/python3 -import Storrage import sys import NetworkParser -import FileInStream +import FileReader import argparse parser = argparse.ArgumentParser(description='Insurgency rating python backend server') @@ -17,7 +16,7 @@ parser.add_argument('--no-follow','-nf',dest='nofollow', action='store_const',\ if __name__ == "__main__": args = parser.parse_args() - FileInStream.readfiles( args.files ,\ + FileReader.readfiles( args.files ,\ args.start_at_end,\ args.nofollow, )