mirror of
https://github.com/metafy-social/python-scripts.git
synced 2024-11-30 15:31:10 +00:00
62 lines
1.6 KiB
Python
62 lines
1.6 KiB
Python
|
import urllib.request
|
||
|
import urllib.parse
|
||
|
import urllib.error
|
||
|
import json
|
||
|
import os
|
||
|
import webbrowser
|
||
|
import ssl
|
||
|
import configparser
|
||
|
|
||
|
config = configparser.ConfigParser()
|
||
|
config.read('config.ini')
|
||
|
|
||
|
api_key = config['keys']['api_key']
|
||
|
service_url = config['keys']['service_url']
|
||
|
|
||
|
# Ignore SSL certificate errors
|
||
|
ctx = ssl.create_default_context()
|
||
|
ctx.check_hostname = False
|
||
|
ctx.verify_mode = ssl.CERT_NONE
|
||
|
|
||
|
with open("where.txt") as fh, open("where.js", "w", encoding="utf-8") as where:
|
||
|
adrs = []
|
||
|
parms = {}
|
||
|
for line in fh:
|
||
|
|
||
|
address = line.strip()
|
||
|
parms["address"] = address
|
||
|
parms['key'] = api_key
|
||
|
url = service_url + urllib.parse.urlencode(parms)
|
||
|
|
||
|
if url.lower().startswith('http'):
|
||
|
req = urllib.request.Request(url)
|
||
|
else:
|
||
|
raise ValueError from None
|
||
|
|
||
|
with urllib.request.urlopen(req, context=ctx) as resp:
|
||
|
|
||
|
data = resp.read().decode()
|
||
|
|
||
|
try:
|
||
|
js = json.loads(data)
|
||
|
except Exception as e:
|
||
|
print(f"{e}: {data}")
|
||
|
continue
|
||
|
|
||
|
try:
|
||
|
adrs.append([js['results'][0]['geometry']['lat'],
|
||
|
js['results'][0]['geometry']['lng'],
|
||
|
js['results'][0]['formatted']])
|
||
|
print('Retrieved ', url)
|
||
|
except Exception as e:
|
||
|
print(f"Not Found: {e}: {line.strip()}")
|
||
|
|
||
|
print("\nOpening Webpage")
|
||
|
|
||
|
where.write("myData = [\n")
|
||
|
for item in adrs:
|
||
|
where.write(f"[{str(item[0])}, {str(item[1])}, '{str(item[2])}' ], \n")
|
||
|
where.write("];\n")
|
||
|
|
||
|
webbrowser.open('file://' + os.path.realpath("index.html"))
|