def test_datastream_etag(self): rqst = Mock() # DC etag = datastream_etag(rqst, self.obj.pid, 'DC') self.assertEqual(self.obj.dc.checksum, etag) # bogus dsid should not error etag = datastream_etag(rqst, self.obj.pid, 'bogus-datastream-id') self.assertEqual(None, etag)
def test_datastream_etag(self): rqst = Mock() rqst.META = {} # DC etag = datastream_etag(rqst, self.obj.pid, 'DC') self.assertEqual(self.obj.dc.checksum, etag) # bogus dsid should not error etag = datastream_etag(rqst, self.obj.pid, 'bogus-datastream-id') self.assertEqual(None, etag) # range request 1 to end should return etag rqst.META = {'HTTP_RANGE': 'bytes=1-'} etag = datastream_etag(rqst, self.obj.pid, 'DC') self.assertEqual(self.obj.dc.checksum, etag)
def unapi_etag(request): 'etag for unapi' item_id = request.GET.get('id', None) # if no id, just lists available formats if item_id is None: # configuration is based on Volume class definition, so should only # change if the file has changed return books_models_md5sum # metadata for a specific record else: fmt = request.GET.get('format', None) if fmt == 'rdf_dc': return datastream_etag(request, item_id, Volume.dc.id, type=Volume)
def page_image_etag(request, pid, **kwargs): 'etag for Page image datastream' return datastream_etag(request, pid, Page.image.id, type=Page)
def ocr_etag(request, pid): 'etag for Volume OCR datastream' return datastream_etag(request, pid, VolumeV1_0.ocr.id)
def pdf_etag(request, pid): 'etag for Volume PDF datastream' return datastream_etag(request, pid, Volume.pdf.id)