def test18_url(self): r = IIIFRequest() r.size = None r.size_wh = [11,22] self.assertEqual( r.url(identifier='abc1'), 'abc1/full/11,22/0/default' ) r.size_wh = [100,None] self.assertEqual( r.url(identifier='abc2'), 'abc2/full/100,/0/default' ) r.size_wh = [None,999] self.assertEqual( r.url(identifier='abc3'), 'abc3/full/,999/0/default' ) r.size_wh = None self.assertEqual( r.url(identifier='abc4'), 'abc4/full/full/0/default' )
def test10_encode(self): for tname in sorted(data.iterkeys()): tdata=data[tname] print tname + " " + self.pstr(data[tname][0]) + " " + data[tname][1] iiif = IIIFRequest(**data[tname][0]) self.assertEqual(iiif.url(),data[tname][1]) print
def test1_encode(self): print "Encoding tests..." for tname in sorted(data.iterkeys()): tdata=data[tname] print tname + " " + self.pstr(data[tname][0]) + " " + data[tname][1] iiif = IIIFRequest(api_version='1.0',**data[tname][0]) self.assertEqual(iiif.url(),data[tname][1]) print
def test1_encode(self): print "Encoding tests..." for tname in sorted(data.iterkeys()): tdata=data[tname] print tname + " " + self.pstr(data[tname][0]) + " " + data[tname][1] iiif = IIIFRequest(api_version='1.1',**data[tname][0]) self.assertEqual(iiif.url(),data[tname][1]) print
def check_encoding(self, data, api_version): """Encoding. Checks that every for each test in the dict data, the data values (first element) encode to the URL given (second element). """ for tname in sorted(data.keys()): tdata = data[tname] iiif = IIIFRequest(api_version=api_version, **data[tname][0]) self.assertEqual(iiif.url(), data[tname][1])
def get_image_url(message, config): '''Returns an image URL that conforms to the IIIF Image API.''' # The last path component is a URL-encoded identifier. iiif_image_server_base_url, url_encoded_identifier = message[ 'iiif_image_info_url'].rsplit('/', maxsplit=1) # The `baseurl` keyword argument must have a trailing slash. image_api_request = IIIFRequest(baseurl=iiif_image_server_base_url + '/') image_api_params = { **config['iiif']['image_api_default_params'], 'size': '640,', 'identifier': unquote(url_encoded_identifier) } return image_api_request.url(**image_api_params)
def generate_tile(self,region,size): """Generate one tile for this given region,size of this region.""" r = IIIFRequest(identifier=self.identifier,api_version=self.api_version) if (region == 'full'): r.region_full = True else: r.region_xywh = region # [rx,ry,rw,rh] r.size_wh = [size[0],None] # [sw,sh] -> [sw,] canonical form r.format = 'jpg' path = r.url() # Generate... if (self.dryrun): print "%s / %s" % (self.dst,path) else: m = IIIFManipulatorPIL(api_version=self.api_version) try: m.derive(srcfile=self.src, request=r, outfile=os.path.join(self.dst,path)) print "%s / %s" % (self.dst,path) except IIIFZeroSizeError as e: print "%s / %s - zero size, skipped" % (self.dst,path)
def test18_url(self): """Test url() method.""" r = IIIFRequest(api_version='2.1') r.size = None r.size_wh = [11, 22] self.assertEqual(r.url(identifier='abc1'), 'abc1/full/11,22/0/default') r.size_wh = [100, None] self.assertEqual(r.url(identifier='abc2'), 'abc2/full/100,/0/default') r.size_wh = [None, 999] self.assertEqual(r.url(identifier='abc3'), 'abc3/full/,999/0/default') r.size_wh = None self.assertEqual(r.url(identifier='abc4'), 'abc4/full/full/0/default') r = IIIFRequest(api_version='2.1') r.size_full = True self.assertEqual(r.url(identifier='abc5'), 'abc5/full/full/0/default') r = IIIFRequest(api_version='2.1') r.size_max = True self.assertEqual(r.url(identifier='abc5'), 'abc5/full/max/0/default')