示例#1
0
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")
示例#2
0
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")