rendered paste bodyclass geodata:
def writel(self,some_string):
# writes to logfile
self.log_file.write(str(some_string)+'\n')
def convert_to_hex(self,some_string):
# converts string to hex value
if len(some_string)==0:
return '00'
charval = ord(some_string)
hexval = hex(charval)
hexstrlen = len(hexval)
startpos = hexstrlen - 2
if hexval[startpos] == 'x':
startpos += 1
hexval = '0'+hexval[startpos]
else:
hexval = hexval[startpos:hexstrlen]
return hexval
def handle_block0000(self):
# still bleh
z1_1 = self.conv_file.read(1)
z1_2 = self.conv_file.read(1)
z2_1 = self.conv_file.read(1)
z2_2 = self.conv_file.read(1)
return 'bleh'
def handle_block0040(self):
# block 4000 handler
self.writel("block0040")
for item in range(0,64):
z1_1 = self.conv_file.read(1)
z1_2 = self.conv_file.read(1)
self.writel(self.convert_to_hex(z1_1) + self.convert_to_hex(z1_2))
return 0
def handle_block0041(self):
# block 41000 handler
self.writel("block0041")
for item in range(0,64):
layer = 0
layercounter = self.conv_file.read(1)
self.writel("layercounter:" + str(int(self.convert_to_hex(layercounter),16)))
for item2 in range(0,int(self.convert_to_hex(layercounter),16)):
self.writel("layer:" + str(layer))
z1_1 = self.conv_file.read(1)
z1_2 = self.conv_file.read(1)
self.writel("--" + self.convert_to_hex(z1_1) + self.convert_to_hex(z1_2))
layer+=1
return 0
def __init__(self,filename):
# main function
self.conv_file = open(filename+'.dat','r')
self.csv_file = open(filename+'.csv','w')
self.log_file = open(filename+'.log','w')
self.conv_file.seek(18) # header dont need that currently
for loop1 in range(0,128):
self.writel(loop1)
for loop2 in range(0,128):
self.writel(loop2)
block1 = self.conv_file.read(1)
block2 = self.conv_file.read(1)
block2_hex = self.convert_to_hex(block2)
if block2_hex == 'ff': self.writel("error")
elif block2_hex == '00': self.writel("block0000")
elif block2_hex == '40': self.handle_block0040()
else: self.handle_block0041()
self.conv_file.close()
self.csv_file.close()
self.log_file.close()
test1 = geodata('25_19_conv')
test2 = geodata('16_22_conv')