def _IfdEntryFactory(stream_rdr, offset):
 ifd_entry_classes = {TIFF_FLD.ASCII: _AsciiIfdEntry, TIFF_FLD.SHORT: _ShortIfdEntry, TIFF_FLD.LONG: _LongIfdEntry, TIFF_FLD.RATIONAL: _RationalIfdEntry}
 field_type = stream_rdr.read_short(offset, 2)
 if (field_type in ifd_entry_classes):
  entry_cls = ifd_entry_classes[field_type]
 else:
  entry_cls = _IfdEntry
 return entry_cls.from_stream(stream_rdr, offset)

def _IfdEntryFactory ( stream_rdr , offset ) : ifd_entry_classes = { TIFF_FLD . ASCII : _AsciiIfdEntry , TIFF_FLD . SHORT : _ShortIfdEntry , TIFF_FLD . LONG : _LongIfdEntry , TIFF_FLD . RATIONAL : _RationalIfdEntry } field_type = stream_rdr . read_short ( offset , 2 ) if ( field_type in ifd_entry_classes ) : entry_cls = ifd_entry_classes [ field_type ] else : entry_cls = _IfdEntry return entry_cls . from_stream ( stream_rdr , offset )
return an |_ifdentry| subclass instance containing the value of the directory entry at *offset* in *stream_rdr* .