非推奨の名前#

メソッドやプロパティの元々の命名規則は「camelCase」でした。その創造以来、PyMuPDFでの機能の著しい増加がありました。それに伴い、クラス、メソッド、プロパティも対応するように増加しました。多くの場合、これにより直感に反した、論理的でなく見栄えのしない名前が生まれ、覚えたり推測したりが難しくなりました。

数バージョン前、私はゆえに、段階的なアプローチが必要な大規模な取り組みであったにもかかわらず、「snake_cased」の命名規則に切り替えることを決定しました。これは大きな努力が必要でした。今はそれが完了したと思っています(バージョン1.18.14)。

以下のリストは、非推奨の名前とそれらの新しいバージョンを対応付けたものです。例えば、プロパティである pageCount は、 Document (ドキュメント) クラス内では page_count となりました。また、より明らかでない名前の変更もあります。例えば、メソッドである getPNGdataPixmap クラス内で tobytes という名前に変更されました。

クラスの名前(キャメルケース)やパッケージ全体の定数(大部分は大文字)については、触れずに残ります。

古い名前は、MuPDFバージョン1.19.0まで非推奨のエイリアスとして利用可能であり、その後のバージョン(おそらくバージョン1.20.0ですが、これは上流の決定(MuPDF)に依存します)で 削除されます

バージョン1.19.0以降、エイリアス化されたメソッドが使用されている場合、 sys.stderr に非推奨の警告が表示されます。例 Deprecation: 'newPage'はクラス 'Document'からv1.19.0以降で削除されました - 'new_page' を使用してください。非推奨のプロパティを使用した場合、このタイプの警告は発生しません。

直ちに、すべての非推奨のオブジェクト(メソッドとプロパティ)は、元のドキュメント文字列のコピーが表示され、その前に非推奨のメッセージが 付加されます 。例:

>>> print(pymupdf.Document.pageCount.__doc__)
*** Deprecated and removed in version following 1.19.0 - use 'page_count'. ***
Number of pages.
>>> print(pymupdf.Document.newPage.__doc__)
*** Deprecated and removed in version following 1.19.0 - use 'new_page'. ***
Create and return a new page object.

    Args:
        pno: (int) insert before this page. Default: after last page.
        width: (float) page width in points. Default: 595 (ISO A4 width).
        height: (float) page height in points. Default 842 (ISO A4 height).
    Returns:
        A Page object.

スクリプト alias-changer.py があり、スクリプト内で大量の名前変更を行うために使用できます。単一のファイルまたはフォルダを引数として受け入れます。フォルダが指定された場合、そのフォルダ内のすべてのPythonファイルおよびそのサブフォルダのファイルが変更されます。必要に応じて、スクリプトのバックアップを取ることもできます。


This software is provided AS-IS with no warranty, either express or implied. This software is distributed under license and may not be copied, modified or distributed except as expressly authorized under the terms of that license. Refer to licensing information at artifex.com or contact Artifex Software Inc., 39 Mesa Street, Suite 108A, San Francisco CA 94129, United States for further information.

Discord logo