diff options
Diffstat (limited to 'competition.py')
-rwxr-xr-x | competition.py | 34 |
1 files changed, 22 insertions, 12 deletions
diff --git a/competition.py b/competition.py index ab72d20..2582288 100755 --- a/competition.py +++ b/competition.py @@ -12,7 +12,7 @@ Options: -C Do not write a Competition log -h Help. What you're looking at -q Quiet. Don't print so much - -v View the competition afterwards using ./viewcompetition + -V Do not view the competition, so don't write an html file """ import os,sys,subprocess,shlex,re,time @@ -115,7 +115,7 @@ def haswon(board,lastplayer): fname="" quiet=False -viewcompetition=False +viewcompetition=True complog=True if len(sys.argv)==1: #no args fname="competition.txt" @@ -129,7 +129,7 @@ else: print(__doc__) sys.exit(0) elif c=="q": quiet=True - elif c=="v": viewcompetition=True + elif c=="V": viewcompetition=False else: print("Unrecognised flag '"+c+"'.") print(__doc__) @@ -179,12 +179,12 @@ elif not os.path.isdir("playerlogs"): sys.exit(1) try: - logfname="playerlogs/"+re.sub(r"[^a-zA-Z0-9 ]","",p1fname)+"_white_vs_"+re.sub(r"[^a-zA-Z0-9 ]","",p2fname)+".txt" - p1errlog=open(logfname,mode="w") - logfname="playerlogs/"+re.sub(r"[^a-zA-Z0-9 ]","",p2fname)+"_black_vs_"+re.sub(r"[^a-zA-Z0-9 ]","",p1fname)+".txt" - p2errlog=open(logfname,mode="w") + plogfname="playerlogs"+os.path.sep+re.sub(r"[^a-zA-Z0-9 ]","",p1fname)+"_white_vs_"+re.sub(r"[^a-zA-Z0-9 ]","",p2fname)+".txt" + p1errlog=open(plogfname,mode="w") + plogfname="playerlogs"+os.path.sep+re.sub(r"[^a-zA-Z0-9 ]","",p2fname)+"_black_vs_"+re.sub(r"[^a-zA-Z0-9 ]","",p1fname)+".txt" + p2errlog=open(plogfname,mode="w") except: - print("Error: could not open log file '"+logfname+"'.") + print("Error: could not open log file '"+plogfname+"'.") sys.exit(1) #Start programs @@ -222,7 +222,7 @@ elif not os.path.isdir("competitions"): sys.exit(1) try: - logfname="competitions/game_"+re.sub(r"[^a-zA-Z0-9 ]","",p1fname)+"_vs_"+re.sub(r"[^a-zA-Z0-9 ]","",p2fname)+".txt" + logfname="competitions"+os.path.sep+"game_"+re.sub(r"[^a-zA-Z0-9 ]","",p1fname)+"_vs_"+re.sub(r"[^a-zA-Z0-9 ]","",p2fname)+".txt" logfile=open(logfname,mode="w") logfile.write("P1: "+p1fname+"\nP2: "+p2fname+"\n") except: @@ -299,6 +299,8 @@ while True: if not quiet: print("P"+str(player)+": "+movestr(move)+" ",end="") sys.stdout.flush() + if complog: + logfile.write("P"+str(player)+": "+movestr(move)+"\n") won=haswon(board,player) @@ -315,8 +317,6 @@ while True: except: pass sys.exit(1) else: raise e - if complog: - logfile.write("P"+str(player)+": "+movestr(move)+"\n") nummoves+=1 if won!=0: @@ -350,4 +350,14 @@ try: p2proc.terminate() except: pass if viewcompetition: - os.system("."+os.path.sep+"viewcompetition "+logfname) + if not os.path.exists("gamevisuals"): + try: + os.mkdir("gamevisuals") + except: + print("Error: could not create log directory 'gamevisuals'.") + sys.exit(1) + elif not os.path.isdir("gamevisuals"): + #Apparently, there's a file named "gamevisuals". Bastard. + print("Error: an existing file prohibits creation of log directory 'gamevisuals'.") + sys.exit(1) + os.system("."+os.path.sep+"viewcompetition "+logfname+" >gamevisuals"+os.path.sep+logfname[logfname.index(os.path.sep)+1:]+".html") |