Skip to content

Commit be538eb

Browse files
Merge pull request #17 from riggsd/no-asserts
Don't Use Asserts For Runtime Errors
2 parents fbb82df + 66e1802 commit be538eb

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

shapefile.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -463,7 +463,8 @@ def __dbfHeader(self):
463463
fieldDesc[1] = u(fieldDesc[1])
464464
self.fields.append(fieldDesc)
465465
terminator = dbf.read(1)
466-
assert terminator == b("\r")
466+
if terminator != b("\r"):
467+
raise ShapefileException("Shapefile dbf header lacks expected terminator. (likely corrupt?)")
467468
self.fields.insert(0, ('DeletionFlag', 'C', 1, 0))
468469

469470
def __recordFmt(self):
@@ -898,7 +899,10 @@ def __dbfRecords(self):
898899
value = str(value)[0].upper()
899900
else:
900901
value = str(value)[:size].ljust(size)
901-
assert len(value) == size
902+
if len(value) != size:
903+
raise ShapefileException(
904+
"Shapefile Writer unable to pack incorrect sized value"
905+
" (size %d) into field '%s' (size %d)." % (len(value), fieldName, size))
902906
value = b(value)
903907
f.write(value)
904908

0 commit comments

Comments
 (0)