mirror of
https://github.com/xbgmsharp/postgsail.git
synced 2025-09-17 11:17:46 +00:00
Add reverse_geoip_py_fn python3 function
This commit is contained in:
@@ -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';
|
||||||
|
Reference in New Issue
Block a user