Used bytes.hex() and bytes.fromhex() in postgis.pgraster to simplify.
This was missed in 93cdd07e8f
.
This commit is contained in:
parent
e283c1a267
commit
31425f71bc
|
@ -1,4 +1,3 @@
|
|||
import binascii
|
||||
import struct
|
||||
|
||||
from django.forms import ValidationError
|
||||
|
@ -13,14 +12,14 @@ def pack(structure, data):
|
|||
"""
|
||||
Pack data into hex string with little endian format.
|
||||
"""
|
||||
return binascii.hexlify(struct.pack('<' + structure, *data)).upper()
|
||||
return struct.pack('<' + structure, *data)
|
||||
|
||||
|
||||
def unpack(structure, data):
|
||||
"""
|
||||
Unpack little endian hexlified binary string into a list.
|
||||
"""
|
||||
return struct.unpack('<' + structure, binascii.unhexlify(data))
|
||||
return struct.unpack('<' + structure, bytes.fromhex(data))
|
||||
|
||||
|
||||
def chunk(data, index):
|
||||
|
@ -67,7 +66,7 @@ def from_pgraster(data):
|
|||
|
||||
# Chunk and unpack band data (pack size times nr of pixels)
|
||||
band, data = chunk(data, pack_size * header[10] * header[11])
|
||||
band_result = {'data': binascii.unhexlify(band)}
|
||||
band_result = {'data': bytes.fromhex(band)}
|
||||
|
||||
# If the nodata flag is True, set the nodata value.
|
||||
if has_nodata:
|
||||
|
@ -109,7 +108,7 @@ def to_pgraster(rast):
|
|||
rast.srs.srid, rast.width, rast.height,
|
||||
)
|
||||
|
||||
# Hexlify raster header
|
||||
# Pack raster header.
|
||||
result = pack(POSTGIS_HEADER_STRUCTURE, rasterheader)
|
||||
|
||||
for band in rast.bands:
|
||||
|
@ -135,11 +134,8 @@ def to_pgraster(rast):
|
|||
# Pack band header
|
||||
bandheader = pack(structure, (pixeltype, band.nodata_value or 0))
|
||||
|
||||
# Hexlify band data
|
||||
band_data_hex = binascii.hexlify(band.data(as_memoryview=True)).upper()
|
||||
|
||||
# Add packed header and band data to result
|
||||
result += bandheader + band_data_hex
|
||||
result += bandheader + band.data(as_memoryview=True)
|
||||
|
||||
# Cast raster to string before passing it to the DB
|
||||
return result.decode()
|
||||
# Convert raster to hex string before passing it to the DB.
|
||||
return result.hex()
|
||||
|
|
Loading…
Reference in New Issue