]> git.ipfire.org Git - location/libloc.git/commitdiff
python: Use override flags when exporting the database
authorMichael Tremer <michael.tremer@ipfire.org>
Wed, 13 May 2020 17:40:58 +0000 (17:40 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Wed, 13 May 2020 17:40:58 +0000 (17:40 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/python/location-importer.in

index 645144acc2e627ba9703233e0de937714be9c784..08c9ed7a4d7d4ec5508269fb58b6d3ae4443a299 100644 (file)
@@ -226,9 +226,42 @@ class CLI(object):
                                ) AS country,
 
                                -- Flags
-                               FALSE AS is_anonymous_proxy,
-                               FALSE AS is_satellite_provider,
-                               FALSE AS is_anycast
+                               COALESCE(
+                                       (
+                                               SELECT is_anonymous_proxy FROM network_overrides overrides
+                                                       WHERE announcements.network <<= overrides.network
+                                                       ORDER BY masklen(overrides.network) DESC
+                                                       LIMIT 1
+                                       ),
+                                       (
+                                               SELECT is_anonymous_proxy FROM autnum_overrides overrides
+                                                       WHERE announcements.autnum = overrides.number
+                                       )
+                               ) AS is_anonymous_proxy,
+                               COALESCE(
+                                       (
+                                               SELECT is_satellite_provider FROM network_overrides overrides
+                                                       WHERE announcements.network <<= overrides.network
+                                                       ORDER BY masklen(overrides.network) DESC
+                                                       LIMIT 1
+                                       ),
+                                       (
+                                               SELECT is_satellite_provider FROM autnum_overrides overrides
+                                                       WHERE announcements.autnum = overrides.number
+                                       )
+                               ) AS is_satellite_provider,
+                               COALESCE(
+                                       (
+                                               SELECT is_anycast FROM network_overrides overrides
+                                                       WHERE announcements.network <<= overrides.network
+                                                       ORDER BY masklen(overrides.network) DESC
+                                                       LIMIT 1
+                                       ),
+                                       (
+                                               SELECT is_anycast FROM autnum_overrides overrides
+                                                       WHERE announcements.autnum = overrides.number
+                                       )
+                               ) AS is_anycast
                        FROM announcements
                """)