Add reverse_geoip_py_fn python3 function

This commit is contained in:
xbgmsharp
2022-12-17 23:32:23 +01:00
parent 340bda704e
commit 3432d358d3

View File

@@ -325,3 +325,32 @@ AS $urlencode_py$
import urllib.parse import urllib.parse
return urllib.parse.quote(uri, safe=""); return urllib.parse.quote(uri, safe="");
$urlencode_py$ LANGUAGE plpython3u IMMUTABLE STRICT; $urlencode_py$ LANGUAGE plpython3u IMMUTABLE STRICT;
---------------------------------------------------------------------------
-- python
-- https://ipapi.co/
DROP FUNCTION IF EXISTS reverse_geoip_py_fn;
CREATE OR REPLACE FUNCTION reverse_geoip_py_fn(IN _ip TEXT) RETURNS void
AS $reverse_geoip_py$
"""
TODO
"""
import requests
import json
# requests
url = f'https://ipapi.co/{_ip}/json/'
r = requests.get(url)
#print(r.text)
# Return something boolean?
#plpy.notice('Sent successfully to [{}] [{}]'.format(r.text, r.status_code))
if r.status_code == 200:
plpy.notice('Sent successfully to [{}] [{}]'.format(r.text, r.status_code))
else:
plpy.error('Failed to send')
return None
$reverse_geoip_py$ TRANSFORM FOR TYPE jsonb LANGUAGE plpython3u;
-- Description
COMMENT ON FUNCTION
public.reverse_geoip_py_fn
IS 'Retrieve reverse geo IP location via ipapi.co using plpython3u';