]> git.openstreetmap.org Git - nominatim.git/commitdiff
solve assorted issue with newer pylint versions
authorSarah Hoffmann <lonvia@denofr.de>
Wed, 11 May 2022 08:22:14 +0000 (10:22 +0200)
committerSarah Hoffmann <lonvia@denofr.de>
Wed, 11 May 2022 08:22:14 +0000 (10:22 +0200)
Includes more use of 'with', adding encodings to open statements
and a couple of issues with parameter renaming.

nominatim/db/connection.py
nominatim/db/utils.py
nominatim/tools/postcodes.py
nominatim/tools/special_phrases/sp_csv_loader.py

index 90194e63432070d434c47c6600bdbdfdaf531286..c60bcfddb8af99faf3bc2ba4e7f7a48b7baf731f 100644 (file)
@@ -25,7 +25,8 @@ class _Cursor(psycopg2.extras.DictCursor):
         execution functions.
     """
 
-    def execute(self, query, args=None): # pylint: disable=W0221
+    # pylint: disable=arguments-renamed,arguments-differ
+    def execute(self, query, args=None):
         """ Query execution that logs the SQL query when debugging is enabled.
         """
         LOG.debug(self.mogrify(query, args).decode('utf-8'))
index 7d58a6684ef5d11814a02d3d497b384c18538626..b859afa8137e9254b4a4a88ce3d8236fb1383d8c 100644 (file)
@@ -40,27 +40,27 @@ def execute_file(dsn, fname, ignore_errors=False, pre_code=None, post_code=None)
         cmd.extend(('-v', 'ON_ERROR_STOP=1'))
     if not LOG.isEnabledFor(logging.INFO):
         cmd.append('--quiet')
-    proc = subprocess.Popen(cmd, env=get_pg_env(dsn), stdin=subprocess.PIPE)
-
-    try:
-        if not LOG.isEnabledFor(logging.INFO):
-            proc.stdin.write('set client_min_messages to WARNING;'.encode('utf-8'))
-
-        if pre_code:
-            proc.stdin.write((pre_code + ';').encode('utf-8'))
-
-        if fname.suffix == '.gz':
-            with gzip.open(str(fname), 'rb') as fdesc:
-                remain = _pipe_to_proc(proc, fdesc)
-        else:
-            with fname.open('rb') as fdesc:
-                remain = _pipe_to_proc(proc, fdesc)
-
-        if remain == 0 and post_code:
-            proc.stdin.write((';' + post_code).encode('utf-8'))
-    finally:
-        proc.stdin.close()
-        ret = proc.wait()
+
+    with subprocess.Popen(cmd, env=get_pg_env(dsn), stdin=subprocess.PIPE) as proc:
+        try:
+            if not LOG.isEnabledFor(logging.INFO):
+                proc.stdin.write('set client_min_messages to WARNING;'.encode('utf-8'))
+
+            if pre_code:
+                proc.stdin.write((pre_code + ';').encode('utf-8'))
+
+            if fname.suffix == '.gz':
+                with gzip.open(str(fname), 'rb') as fdesc:
+                    remain = _pipe_to_proc(proc, fdesc)
+            else:
+                with fname.open('rb') as fdesc:
+                    remain = _pipe_to_proc(proc, fdesc)
+
+            if remain == 0 and post_code:
+                proc.stdin.write((';' + post_code).encode('utf-8'))
+        finally:
+            proc.stdin.close()
+            ret = proc.wait()
 
     if ret != 0 or remain > 0:
         raise UsageError("Failed to execute SQL file.")
index cd778e5f975e7fdccd611f6d611281cfd2dff696..2b7027e721b04cd3775e5495459920fecebbc5c6 100644 (file)
@@ -36,7 +36,7 @@ class _CountryPostcodesCollector:
 
     def __init__(self, country):
         self.country = country
-        self.collected = dict()
+        self.collected = {}
 
 
     def add(self, postcode, x, y):
@@ -140,7 +140,7 @@ class _CountryPostcodesCollector:
 
         if fname.is_file():
             LOG.info("Using external postcode file '%s'.", fname)
-            return open(fname, 'r')
+            return open(fname, 'r', encoding='utf-8')
 
         fname = project_dir / f'{self.country}_postcodes.csv.gz'
 
index 2a67687fba25a371778f8475d3029d1cd77ceb6c..55a9d8d0ff07c083f314eaf4f73dc2f96860cfbc 100644 (file)
@@ -39,8 +39,8 @@ class SPCsvLoader(Iterator):
         """
         phrases = set()
 
-        with open(self.csv_path) as file:
-            reader = csv.DictReader(file, delimiter=',')
+        with open(self.csv_path, encoding='utf-8') as fd:
+            reader = csv.DictReader(fd, delimiter=',')
             for row in reader:
                 phrases.add(
                     SpecialPhrase(row['phrase'], row['class'], row['type'], row['operator'])