summaryrefslogtreecommitdiff
path: root/scraper/s2-geocode-server.py
blob: 021921fe924e3f315842a11ee32a984225f6a184 (plain)
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
41
42
43
44
45
46
47
48
49
50
51
52
53
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({
  })