from flask import request
import requests
import json

def get_annotations():
	KEY = "6879-n8AksBoSB7kYoQ3eEwzpEr3nFQEmSp3XN-0PcKL_Sik"

	#a dictionary containing necessary http headers
	headers = {
	    "Host": "hypothes.is",
	"Accept": "application/json",
	"Authorization": "Bearer %s" % KEY
	} 

	base_url = "https://hypothes.is/api/search?user=xpub@hypothes.is"

	search_url = "".join([base_url])

	r = requests.get(search_url, headers=headers)
	#data is a python dictionary 
	data = json.loads(r.text)
	server = request.host
	for row in data['rows']:
		row['uri']= row['uri'].replace('http://' + server+'/uploads/','') 
	return data


def get_annot_results(annot,name):
	res=[]
	annot=get_annotations()
	for item in annot['rows']:
		if 'selector' in item['target'][0]:
			if len(item['target'][0]['selector'])>2:
				if name in item['text'] or name in item['target'][0]['selector'][2]['exact']:
					data={'text': item['text'],'extract':item['target'][0]['selector'][2]['exact'],'title':item['document']['title'], 'url':item['uri']}
					res.append(data)
			else:
				if name in item['text'] or name in item['target'][0]['selector'][1]['exact']:
					data={'text': item['text'],'extract':item['target'][0]['selector'][1]['exact'],'title':item['document']['title'], 'url':item['uri']}
					res.append(data)
	return res

def get_annot_book(annot,name):
	res=[]
	server = request.host
	for item in annot['rows']:
		if 'selector' in item['target'][0]:
			if len(item['target'][0]['selector'])>2:
				string=item['uri']
				if name==string.replace('http://' + server+'/uploads/',''):
					data={'text': item['text'],'extract':item['target'][0]['selector'][2]['exact'],'title':item['document']['title'], 'url':item['uri']}
					res.append(data)
			else:
				string=item['uri']
				if name==string.replace('http://' + server+'/uploads/',''):
					data={'text': item['text'],'extract':item['target'][0]['selector'][1]['exact'],'title':item['document']['title'], 'url':item['uri']}
					res.append(data)
	return res



