def page_for_wit(request): """ Given a Manuscript id and the ISMI ID of a witness in it, returns the first page of that witness. """ wit = int(request.GET.get("wit")) folios = get_folios(wit) if not folios: return HttpResponse(dumps(-1), mimetype="text/json") folio, _ = folios folio_pgs = get_curr_folio_pgs(request) page = folio_pgs.get_page(folio) return HttpResponse(dumps(page), mimetype="text/json")
def wit_for_page(request): """ Gives the ISMI ID of the current witness given the current Manuscript and current page in it. If no witness is specified for the given page, returns -1. """ ms_id = int(request.GET.get("ms_id")) page = int(request.GET.get("page")) ms = Manuscript.objects.get(id=ms_id) folio_pgs = get_curr_folio_pgs(request) folio = folio_pgs.get_folio(page) for w in ms.witnesses: folios = get_folios(w) if not folios: continue first, last = map(folio_pgs.get_page, folios) if first and last: if first <= page and page <= last: return HttpResponse(dumps((str(folio), w)), mimetype="text/json") return HttpResponse(dumps((str(folio), -1)), mimetype="text/json")