quintagroup.transmogrifier を使用して Plone サイトをエクスポートおよびインポートしようとしていました。ファイル アイテムに少し問題がありました。ファイル アイテムにバイナリ ファイル (zip や png など) が含まれていた場合、ファイル アイテムは正常にエクスポートされました。ただし、ファイル アイテムに非バイナリ ファイル (txt、csv、ODT など) が含まれている場合、アイテムはエクスポートされましたが、その中のファイルは失われていました。
そこで、fileexporter ブループリントのコードを含む binary.py モジュールを調べました。ブループリントはアイテムのスキーマのフィールドを見て、バイナリ フィールドがある場合、アイテムがファイルまたはイメージのいずれかであることを理解し、その中のファイルをエクスポートするようです。
しかし、私が言及したケースでは失敗します (非バイナリ ファイルを含むファイル アイテム)。
私の質問は、スキーマのフィールドにバイナリ ファイルまたはテキスト ファイルが含まれているかどうかを、Python でどのように検出できるのでしょうか。