Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from pymclevel import MCSchematic
- from pymclevel import TileEntity
- from pymclevel import TAG_Compound
- from pymclevel import TAG_Short
- from pymclevel import TAG_Byte
- from pymclevel import TAG_String
- from numpy import zeros, array
- from operator import itemgetter
- import re
- def perform(level, box, options):
- verkauf = []
- einkauf = []
- minx = int(box.minx/16)*16
- minz = int(box.minz/16)*16
- for x in xrange(minx, box.maxx, 16):
- for z in xrange(minz, box.maxz, 16):
- chunk = level.getChunk(x / 16, z / 16)
- for te in chunk.TileEntities:
- if te["id"].value == "Sign":
- #try:
- prices = [int(s) for s in te["Text3"].value.replace(':',' ').replace('B',' ').replace('S',' ').replace(';',' ').replace(',',' ').split() if s.isdigit()]
- if (te["Text2"].value.isdigit()) and (len(te["Text4"].value)>0) and (len(te["Text1"].value)>0) and (len(prices)>0):
- if ("B" in te["Text3"].value) and ("S" in te["Text3"].value) and (len(prices)==2):
- if te["Text3"].value.find("B") < te["Text3"].value.find("S"):
- verkauf.append([te["Text4"].value,te["Text1"].value,te["Text2"].value,prices[1],prices[1]/float(te["Text2"].value),te["x"].value,te["y"].value,te["z"].value])
- einkauf.append([te["Text4"].value,te["Text1"].value,te["Text2"].value,prices[0],prices[0]/float(te["Text2"].value),te["x"].value,te["y"].value,te["z"].value])
- else:
- verkauf.append([te["Text4"].value,te["Text1"].value,te["Text2"].value,prices[0],prices[0]/float(te["Text2"].value),te["x"].value,te["y"].value,te["z"].value])
- einkauf.append([te["Text4"].value,te["Text1"].value,te["Text2"].value,prices[1],prices[1]/float(te["Text2"].value),te["x"].value,te["y"].value,te["z"].value])
- continue
- if ("B" in te["Text3"].value):
- einkauf.append([te["Text4"].value,te["Text1"].value,te["Text2"].value,prices[0],prices[0]/float(te["Text2"].value),te["x"].value,te["y"].value,te["z"].value])
- if ("S" in te["Text3"].value):
- verkauf.append([te["Text4"].value,te["Text1"].value,te["Text2"].value,prices[0],prices[0]/float(te["Text2"].value),te["x"].value,te["y"].value,te["z"].value])
- #except:
- # print("Skipping sign at %d %d %d" % (te["x"].value,te["y"].value,te["z"].value))
- verkauf.sort(key=itemgetter(4),reverse=True)
- verkauf.sort(key=itemgetter(0))
- einkauf.sort(key=itemgetter(4))
- einkauf.sort(key=itemgetter(0))
- itemAlt = ""
- nutzerAlt = ""
- f = open('workfileShops.html', 'w')
- f.write("<h1>Einkauf</h1><table><tr><th>Item</th><th>Nutzer</th><th>Anzahl</th><th>Preis</th><th>Preis pro Item</th><th>Position</th></tr>")
- for item, nutzer, anzahl, preis, ratio, x, y, z in einkauf:
- f.write("<tr><td>{:s}</td><td>{:s}</td><td>{:s}</td><td>{:d}</td><td>{:.2f}</td><td>{:d}, {:d}, {:d}</td></tr>".format(item if itemAlt != item else "",nutzer if nutzerAlt != nutzer else "",anzahl,preis,ratio,x,y,z))
- itemAlt = item
- nutzerAlt = nutzer
- f.write("</table>")
- f.write("<h1>Verkauf</h1><table><tr><th>Item</th><th>Nutzer</th><th>Anzahl</th><th>Preis</th><th>Preis pro Item</th><th>Position</th></tr>")
- for item, nutzer, anzahl, preis, ratio, x, y, z in verkauf:
- f.write("<tr><td>{:s}</td><td>{:s}</td><td>{:s}</td><td>{:d}</td><td>{:.2f}</td><td>{:d}, {:d}, {:d}</td></tr>".format(item if itemAlt != item else "",nutzer if nutzerAlt != nutzer else "",anzahl,preis,ratio,x,y,z))
- itemAlt = item
- nutzerAlt = nutzer
- f.write("</table>")
- f.close()
- print("done. File saved as workfileShops.html")
Advertisement
Add Comment
Please, Sign In to add comment