-
Notifications
You must be signed in to change notification settings - Fork 31
Open
Description
we need to know whether refactoring the AlternativeImage selection logic out of
Workspace.image_from_*
into a stateless function (without anydownload_file
behaviour) would break any existing API in the future, hence whether it must be done prior to 3.0 or can be done later.
@kba I don't think we need to break anything here in the future. The methods Workspace.image_from_page
and Workspace.image_from_segment
could be re-implemented as follows:
- delegate to new generateds user methods
PageType.get_image
and[*Region|TextLine|Word]Type.get_image
,
but pass as new kwargresolve
a function with the following definition:def resolve(image_url): try: f = next(self.mets.find_files(local_filename=str(image_url))) return f.local_filename except StopIteration: try: f = next(self.mets.find_files(url=str(image_url))) return self.download_file(f).local_filename except StopIteration: with download_temporary_file(image_url) as f: return f.name
- replace calls to
resolve_image_exif
by calls toexif_from_filename
directly,
but allow overriding filename viaresolve
- replace calls to
resolve_image_as_pil
by calls to a new functionimage_from_filename
,
which merely contains the parts that doImage.open()
and.load()
to give up the FD, as well as array conversion for the badly supported color modes I and F,
but allow overriding filename viaresolve
Originally posted by @bertsky in bertsky#21 (comment)
Metadata
Metadata
Assignees
Labels
No labels