예제 #1
0
    def create_manifest(self, imgfiles):
        """create manifest"""
        # to be set in sysargs or via imagemagick
        imageWidth = int(self.width)
        imageHeight = int(self.height)
        identifier = "test file import"

        # setup factory
        factory = ManifestFactory()
        factory.set_base_metadata_uri("http://www.example.org/metadata/")
        factory.set_base_image_uri("http://www.example.org/iiif/")
        factory.set_iiif_image_info(version="2.0", lvl="2")

        # setup manifest
        mf = factory.manifest(label="Manifest")
        mf.viewingHint = "paged"
        mf.set_metadata({
            "test label": "test value",
            "next label": "next value"
        })
        mf.attribution = "Provided by Bodleian Library, Oxford, using ManifestFactory code from the Houghton Library, Harvard University"
        mf.viewingHint = "paged"
        mf.description = "Description of Manuscript Goes Here"

        seq = mf.sequence()

        # loop through images in path
        for img in imgfiles:

            # get path, full image name and extension
            imgPath, imgFullName = os.path.split(img)
            imgName, imgExt = os.path.splitext(imgFullName)

            # Mostly identity will come from incrementing number (f1r, f1v,...)
            # or the image's identity

            cvs = seq.canvas(ident="c%s" % imgName,
                             label="Canvas %s" % imgName)
            cvs.set_hw(imageWidth, imageHeight)
            anno = cvs.annotation()
            al = cvs.annotationList("foo")

            # for demo purposes adds choices
            img = factory.image(imgFullName, iiif=True)
            img2 = factory.image(imgName + 'b' + imgExt, iiif=True)
            chc = anno.choice(img, [img2])

        json = mf.toString(compact=False)

        # write to text file
        text_file = open(identifier.replace(" ", "") + ".json", "w")
        text_file.write(json)
        text_file.close()

        return json
예제 #2
0
        cvs.width = img.width

        if folio == 'f16r':
            # Add Detail Image
            ifn = "f16r.d"
            anno2 = cvs.annotation(label="Detail Image")
            img = anno2.image(ifn, iiif=True)
            img.set_hw_from_file(imageDirectory + ifn + ".jpg")

            frag = '#xywh=640,780,590,410'
            anno2.on += frag
        
        if folio in ['f1r', 'f25r', 'f44v', 'f117r', 'f128r', 'f176v', 'f182r']:

            # Add Image Choice
            img1 = fac.image(ident="%s.c" % folio, label="Color", iiif=True)
            img1.set_hw_from_file(imageDirectory + ("%s.c.jpg" % folio))
            img2 = anno.resource
            img2.set_label("Black and White")
            anno.choice(img1, [img2])


        # Add Text Annotation List
        annol = cvs.annotationList("text-%s" % folio)

        # Text Annotations per Line
        (cola, colb, areas, texts) = parse_js_file(f,rv)
        lineids = texts.keys()
        lineids.sort()
                        
        for lid in lineids:
예제 #3
0
        if folio == 'f16r':
            # Add Detail Image
            ifn = "f16r.d"
            anno2 = cvs.annotation(label="Detail Image")
            img = anno2.image(ifn, iiif=True)
            img.set_hw_from_file(imageDirectory + ifn + ".jpg")

            frag = '#xywh=640,780,590,410'
            anno2.on += frag

        if folio in [
                'f1r', 'f25r', 'f44v', 'f117r', 'f128r', 'f176v', 'f182r'
        ]:

            # Add Image Choice
            img1 = fac.image(ident="%s.c" % folio, label="Color", iiif=True)
            img1.set_hw_from_file(imageDirectory + ("%s.c.jpg" % folio))
            img2 = anno.resource
            img2.set_label("Black and White")
            anno.choice(img1, [img2])

        # Add Text Annotation List
        annol = cvs.annotationList("text-%s" % folio)

        # Text Annotations per Line
        (cola, colb, areas, texts) = parse_js_file(f, rv)
        lineids = texts.keys()
        lineids.sort()

        for lid in lineids:
            try:
			except:
				manifest = fac.manifest(bkid, label=linfo['title'])
				manifest.set_metadata({'Author': linfo['first_author'], 'Place of Publication': linfo['pubplace'],
					'Publisher': linfo['publisher'], "Date": linfo['date'], "Shelfmarks" : bookinfo['shelfmarks'],
					'Issuance': bookinfo['issuance']})
				manifest.attribution = "British Library"
				manifest.seeAlso = bookinfo['flickr_url_to_book_images'] 
				seq = manifest.sequence("s1", label="Regular Order")
				manifests[bkid] = manifest

			cvs = seq.canvas(linfo['flickr_id'], label="p. %03d (detail)" % int(linfo['page']))
			anno = cvs.annotation("%s-image" % linfo['flickr_id'])

			imgs = []
			if linfo['flickr_original_source']:
				orig = fac.image(linfo['flickr_original_source'])
				orig.set_hw(int(linfo['flickr_original_height']), int(linfo['flickr_original_width']))
				imgs.append(orig)

			if linfo['flickr_large_source']:
				large = fac.image(linfo['flickr_large_source'])
				large.set_hw(int(linfo['flickr_large_height']), int(linfo['flickr_large_width']))
				imgs.append(large)

			if linfo['flickr_medium_source']:
				medium = fac.image(linfo['flickr_medium_source'])
				medium.set_hw(int(linfo['flickr_medium_height']), int(linfo['flickr_medium_width']))
				imgs.append(medium)

			if linfo['flickr_small_source']:
				small = fac.image(linfo['flickr_small_source'])