Ejemplo n.º 1
0
 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' )
Ejemplo n.º 2
0
 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
Ejemplo n.º 3
0
 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
Ejemplo n.º 4
0
 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
Ejemplo n.º 5
0
 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
Ejemplo n.º 6
0
    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])
Ejemplo n.º 7
0
    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])
Ejemplo n.º 8
0
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)
Ejemplo n.º 9
0
 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)
Ejemplo n.º 10
0
 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')
Ejemplo n.º 11
0
 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')