Forráskód Böngészése

Adding coord lookup code

Kirk Trombley 5 éve
szülő
commit
62373d4e43
1 módosított fájl, 36 hozzáadás és 0 törlés
  1. 36 0
      server/lib.py

+ 36 - 0
server/lib.py

@@ -0,0 +1,36 @@
+import json
+import requests
+from flask import current_app
+
+metadata_url = "https://maps.googleapis.com/maps/api/streetview/metadata"
+mapcrunch_url = "http://www.mapcrunch.com/_r/"
+
+
+def generate_coord(key):
+    """
+    Takes in a Google API key.
+    Returns (latitude, longitude) of usable coord (where google has data).
+    Returns None if, after trying several random points, no usable coords could be found.
+    
+    This function calls the streetview metadata endpoint - there is no quota consumed
+    """
+    points_res = requests.get(mapcrunch_url).text
+    points_js = json.loads(points_res.strip("while(1); "))
+
+    for lat, lng in points_js["points"]:
+        params = {
+            "key": key
+            "location": f"{lat},{lng}"
+        }
+        js = requests.get(metadata_url, params=params).json()
+        if js["status"] != "ZERO_RESULTS":
+            return (lat, lng)
+
+
+def score(target, guess):
+    """
+    Takes in two (latitude, longitude) pairs and produces an int score.
+    Score is in the (inclusive) range [0, 5000]
+    Higher scores are closer.
+    """
+    pass