]> git.openstreetmap.org Git - osqa.git/blobdiff - forum_modules/osmauth/osm.py
Add an OSM authentication provider
[osqa.git] / forum_modules / osmauth / osm.py
diff --git a/forum_modules/osmauth/osm.py b/forum_modules/osmauth/osm.py
new file mode 100644 (file)
index 0000000..94dcd13
--- /dev/null
@@ -0,0 +1,19 @@
+from xml.etree.ElementTree import ElementTree
+import urllib2
+
+class OpenStreetMapAPI:
+    def __init__(self, username, password):
+        passman = urllib2.HTTPPasswordMgr()
+        passman.add_password("Web Password", "https://api.openstreetmap.org/api/0.6", username, password)
+        authhandler =  urllib2.HTTPBasicAuthHandler(passman)
+        self.opener = urllib2.build_opener(authhandler)
+
+    def user_details(self):
+        response = self.opener.open("https://api.openstreetmap.org/api/0.6/user/details")
+        tree = ElementTree()
+        root = tree.parse(response)
+        user = root.find("user")
+        return {
+            "id": user.attrib["id"],
+            "display_name": user.attrib["display_name"]
+        }