Update reverse geoip python function

Update parsing geosjon python function
This commit is contained in:
xbgmsharp
2023-05-25 16:35:39 +02:00
parent bbf4426f55
commit 970c85c11e

View File

@@ -345,10 +345,10 @@ $urlencode_py$ LANGUAGE plpython3u IMMUTABLE STRICT;
-- python -- python
-- https://ipapi.co/ -- https://ipapi.co/
DROP FUNCTION IF EXISTS reverse_geoip_py_fn; DROP FUNCTION IF EXISTS reverse_geoip_py_fn;
CREATE OR REPLACE FUNCTION reverse_geoip_py_fn(IN _ip TEXT) RETURNS void CREATE OR REPLACE FUNCTION reverse_geoip_py_fn(IN _ip TEXT) RETURNS JSONB
AS $reverse_geoip_py$ AS $reverse_geoip_py$
""" """
TODO Return ipapi.co ip details
""" """
import requests import requests
import json import json
@@ -358,13 +358,15 @@ AS $reverse_geoip_py$
r = requests.get(url) r = requests.get(url)
#print(r.text) #print(r.text)
# Return something boolean? # Return something boolean?
#plpy.notice('Sent successfully to [{}] [{}]'.format(r.text, r.status_code)) #plpy.notice('IP [{}] [{}]'.format(_ip, r.status_code))
if r.status_code == 200: if r.status_code == 200:
plpy.notice('Sent successfully to [{}] [{}]'.format(r.text, r.status_code)) #plpy.notice('Got [{}] [{}]'.format(r.text, r.status_code))
return r.text;
else: else:
plpy.error('Failed to send') plpy.error('Failed to get ip details')
return None return '{}'
$reverse_geoip_py$ TRANSFORM FOR TYPE jsonb LANGUAGE plpython3u; $reverse_geoip_py$ LANGUAGE plpython3u;
-- Description -- Description
COMMENT ON FUNCTION COMMENT ON FUNCTION
public.reverse_geoip_py_fn public.reverse_geoip_py_fn
@@ -403,6 +405,8 @@ AS $geojson_py$
#plpy.notice(feature) #plpy.notice(feature)
if (feature['geometry']['type'] != geometry_type): if (feature['geometry']['type'] != geometry_type):
output.append(feature) output.append(feature)
#elif (feature['properties']['id']): TODO
# output.append(feature)
#else: #else:
# plpy.notice('ignoring') # plpy.notice('ignoring')
return json.dumps(output) return json.dumps(output)