MCPcopy Create free account
hub / github.com/ActiveState/code / EORLE

Method EORLE

recipes/Python/577379_BIRLE_Decoder/recipe-577379.py:132–165  ·  view source on GitHub ↗

00 01: End Of RLE Data, Writing Decoded File

(self,*arg)

Source from the content-addressed store, hash-verified

130 self.rPix += 1
131
132 def EORLE(self,*arg):
133 """ 00 01: End Of RLE Data, Writing Decoded File """
134 self.EORLED = True
135 self.EOSL()
136 if not self.buf == "": self.tmp.write(self.buf)
137
138 self.tmp.seek(0)
139 self.dec = self.tmp.read()
140 self.tmp.close()
141
142 self.i.seek(0)
143 self.o.write(self.i.read(2)) #'BM' signature
144
145 fs = self.offset + len(self.dec) #FileSize: (Header + Color Palette) + ImageData
146 fsize = "" #filesize string value
147 for i in range(4): fsize+=chr((fs & (0xFF<<8*i))>>8*i)#ordering as little-endian
148 self.o.write(fsize)
149
150 self.i.seek(6)
151 self.o.write(self.i.read(24))#writing 24-byte same data from 6 offset
152
153 self.o.write('\x00\x00\x00\x00')#compression-type: none
154
155 imgdsize = ""#image data size string value
156 for i in range(4): imgdsize+=chr((len(self.dec)&(0xFF<<8*i))>>8*i)
157 self.o.write(imgdsize)
158
159 self.i.seek(38)
160 self.o.write(self.i.read(self.offset-38))#writing left same data from 38
161
162 self.o.write(self.dec)
163
164 self.o.close()
165 self.i.close()
166
167
168#BI_RLE(inputfile,outputfile)

Callers

nothing calls this directly

Calls 6

EOSLMethod · 0.95
rangeFunction · 0.85
writeMethod · 0.45
seekMethod · 0.45
readMethod · 0.45
closeMethod · 0.45

Tested by

no test coverage detected