2
# The Python Imaging Library
7
# Copyright (c) 1996-2003 by Fredrik Lundh
9
# See the README file for information on usage and redistribution.
12
import Image, ImageFile
17
# Install application-specific BUFR image handler.
19
# @param handler Handler object.
21
def register_handler(handler):
25
# --------------------------------------------------------------------
29
return prefix[:4] == "BUFR" or prefix[:4] == "ZCZC"
31
class BufrStubImageFile(ImageFile.StubImageFile):
34
format_description = "BUFR"
38
offset = self.fp.tell()
40
if not _accept(self.fp.read(8)):
41
raise SyntaxError("Not a BUFR file")
56
def _save(im, fp, filename):
57
if _handler is None or not hasattr("_handler", "save"):
58
raise IOError("BUFR save handler not installed")
59
_handler.save(im, fp, filename)
62
# --------------------------------------------------------------------
65
Image.register_open(BufrStubImageFile.format, BufrStubImageFile, _accept)
66
Image.register_save(BufrStubImageFile.format, _save)
68
Image.register_extension(BufrStubImageFile.format, ".bufr")