aboutsummaryrefslogtreecommitdiffstats
path: root/import_source.py
diff options
context:
space:
mode:
Diffstat (limited to 'import_source.py')
-rw-r--r--import_source.py11
1 files changed, 4 insertions, 7 deletions
diff --git a/import_source.py b/import_source.py
index 1271981..c04390e 100644
--- a/import_source.py
+++ b/import_source.py
@@ -984,18 +984,15 @@ def updateLayerCache(lyr : ogr.Layer, cache : ogr.Layer,
struct_dgst : Final = struct.Struct('@qq').pack
logging.debug('%s', query)
ds = lyr.GetDataset()
- lyr2 = ds.ExecuteSQL(query)
- try:
- assert lyr2.GetLayerDefn().GetFieldDefn(0).GetName() == 'hash_properties'
- assert lyr2.GetLayerDefn().GetFieldDefn(1).GetName() == 'hash_geom'
+ with ds.ExecuteSQL(query) as lyr2:
+ defn2 = lyr2.GetLayerDefn()
+ assert defn2.GetFieldDefn(0).GetName() == 'hash_properties'
+ assert defn2.GetFieldDefn(1).GetName() == 'hash_geom'
feature = lyr2.GetNextFeature()
while feature is not None:
dgst.update(struct_dgst(feature.GetFID(), feature.GetFieldAsInteger64(0)))
dgst.update(feature.GetFieldAsBinary(1))
feature = lyr2.GetNextFeature()
- finally:
- ds.ReleaseResultSet(lyr2)
- lyr2 = None
fingerprint = dgst.digest()
attributeFilter = 'layername = ' + escape_literal_str(layername)