def read(fp): """ Reads PSD file header. """ logger.debug("reading header..") signature = fp.read(4) if signature != b"8BPS": raise Error("This is not a PSD file") version = read_fmt("H", fp)[0] if version != 1: raise Error("Unsupported PSD version (%s)" % version) header = PsdHeader(*read_fmt("6x HIIHH", fp)) if not ColorMode.is_known(header.color_mode): warnings.warn("Unknown color mode: %s" % header.color_mode) logger.debug(header) return header
def read(fp): """ Reads PSD file header. """ logger.debug("reading header..") signature = fp.read(4) if signature != b'8BPS': raise Error("This is not a PSD or PSB file") version = read_fmt("H", fp)[0] if not version in (1, 2): raise Error("Unsupported PSD version (%s)" % version) header = PsdHeader(version, *read_fmt("6x HIIHH", fp)) if not ColorMode.is_known(header.color_mode): warnings.warn("Unknown color mode: %s" % header.color_mode) logger.debug(header) return header