diff options
| author | Cracker64 <cracker642@gmail.com> | 2011-03-02 20:43:20 (GMT) |
|---|---|---|
| committer | Cracker64 <cracker642@gmail.com> | 2011-03-02 20:43:20 (GMT) |
| commit | 9fffbb88da1062911c42146f4e9022a045177f75 (patch) | |
| tree | 27009a59552c944a934ea1edf796472d6c937d04 /build | |
| parent | 13e90886c1d4ae571707c8f31a7702fce7b2ec74 (diff) | |
| download | powder-9fffbb88da1062911c42146f4e9022a045177f75.zip powder-9fffbb88da1062911c42146f4e9022a045177f75.tar.gz | |
console things, set commands use keywords for arguments.
Diffstat (limited to 'build')
| -rw-r--r-- | build/example.py | 10 | ||||
| -rw-r--r-- | build/tpt_console.py | 108 |
2 files changed, 118 insertions, 0 deletions
diff --git a/build/example.py b/build/example.py new file mode 100644 index 0000000..826b3df --- /dev/null +++ b/build/example.py @@ -0,0 +1,10 @@ +import tpt +import random +import time +# example script + +def noise(typ,amount=50): + for xx in range(4,612): + for yy in range(4,384): + if(random.randrange(0,100)<amount): + tpt.create(xx,yy,typ) diff --git a/build/tpt_console.py b/build/tpt_console.py new file mode 100644 index 0000000..523f0dd --- /dev/null +++ b/build/tpt_console.py @@ -0,0 +1,108 @@ +import tpt +from tpt import * +import sys +import code +import ctypes +import traceback +from threading import Thread +print "console module loaded." +#redirect stdout like this: +class logger: + def write(self,txt): + txt=txt.strip().split("\n")[-1] + repr(txt) + tpt.log(txt) +sys.stdout=logger() +sys.stderr=logger() + +element={"none":0,"dust":1,"watr":2,"oil":3,"fire":4,"stne":5,"lava":6,"gunp":7, + "nitr":8,"clne":9,"gas":10,"plex":11,"goo":12,"icei":13,"metl":14,"sprk":15, + "snow":16,"wood":17,"neut":18,"plut":19,"plnt":20,"acid":21,"void":22, + "wtrv":23,"cnct":24,"dstw":25,"salt":26,"sltw":27,"dmnd":28,"bmtl":29, + "brmt":30,"phot":31,"uran":32,"wax":33,"mwax":34,"pscn":35,"nscn":36, + "lntg":37,"insl":38,"bhol":39,"whol":40,"rbdm":41,"lrbd":42,"ntct":43, + "sand":44,"glas":45,"ptct":46,"bgla":47,"thdr":48,"plsm":49,"etrd":50, + "nice":51,"nble":52,"btry":53,"lcry":54,"stkm":55,"swch":56,"smke":57, + "desl":58,"coal":59,"lo2":60,"o2":61,"inwr":62,"yest":63,"dyst":64, + "thrm":65,"glow":66,"brck":67,"hflm":68,"firw":69,"fuse":70,"fsep":71, + "amtr":72,"bcol":73,"pcln":74,"hswc":75,"iron":76,"mort":77,"gol":78, + "hlif":79,"asim":80,"2x2":81,"dani":82,"amoe":83,"move":84,"pgol":85, + "dmoe":86,"34":87,"llif":88,"stan":89,"spng":90,"rime":91,"fog":92, + "bcln":93,"love":94,"deut":95,"warp":96,"pump":97,"fwrk":98,"pipe":99, + "frzz":100,"frzw":101,"grav":102,"bizr":103,"bizrg":104,"bizrs":105, + "inst":106,"isoz":107,"iszs":108,"prti":109,"prto":110,"pste":111, + "psts":112,"anar":113,"vine":114,"invis":115,"equalvel":116,"spawn2":117, + "spawn":118,"shld1":119,"shld2":120,"shld3":121,"shld4":122,"lolz":123, + "wifi":124,"filt":125,"aray":126,"bray":127,"stkm2":128,"bomb":129, + "c5":130,"sing":131,"qrtz":132,"pqrt":133,"seed":134,"maze":135, + "coag":136,"wall":137,"gnar":138,"repl":139,"myst":140,"boyl":141, + "lote":142,"frg2":143,"star":144,"frog":145,"bran":146,"wind":147, + "num":148} + +class _fork(Thread): + def __init__ (self,func): + Thread.__init__(self) + self.func=func + def run(self): + self.func(self) +def fork(func): + try: + a=fork.threads + except: + fork.threads={} + fork.i=0 + tmp=_fork(func) + fork.threads[fork.i]=tmp + fork.i+=1 + tmp.start() + return tmp + tpt.log("Thread #%d started"%(fork.i-1)) +def fork_status(): + count=0 + remove=[] + for key in fork.threads: + if(fork.threads[key].is_alive()): + count+=1 + else: + remove.append[key] + for item in remove: + del fork.threads[item] + tpt.log("%d threads alive. %d threads stopped since last status."%(count,len(remove))) +def fork_unblock(): + pass#i need to implement this some day. +def error(ex): + err=traceback.format_exc() + sys.stdout.write(err) + +def clean(): + #add any functions that must be reachable here. + """copy=["__builtins__","__name__","__doc__","__package__",'tpt','clean', + 'element','fork','_fork','fork_status','fork_unblock','sys'] + handle.glob={} + for item in copy: + handle.glob[item]=globals()[item]""" + handle.glob=globals() + handle.buf="" + +def handle(txt): + try: + a=handle.glob + except: + clean() + try: + _handle(txt) + except Exception as ex: + error(ex) + +def _handle(txt): + #print "handling '%s'"%txt + try: + sys.stdout.write(repr(eval(txt,handle.glob))) + except: + try: + exec txt in handle.glob + except Exception as ex: + error(ex) + + + |
