File size: 836 Bytes
6b8d8ab
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import os
import requests
from collections import namedtuple
from urllib.parse import urlencode, urlunparse
from dotenv import load_dotenv
load_dotenv()


BASE_URL = "api.openweathermap.org/geo/1.0/direct"


Components = namedtuple(
    typename='Components',
    field_names=['scheme', 'netloc', 'url', 'path', 'query', 'fragment']
)


def getcoords(CITY):
    print(f"CITY - {CITY}")
    query_params = {
        "q": CITY,
        "limit": 1,
        "appid": os.getenv("OPENWEATHER_KEY")
    }

    url = urlunparse(
        Components(scheme="http",
                   netloc=BASE_URL,
                   query=urlencode(query_params),
                   path="",
                   url="",
                   fragment="")
    )

    response = requests.get(url)

    data = response.json()[0]

    return data["lat"], data["lon"]