#!/usr/bin/python import sys import pydfhack DF = pydfhack.API("Memory.xml") DF.Attach() pos = DF.position maps = DF.maps refc = dict(pydfhack=pydfhack, API=pydfhack.API, DF=DF, pos=pos, maps=maps) cursor = pos.get_cursor() msize = maps.get_size() block = None tile = None if cursor: block = maps.get_block(point=cursor) if block: tile = block.get_tile(point=cursor) DF.Resume() locs = dict(pydfhack=pydfhack, API=pydfhack.API, DF=DF, pos=pos, maps=maps, msize=msize, cursor=cursor, block=block, tile=tile) banner = """DFHack Shell\n\n"""\ """\tpydfhack = {pydfhack}\n"""\ """\tAPI = {API}\n"""\ """\tDF = {DF}\n"""\ """\tpos = {pos}\n"""\ """\tmaps = {maps}\n"""\ """\tmsize = {msize}\n"""\ """\tcursor = {cursor}\n"""\ """\tblock = {block}\n"""\ """\ttile = {tile}\n""".format(**locs) from IPython.Shell import IPShellEmbed shell = IPShellEmbed() shell.set_banner(shell.IP.BANNER + '\n\n' + banner) shell(local_ns=locs, global_ns={}) DF.Detach()