def cropCorrectView(request, id): regionURL = "/ocve/getGroupedBarRegions/" + id + "/" zoomifyURL = settings.IIP_URL + "?zoomify=jp2/" p = None try: pi = PageImage.objects.get(id=id) p = pi.page pl = PageLegacy.objects.get(pageimage=pi) if pl.cfeoKey > 0: path = re.search("(.*?)_(.*)", pl.filename) oldPath = "jp2/cfeojp2-proc/" + path.group(1) + "/" + path.group(1) + "_" + path.group(2) + ".jp2" verifyImageDimensions(pi, oldPath) zoomifyURL = zoomifyURL + oldPath + "/" elif pl.jp2 is not None and pl.jp2.__len__() > 0 and pl.jp2 != 'UNVERIFIED': #Correct system on which all legacy naming files will be moved path=pl.jp2 if str(path).startswith("jp2")is False: path="jp2/"+path verifyImageDimensions(pi, path) zoomifyURL = zoomifyURL.replace("jp2/","") + pl.jp2 + "/" elif pl.storageStructure is not None and pl.storageStructure.__len__() > 0: path = re.search("(\d+)\/.*?\/(.*)", pl.storageStructure) sl = SourceLegacy.objects.get(source=p.sourcecomponent.source) oldPath = "jp2/ocvejp2-proc/" + path.group(1) + "/" + str(sl.witnessKey) + "/" + path.group(2) + ".jp2" verifyImageDimensions(pi, oldPath) zoomifyURL = zoomifyURL + oldPath + "/" zoomifyURL = pi.getZoomifyPath() except ObjectDoesNotExist: errormsg = 'Page key invalid' return render_to_response(errorPage, {'errormsg': errormsg}) return render_to_response('dbmi/bareditor.html', {'mode': 1, 'regionURL': regionURL, 'pageimage': pi, 'page': p, 'zoomifyURL': zoomifyURL}, context_instance=RequestContext(request))
def cropCorrectView(request, id): regionURL = "/ocve/getGroupedBarRegions/" + id + "/" zoomifyURL = settings.IIP_URL + "?zoomify=jp2/" p = None try: pi = PageImage.objects.get(id=id) p = pi.page pl = PageLegacy.objects.get(pageimage=pi) if pl.cfeoKey > 0: path = re.search("(.*?)_(.*)", pl.filename) oldPath = "jp2/cfeojp2-proc/" + path.group(1) + "/" + path.group( 1) + "_" + path.group(2) + ".jp2" verifyImageDimensions(pi, oldPath) zoomifyURL = zoomifyURL + oldPath + "/" elif pl.jp2 is not None and pl.jp2.__len__( ) > 0 and pl.jp2 != 'UNVERIFIED': #Correct system on which all legacy naming files will be moved path = pl.jp2 if str(path).startswith("jp2") is False: path = "jp2/" + path verifyImageDimensions(pi, path) zoomifyURL = zoomifyURL.replace("jp2/", "") + pl.jp2 + "/" elif pl.storageStructure is not None and pl.storageStructure.__len__( ) > 0: path = re.search("(\d+)\/.*?\/(.*)", pl.storageStructure) sl = SourceLegacy.objects.get(source=p.sourcecomponent.source) oldPath = "jp2/ocvejp2-proc/" + path.group(1) + "/" + str( sl.witnessKey) + "/" + path.group(2) + ".jp2" verifyImageDimensions(pi, oldPath) zoomifyURL = zoomifyURL + oldPath + "/" zoomifyURL = pi.getZoomifyPath() except ObjectDoesNotExist: errormsg = 'Page key invalid' return render_to_response(errorPage, {'errormsg': errormsg}) return render_to_response('dbmi/bareditor.html', { 'mode': 1, 'regionURL': regionURL, 'pageimage': pi, 'page': p, 'zoomifyURL': zoomifyURL }, context_instance=RequestContext(request))
def editBars(request, id): regionURL = "/ocve/getBarRegions/" + str(id) + "/" zoomifyURL = settings.IIP_URL + "?zoomify=" p = None regionString = '' editStatuses = EditStatus.objects.all() try: pi = PageImage.objects.get(id=id) p = pi.page pl = PageLegacy.objects.get(pageimage=pi) pages = PageImage.objects.filter(page__sourcecomponent__source=pi.page.sourcecomponent.source) #Redirect to the crop correct view if uncorrected before displaying editor if pl.cropCorrected == 0: return cropCorrectView(request, id) if pl.cfeoKey > 0: path = re.search("(.*?)_(.*)", pl.filename) oldPath = "jp2/cfeojp2-proc/" + path.group(1) + "/" + path.group(1) + "_" + path.group(2) + ".jp2" verifyImageDimensions(pi, oldPath) zoomifyURL = zoomifyURL + oldPath + "/" elif pl.jp2 is not None and pl.jp2.__len__() > 0 and pl.jp2 != 'UNVERIFIED': #Correct system on which all legacy naming files will be moved path=pl.jp2 if str(path).startswith("jp2")is False: path="jp2/"+path verifyImageDimensions(pi, path) zoomifyURL = zoomifyURL.replace("jp2/","") + pl.jp2 + "/" elif pl.storageStructure is not None and pl.storageStructure.__len__() > 0: path = re.search("(\d+)\/.*?\/(.*)", pl.storageStructure) sl = SourceLegacy.objects.get(source=p.sourcecomponent.source) oldPath = "jp2/ocvejp2-proc/" + path.group(1) + "/" + str(sl.witnessKey) + "/" + path.group(2) + ".jp2" verifyImageDimensions(pi, oldPath) zoomifyURL = zoomifyURL + oldPath + "/" zoomifyURL = pi.getZoomifyPath() #String of all bar numbers on page regions = barRegionsByPageImage(int(id)) dels= BarRegion.objects.filter(pageimage__id=int(id)).filter(Q(y__lt=0) | Q(x__lt=0)|Q(width__lt=0)| Q(height__lt=0)) dels.delete() for r in regions: label='' bars=r.bar.all() if bars.count() >0: bid=bars[0].id for b in bars: if len(label)>0: label+=', ' label+=b.barlabel regionString = regionString +'<span data-regionid=\"'+str(r.id)+'\">'+ label + '</span>, ' #Next and previous page images try: before = p.orderno - 1 prev = PageImage.objects.get(page__orderno=before, page__sourcecomponent=p.sourcecomponent) except ObjectDoesNotExist: prev = None try: after = p.orderno + 1 next = PageImage.objects.get(page__orderno=after, page__sourcecomponent=p.sourcecomponent) except ObjectDoesNotExist: next = None except ObjectDoesNotExist: errormsg = 'Page key invalid' return render_to_response(errorPage, {'errormsg': errormsg}) return render_to_response('dbmi/bareditor.html', {'mode': 0, 'statuses': editStatuses,'pages':pages,'pl':pl,'next': next, 'prev': prev, 'regionString': regionString, 'regionURL': regionURL, 'pageimage': pi, 'page': p,'STATIC_URL': STATIC_URL, 'zoomifyURL': zoomifyURL}, context_instance=RequestContext(request))
def editBars(request, id): regionURL = "/ocve/getBarRegions/" + str(id) + "/" zoomifyURL = settings.IIP_URL + "?zoomify=" p = None regionString = '' editStatuses = EditStatus.objects.all() try: pi = PageImage.objects.get(id=id) p = pi.page pl = PageLegacy.objects.get(pageimage=pi) pages = PageImage.objects.filter( page__sourcecomponent__source=pi.page.sourcecomponent.source) #Redirect to the crop correct view if uncorrected before displaying editor if pl.cropCorrected == 0: return cropCorrectView(request, id) if pl.cfeoKey > 0: path = re.search("(.*?)_(.*)", pl.filename) oldPath = "jp2/cfeojp2-proc/" + path.group(1) + "/" + path.group( 1) + "_" + path.group(2) + ".jp2" verifyImageDimensions(pi, oldPath) zoomifyURL = zoomifyURL + oldPath + "/" elif pl.jp2 is not None and pl.jp2.__len__( ) > 0 and pl.jp2 != 'UNVERIFIED': #Correct system on which all legacy naming files will be moved path = pl.jp2 if str(path).startswith("jp2") is False: path = "jp2/" + path verifyImageDimensions(pi, path) zoomifyURL = zoomifyURL.replace("jp2/", "") + pl.jp2 + "/" elif pl.storageStructure is not None and pl.storageStructure.__len__( ) > 0: path = re.search("(\d+)\/.*?\/(.*)", pl.storageStructure) sl = SourceLegacy.objects.get(source=p.sourcecomponent.source) oldPath = "jp2/ocvejp2-proc/" + path.group(1) + "/" + str( sl.witnessKey) + "/" + path.group(2) + ".jp2" verifyImageDimensions(pi, oldPath) zoomifyURL = zoomifyURL + oldPath + "/" zoomifyURL = pi.getZoomifyPath() #String of all bar numbers on page regions = barRegionsByPageImage(int(id)) dels = BarRegion.objects.filter(pageimage__id=int(id)).filter( Q(y__lt=0) | Q(x__lt=0) | Q(width__lt=0) | Q(height__lt=0)) dels.delete() for r in regions: label = '' bars = r.bar.all() if bars.count() > 0: bid = bars[0].id for b in bars: if len(label) > 0: label += ', ' label += b.barlabel regionString = regionString + '<span data-regionid=\"' + str( r.id) + '\">' + label + '</span>, ' #Next and previous page images try: before = p.orderno - 1 prev = PageImage.objects.get( page__orderno=before, page__sourcecomponent=p.sourcecomponent) except ObjectDoesNotExist: prev = None try: after = p.orderno + 1 next = PageImage.objects.get( page__orderno=after, page__sourcecomponent=p.sourcecomponent) except ObjectDoesNotExist: next = None except ObjectDoesNotExist: errormsg = 'Page key invalid' return render_to_response(errorPage, {'errormsg': errormsg}) return render_to_response('dbmi/bareditor.html', { 'mode': 0, 'statuses': editStatuses, 'pages': pages, 'pl': pl, 'next': next, 'prev': prev, 'regionString': regionString, 'regionURL': regionURL, 'pageimage': pi, 'page': p, 'STATIC_URL': STATIC_URL, 'zoomifyURL': zoomifyURL }, context_instance=RequestContext(request))