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.py28
1 files changed, 22 insertions, 6 deletions
diff --git a/scraper/s2-geocode-server.py b/scraper/s2-geocode-server.py
index 9d824443..67da62d7 100644
--- a/scraper/s2-geocode-server.py
+++ b/scraper/s2-geocode-server.py
@@ -13,9 +13,6 @@ load_dotenv()
from util import *
-locations_worksheet = fetch_worksheet('paper_locations')
-verifications_worksheet = fetch_worksheet('verifications')
-paper_lookup = fetch_google_lookup('citation_lookup')
addresses = AddressBook()
app = Flask(__name__, static_url_path="/reports", static_folder=os.path.abspath("reports"))
@@ -41,6 +38,7 @@ def list_locations():
@app.route('/api/papers', methods=['GET'])
def list_papers():
+ paper_lookup = fetch_google_lookup('citation_lookup')
return jsonify({
'papers': paper_lookup,
})
@@ -73,6 +71,7 @@ def add_address():
form = request.get_json()
print(form)
# id, title, institution_1, institution_2, institution_3, institution_4, notes
+ locations_worksheet = fetch_worksheet('paper_locations')
locations_worksheet.append_row([
form['paper_id'],
form['title'],
@@ -90,6 +89,12 @@ def add_address():
'status': 'ok'
})
+@app.route('/api/verifications', methods=['GET'])
+def list_verifications():
+ return jsonify({
+ 'verifications': fetch_google_lookup('verifications', item_key='paper_id'),
+ })
+
@app.route('/api/verify/<sha256>', methods=['GET'])
def find_verification(sha256):
worksheet = fetch_worksheet('verifications')
@@ -114,12 +119,23 @@ def find_verification(sha256):
})
@app.route('/api/verify/add', methods=['POST'])
-def add_verifications():
+def add_verification():
+ worksheet = fetch_worksheet('verifications')
form = request.get_json()
print(form)
- keys = verifications_worksheet.row_values(1)
+ keys = worksheet.row_values(1)
row = [ form[key] if key in form else '' for key in keys ]
- verifications_worksheet.append_row(row)
+ try:
+ cell = worksheet.find(form['paper_id'])
+ except:
+ cell = None
+
+ if cell:
+ for item, i in enumerate(row):
+ worksheet.update_cell(cell.row, i+1, item)
+ else:
+ worksheet.append_row(row)
+
return jsonify({
'status': 'ok'
})