Skip to content

Commit edc87a4

Browse files
authored
v.db.addtable: Use context manager for devnull to solve ResourceWarning (OSGeo#6195)
The opened file object isn't one that shouldn't be closed, so a simple transformation to use a context manager is appropriate.
1 parent 1031cc9 commit edc87a4

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed

scripts/v.db.addtable/v.db.addtable.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -99,17 +99,17 @@ def main():
9999
database2 = database.replace("$MAP/", map_name + "/")
100100

101101
# maybe there is already a table linked to the selected layer?
102-
nuldev = open(os.devnull, "w")
103-
try:
104-
gs.vector_db(map_name, stderr=nuldev)[int(layer)]
105-
gs.fatal(_("There is already a table linked to layer <%s>") % layer)
106-
except KeyError:
107-
pass
108-
109-
# maybe there is already a table with that name?
110-
tables = gs.read_command(
111-
"db.tables", flags="p", database=database2, driver=driver, stderr=nuldev
112-
)
102+
with open(os.devnull, "w") as nuldev:
103+
try:
104+
gs.vector_db(map_name, stderr=nuldev)[int(layer)]
105+
gs.fatal(_("There is already a table linked to layer <%s>") % layer)
106+
except KeyError:
107+
pass
108+
109+
# maybe there is already a table with that name?
110+
tables = gs.read_command(
111+
"db.tables", flags="p", database=database2, driver=driver, stderr=nuldev
112+
)
113113
tables = decode(tables)
114114

115115
if table not in tables.splitlines():

0 commit comments

Comments
 (0)