User:Cynique/gottgen

This is my script for generating the totals section for the Gift of the Traveler/Drop rate page:

 import time

infile = open("sampledata.txt","r")

totals = {}

valid_tokens = ( "aged ale", "ale keg", "ale", "poppers", "rockets",                "sparklers", "fireworks", "disco balls", "honey jar",                 "honeycombs", "green rock", "blue rock", "red rock",                 "mysterious stone", "mercantile stone", "mysterious tonic",                 "cottontail tonic", "walking stick", "yakkington",                 "vds", "vampiric dragon sword", "gwen", "gwen doll",                 "moss spider", "moss", "ids", "icy dragon sword",                 "razor", "ascalon razor", "bo staff",                 "brown rabbit", "rabbit", "everlasting fireworks",                 "everlasting cottontail" )

for token in valid_tokens: totals[token] = 0

grand_total = 0

for line in infile.readlines: line = line.replace( '\n', '' ) line = line.replace( '{', '' ) line = line.replace( '}', '' ) items = line.split( "|" )

if items[0] == "": continue

items = items[1:]

for item in items: if item.find( "=" ) == -1: continue

if item.find( "[" ) != -1 or item.find( "]" ) != -1: continue

parts = item.split( "=" )

if len(parts) != 2: continue

name, value = parts

name = name.strip value = value.strip

if not name in valid_tokens: continue count = 0 for digit in value: if not digit.isdigit: continue count += 1 if count == 0: continue

value = int( value[0:count] ) totals[name] += value grand_total += value

print "" print "|-"

totals_string = "| %d |"%(grand_total) totals_string += "| %d |"%(totals["ale"]) totals_string += "| %d |"%(totals["aged ale"]) totals_string += "| %d |"%(totals["ale keg"]) totals_string += "| %d |"%(totals["poppers"]) totals_string += "| %d |"%(totals["rockets"]) totals_string += "| %d |"%(totals["sparklers"]) totals_string += "| %d |"%(totals["fireworks"]) totals_string += "| %d |"%(totals["disco balls"]) totals_string += "| %d |"%(totals["honey jar"]) totals_string += "| %d |"%(totals["honeycombs"]) totals_string += "| %d |"%(totals["green rock"]) totals_string += "| %d |"%(totals["blue rock"]) totals_string += "| %d |"%(totals["red rock"]) totals_string += "| %d |"%(totals["mysterious stone"]) totals_string += "| %d |"%(totals["mercantile stone"]) totals_string += "| %d |"%(totals["mysterious tonic"]) totals_string += "| %d |"%(totals["cottontail tonic"]) totals_string += "| %d |"%(totals["everlasting cottontail"]) totals_string += "| %d |"%(totals["gwen"] + totals["gwen doll"]) totals_string += "| %d |"%(totals["yakkington"]) totals_string += "| %d |"%(totals["brown rabbit"] + totals["rabbit"]) totals_string += "| %d |"%(totals["vampiric dragon sword"] + totals["vds"]) totals_string += "| %d |"%(totals["bo staff"]) totals_string += "| %d |"%(totals["walking stick"]) totals_string += "| %d |"%(totals["icy dragon sword"] + totals["ids"]) totals_string += "| %d |"%(totals["razor"] + totals["ascalon razor"]) totals_string += "| %d |"%(totals["moss spider"] + totals["moss"]) totals_string += "| %d |"%(totals["everlasting fireworks"]) print totals_string+"| "

print "|-"

totals_string = "| 100% |" totals_string += "| %.3f%% |"%(float(totals["ale"])*100/grand_total) totals_string += "| %.3f%% |"%(float(totals["aged ale"])*100/grand_total) totals_string += "| %.3f%% |"%(float(totals["ale keg"])*100/grand_total) totals_string += "| %.3f%% |"%(float(totals["poppers"])*100/grand_total) totals_string += "| %.3f%% |"%(float(totals["rockets"])*100/grand_total) totals_string += "| %.3f%% |"%(float(totals["sparklers"])*100/grand_total) totals_string += "| %.3f%% |"%(float(totals["fireworks"])*100/grand_total) totals_string += "| %.3f%% |"%(float(totals["disco balls"])*100/grand_total) totals_string += "| %.3f%% |"%(float(totals["honey jar"])*100/grand_total) totals_string += "| %.3f%% |"%(float(totals["honeycombs"])*100/grand_total) totals_string += "| %.3f%% |"%(float(totals["green rock"])*100/grand_total) totals_string += "| %.3f%% |"%(float(totals["blue rock"])*100/grand_total) totals_string += "| %.3f%% |"%(float(totals["red rock"])*100/grand_total) totals_string += "| %.3f%% |"%(float(totals["mysterious stone"])*100/grand_total) totals_string += "| %.3f%% |"%(float(totals["mercantile stone"])*100/grand_total) totals_string += "| %.3f%% |"%(float(totals["mysterious tonic"])*100/grand_total) totals_string += "| %.3f%% |"%(float(totals["cottontail tonic"])*100/grand_total) totals_string += "| %.3f%% |"%(float(totals["everlasting cottontail"])*100/grand_total) totals_string += "| %.3f%% |"%(float(totals["gwen"] + totals["gwen doll"])*100/grand_total) totals_string += "| %.3f%% |"%(float(totals["yakkington"])*100/grand_total) totals_string += "| %.3f%% |"%(float(totals["brown rabbit"] + totals["rabbit"])*100/grand_total) totals_string += "| %.3f%% |"%(float(totals["vampiric dragon sword"] + totals["vds"])*100/grand_total) totals_string += "| %.3f%% |"%(float(totals["bo staff"])*100/grand_total) totals_string += "| %.3f%% |"%(float(totals["walking stick"])*100/grand_total) totals_string += "| %.3f%% |"%(float(totals["icy dragon sword"] + totals["ids"])*100/grand_total) totals_string += "| %.3f%% |"%(float(totals["razor"] + totals["ascalon razor"])*100/grand_total) totals_string += "| %.3f%% |"%(float(totals["moss spider"] + totals["moss"])*100/grand_total) totals_string += "| %.3f%% |"%(float(totals["everlasting fireworks"])*100/grand_total) print totals_string + "| "

timestamp = time.strftime( "%Y-%m-%d %H:%m:%S" ) print "" % timestamp 