summaryrefslogtreecommitdiff
path: root/scraper/s2-geocode-server.py
diff options
context:
space:
mode:
Diffstat (limited to 'scraper/s2-geocode-server.py')
-rw-r--r--scraper/s2-geocode-server.py54
1 files changed, 54 insertions, 0 deletions
diff --git a/scraper/s2-geocode-server.py b/scraper/s2-geocode-server.py
new file mode 100644
index 00000000..021921fe
--- /dev/null
+++ b/scraper/s2-geocode-server.py
@@ -0,0 +1,54 @@
+#!python
+
+import os
+import sys
+import json
+import time
+import argparse
+from datetime import datetime
+from flask import Flask, request, render_template, jsonify
+
+from dotenv import load_dotenv
+load_dotenv()
+
+from util import *
+
+app = Flask(__name__, static_url_path="/reports/", static_folder="reports")
+
+# static api route
+@app.route('/', methods=['GET'])
+def index():
+ return app.send_static_file('reports/geocode-papers.html')
+
+# route to list the papers
+# route to get all the un-geocoded citations for a paper
+# route to get all the manually geocoded IDs (to dedupe)
+# route to add a geocoding for a paper
+
+@app.route('/api/institutions', methods=['GET'])
+def list_locations():
+ addresses = AddressBook()
+ return jsonify({
+ 'entities': addresses.entities,
+ 'lookup': addresses.lookup,
+ })
+
+@app.route('/api/papers', methods=['GET'])
+def list_papers():
+ lookup_keys, lines = fetch_google_sheet('citation_lookup')
+ lookup = {}
+ for line in lines:
+ lookup[line[0]] = line
+ return jsonify({
+ 'papers': papers,
+ })
+
+@app.route('/api/papers/:citation/', methods=['GET'])
+def list_citations(citation):
+ return jsonify({
+ })
+
+@app.route('/api/geocode', methods=['POST'])
+def geocode_paper():
+ return jsonify({
+ })