fix some platform-dependent stuff in PerSetTracking.py. Tested on Mac OS X. (I don't have Windows or *nix boxes running right now.)

This commit is contained in:
jendave
2011-08-06 15:27:57 +00:00
parent 096b8243db
commit b49ca3f10b

View File

@@ -9,10 +9,10 @@ if not os.path.exists(pathToMtgData) :
raw_input("") raw_input("")
sys.exit() sys.exit()
if not os.path.isdir(sys.path[0] + "\\PerSetTracking Results") : if not os.path.isdir(sys.path[0] + os.sep + 'PerSetTracking Results') :
os.mkdir(sys.path[0] + "\\PerSetTracking Results") os.mkdir(sys.path[0] + os.sep + 'PerSetTracking Results')
forgeFolderContents = os.listdir(sys.path[0] + "\\cardsfolder") forgeFolderContents = os.listdir(sys.path[0] + os.sep + "cardsfolder")
forgeFolderFiles = [] forgeFolderFiles = []
forgeCards = [] forgeCards = []
mtgDataCards = {} mtgDataCards = {}
@@ -39,9 +39,10 @@ with open(pathToMtgData) as mtgdata :
if hasFetchedSets : if hasFetchedSets :
if not hasFetchedCardName : if not hasFetchedCardName :
tmpName = line tmpName = line
tmpName = tmpName.replace('\n','')
hasFetchedCardName = True hasFetchedCardName = True
if line == "\n" : if line == "\n" :
mtgDataCards[tmpName] = prevline mtgDataCards[tmpName] = prevline.replace('\n', '')
hasFetchedCardName = False hasFetchedCardName = False
prevline = line prevline = line
@@ -49,14 +50,16 @@ with open(pathToMtgData) as mtgdata :
#Parse Forge #Parse Forge
print("Parsing Forge") print("Parsing Forge")
for i in forgeFolderContents : for i in forgeFolderContents :
if os.path.isfile(sys.path[0] + "\\cardsfolder\\" + i) == True : if os.path.isfile(sys.path[0] + os.sep + "cardsfolder" + os.sep + i) == True :
forgeFolderFiles.append(i) forgeFolderFiles.append(i)
for file in forgeFolderFiles : for file in forgeFolderFiles :
with open(sys.path[0] + "\\cardsfolder\\" + file) as currentForgeCard : with open(sys.path[0] + os.sep + "cardsfolder" + os.sep + file) as currentForgeCard :
tmpname = currentForgeCard.readline() tmpname = currentForgeCard.readline()
tmpname = tmpname[5:len(tmpname)].replace("AE","Ae") tmpname = tmpname[5:].replace("AE","Ae")
tmpname = tmpname.replace('\r\n', '')
forgeCards.append(tmpname) forgeCards.append(tmpname)
#Compare datasets and output results #Compare datasets and output results
print("Comparing datasets and outputting results.") print("Comparing datasets and outputting results.")
totalData = {} totalData = {}
@@ -79,17 +82,17 @@ for currentSet in setCodes :
currentMissing.sort() currentMissing.sort()
currentImplemented.sort() currentImplemented.sort()
with open(sys.path[0] + "\PerSetTracking Results\set_" + currentSet + ".txt","w") as output : with open(sys.path[0] + os.sep + "PerSetTracking Results" + os.sep + "set_" + currentSet + ".txt", "w") as output :
output.write("Implemented (" + str(len(currentImplemented)) + "):\n") output.write("Implemented (" + str(len(currentImplemented)) + "):\n")
for everyImplemented in currentImplemented : for everyImplemented in currentImplemented :
output.write(everyImplemented) output.write(everyImplemented + '\n')
output.write("\n") output.write("\n")
output.write("Missing (" + str(len(currentMissing)) + "):\n") output.write("Missing (" + str(len(currentMissing)) + "):\n")
for everyMissing in currentMissing : for everyMissing in currentMissing :
output.write(everyMissing) output.write(everyMissing + '\n')
output.write("\n") output.write("\n")
output.write("Total: " + str(total) + "\n") output.write("Total: " + str(total) + "\n")
output.write("Percentage implemented: " + str(percentage) + "%\n") output.write("Percentage implemented: " + str(round(percentage,2)) + "%\n")
totalData[currentSet] = (len(currentImplemented),len(currentMissing),total,percentage) totalData[currentSet] = (len(currentImplemented),len(currentMissing),total,percentage)
del currentMissing[:] del currentMissing[:]
del currentImplemented[:] del currentImplemented[:]
@@ -102,13 +105,13 @@ totalPercentage = 0
totalMissing = 0 totalMissing = 0
totalImplemented = 0 totalImplemented = 0
fullTotal = 0 fullTotal = 0
with open(sys.path[0] + "\PerSetTracking Results\CompleteStats.txt","w") as statsfile: with open(sys.path[0] + os.sep + "PerSetTracking Results" + os.sep + "CompleteStats.txt", "w") as statsfile:
statsfile.write("Set: Implemented (Missing) / Total = Percentage Implemented\n") statsfile.write("Set: Implemented (Missing) / Total = Percentage Implemented\n")
for dataKey in sorted(totalData.keys()) : for dataKey in sorted(totalData.keys()) :
totalImplemented += totalData[dataKey][0] totalImplemented += totalData[dataKey][0]
totalMissing += totalData[dataKey][1] totalMissing += totalData[dataKey][1]
fullTotal += totalData[dataKey][2] fullTotal += totalData[dataKey][2]
statsfile.write(dataKey + ": " + str(totalData[dataKey][0]) + " (" + str(totalData[dataKey][1]) + ") / " + str(totalData[dataKey][2]) + " = " + str(round(totalData[dataKey][3])) + "%\n") statsfile.write(dataKey + ": " + str(totalData[dataKey][0]) + " (" + str(totalData[dataKey][1]) + ") / " + str(totalData[dataKey][2]) + " = " + str(round(totalData[dataKey][3], 2)) + "%\n")
totalPercentage = totalImplemented / fullTotal totalPercentage = totalImplemented / fullTotal
statsfile.write("\n") statsfile.write("\n")
statsfile.write("Total over all sets: " + str(totalImplemented) + " (" + str(totalMissing) + ") / " + str(fullTotal)) statsfile.write("Total over all sets: " + str(totalImplemented) + " (" + str(totalMissing) + ") / " + str(fullTotal))