]> git.ipfire.org Git - people/ms/libloc.git/commitdiff
location-importer.in: emit warnings due to unknown country code for valid networks...
authorPeter Müller <peter.mueller@ipfire.org>
Mon, 3 May 2021 17:14:29 +0000 (19:14 +0200)
committerMichael Tremer <michael.tremer@ipfire.org>
Fri, 14 May 2021 12:39:58 +0000 (12:39 +0000)
This reduces log spam in case of processing RIR database, checking for
networks with unknown country codes assigned. If we would not have
written into the database, there is no need to warn about them.

Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/python/location-importer.in

index 1e08458223bad810d133c2f08703c7b3ee84fc72..e5f55af58571043c4c6f33064ea417b863eed227 100644 (file)
@@ -623,16 +623,19 @@ class CLI(object):
                if not inetnum or not "country" in inetnum:
                        return
 
-               # Skip objects with unknown country codes
-               if validcountries and inetnum.get("country") not in validcountries:
-                       log.warning("Skipping network with bogus country '%s': %s" % \
-                               (inetnum.get("country"), inetnum.get("inet6num") or inetnum.get("inetnum")))
-                       return
-
                # Iterate through all networks enumerated from above, check them for plausibility and insert
                # them into the database, if _check_parsed_network() succeeded
                for single_network in inetnum.get("inet6num") or inetnum.get("inetnum"):
                        if self._check_parsed_network(single_network):
+
+                               # Skip objects with unknown country codes - to avoid log spam for invalid or too small
+                               # networks, this check is - kinda ugly - done at this point
+                               if validcountries and inetnum.get("country") not in validcountries:
+                                       log.warning("Skipping network with bogus country '%s': %s" % \
+                                               (inetnum.get("country"), inetnum.get("inet6num") or inetnum.get("inetnum")))
+                                       break
+
+                               # Everything is fine here, run INSERT statement...
                                self.db.execute("INSERT INTO _rirdata(network, country) \
                                        VALUES(%s, %s) ON CONFLICT (network) DO UPDATE SET country = excluded.country",
                                        "%s" % single_network, inetnum.get("country"),