#!/usr/bin/env python3
# Обратное геокодирование: координаты -> адрес (OpenStreetMap Nominatim, бесплатно, 1 req/сек)
import json, time, urllib.request, urllib.parse

def reverse_geocode(lat, lon):
    url = ("https://nominatim.openstreetmap.org/reverse?" +
           urllib.parse.urlencode({"lat": lat, "lon": lon, "format": "jsonv2", "zoom": 14, "accept-language": "ru"}))
    req = urllib.request.Request(url, headers={"User-Agent": "DobrotniyDom-photo-sort/1.0 (mikhail@dobrotniy-dom.ru)"})
    try:
        with urllib.request.urlopen(req, timeout=30) as r:
            d = json.loads(r.read().decode())
        return d.get("display_name", "")
    except Exception as e:
        return f"ERR {e}"

if __name__ == "__main__":
    # тест на координатах из проверки: 55.36, 38.48 (примерно)
    print(reverse_geocode(55.35, 38.48))
