Pārlūkot izejas kodu

Args and compilation

master
FelixBrendel pirms 8 gadiem
vecāks
revīzija
e0a2f13284
2 mainītis faili ar 33 papildinājumiem un 9 dzēšanām
  1. +2
    -0
      .gitignore
  2. +31
    -9
      kifugen.py

+ 2
- 0
.gitignore Parādīt failu

@@ -0,0 +1,2 @@
*.sgf
*.tex

+ 31
- 9
kifugen.py Parādīt failu

@@ -1,7 +1,19 @@
import sys
import os
import subprocess
import argparse

filePath = sys.argv[1]
splitBoardAt = [0,50,100,150,200,250,300,350,400,450]
parser = argparse.ArgumentParser(description='Convert sgf go records into a kifu format.')

parser.add_argument('sgfFile')
parser.add_argument('-se', "--splitevery", dest="step", type=int, default=50)
parser.add_argument('-c', "--compile", action="store_true", dest="c", default=False)
parser.add_argument('-o', "--open", action="store_true", dest="o", default=False)

args = parser.parse_args(sys.argv[1:])

filePath = args.sgfFile
splitBoardAt = [x for x in range(0, 400, args.step)]

with open(filePath, 'r') as myfile:
sgfData = myfile.read().replace("\n", "").split(";")[1:]
@@ -10,10 +22,6 @@ with open(filePath, 'r') as myfile:
header = sgfData[0]
moves = sgfData[1:]

# print(header)
# print(moves)


def get_tag_from_header(tag):
eventIdxStart = header.lower().find(tag.lower() + "[")
eventIdxEnd = -1
@@ -34,7 +42,9 @@ def extractCoordinatesFromMove(move):
return -1,-1

def generateTitle():
out = parsedHeader["event"] + "\\\\"
out = ""
if parsedHeader["event"] != "":
out+=parsedHeader["event"] + "\\\\"
out += parsedHeader["playerBlack"]
if parsedHeader["rankBlack"] != "":
out += "[" + parsedHeader["rankBlack"] + "]"
@@ -118,6 +128,18 @@ outText += """
\\end{document}
""" % parsedHeader["result"]

newFileName = ".".join(filePath.split(".")[:-1]) + ".tex"
with open(newFileName, 'w') as outFile:
outFileBaseName = ".".join(filePath.split(".")[:-1])
with open(outFileBaseName+ ".tex", 'w') as outFile:
outFile.write(outText)

# should be compiled to pdf?
if args.c:
try:
subprocess.check_call(['latex', outFileBaseName + ".tex"], stdout=subprocess.DEVNULL, stderr=subprocess.STDOUT)
subprocess.check_call(['dvips', "-P", "pdf", outFileBaseName + ".dvi"], stdout=subprocess.DEVNULL, stderr=subprocess.STDOUT)
subprocess.check_call(['ps2pdf', outFileBaseName + ".ps"], stdout=subprocess.DEVNULL, stderr=subprocess.STDOUT)
except subprocess.CalledProcessError:
print("error")
else:
if args.o:
os.system('"%s.pdf"' % outFileBaseName)

Notiek ielāde…
Atcelt
Saglabāt