Home > コンピュータ > LibreOffice > マクロ > Python > ドキュメント > APSO -Python用の代替スクリプト・オーガナイザー

APSO -Python用の代替スクリプト・オーガナイザー

新規作成日 2022-03-18
最終更新日

このページの内容は、「APSO - Alternative Script Organizer for Python」 の和訳です。

このページは、2022-03-18に閲覧した翻訳元ページの内容を翻訳したものです。

※注意 このページには、原文ページに存在するダウンロードリンクは設置していないので、「APSO - Alternative Script Organizer for Python」拡張機能をダウンロードする際は、原文ページの「Release List」に設置されている[DOWNLOAD]ボタンからダウンロードしてください。


APSO

Hanyaの元のスクリプトに基づいて、APSOは、Pythonスクリプトのためのマクロ・オーガナイザーをインストールします。

説明

Description

APSOは、OpenOfficeと互換性があります。

Hanyaの元のスクリプトに基づいて、APSOは、pythonスクリプト専用のマクロ・オーガナイザーをインストールする拡張機能です。

必要条件

Prerequisite

一部のシステム(Ubuntuのような)では、LibreOfficeのためのPythonスクリプト・プロバイダーは、個別のパッケージとしてのみ利用できます。(ここを参照)。

機能

Features

  • ローカライゼーション(現在、EN、DE、FR、IT、HUはTibor Kovacsに、NLはDick Groskampに、ESはFrancisco Graciaに、JAはNogajunに感謝)
  • スクリプトをドキュメントに埋め込んだり、ドキュメントから抽出したりする
  • 拡張機能をお気に入りのコード・エディタに結合します(Hanyaの別のスクリプトに感謝します。以下のオプションを参照してください)。
  • スクリプトが組み込まれたクイック・エディション(ただし、APSO拡張機能のコンテキストでのみ*)
  • 統合されたGUIデバッガー
  • 対話型のパイソン・インタプリタ
  • 一旦、インストールすると、自動更新されます。

(*最後に保存した後、APSOが、開かれている、あるいは、閉じられている場合、変更だけが、保持されます)

どのように動作しますか

How it works

起動メニュー

APSOは、デフォルト・ショートカットAlt+Shift+F11と一緒に、Tools/Macrosメニューの下の新しい要素のOrganize pythonスクリプトを追加します。:

APSOダイアログ・ボックス

この新しい項目、あるいは、ショートカットは、すべてのpythonスクリプトを一覧表示し、さまざま動作を提供するダイアログ・ボックスを開きます。:

Executeボタンは、選択したマクロを起動します。Menuボタンで使用できる動作は、選択によって変化します。:

  • 選択がコンテナである場合、モジュールやライブラリを作成します。(私のマクロ、オフィス・マクロ、文書)
  • モジュールやライブラリの編集、名前変更、削除
  • アプリケーション(私のマクロやオフィス・マクロ)から現在の文書にモジュールを埋め込む
  • 組み込みモジュールを外部ファイルに置き換えます
  • 組み込みモジュールをエクスポートする

ヘルパー

Helpers

APSOは、小さなライブラリapso_utilsが付属していますこれには、マクロの書き込み中に、デバッグを行うためのヘルパーが含まれています。

これらのヘルパーは、msgbox、xray、mri、consoleという名前の4つの関数であり、apso_utilsからインポートするmsgboxのように、従来のインポート命令によって、インポートすることができます。

関数 説明
msgbox

oobasicの組み込み関数msgboxのようですが、迅速なデバッグのみを目的として簡略化されています。

署名:msgbox(message, title='Message', boxtype='message', buttons=1, win=None)

xray

Bernard Marcellyによるイントロスペクション・ツールXraを起動します(最初にインストールする必要があります)

署名:xray(obj)

mri

Hanyaによるイントロスペクション・ツールMRIを起動します(最初にインストールする必要があります)

署名:mri(target)

console

pythonインタラクティブ・シェルを可能な限りエミュレートします。そのようなツールに、何ができるのでしょうか:

  • 文書と直接対話し、"生放送で"uno APIのメソッドをテストします。

    (また、basic言語など、他の言語にも役立つ可能性があります);

  • 組み込まれたインタプリタのコンテキストで、Python式をすばやく検証します。;
  • 並行して実行されている、またはシェルから開始されたスクリプトの出力を表示します。

    (オフィス・プログラムから見えるすべてのモジュールをインポートすることができます);

  • pdbのruncall関数を使用してスクリプトをデバッグします

    (文書に埋め込まれたスクリプトでは機能しません);

  • 組み込みのhelp()コマンドを使用して、どんな関数に関しても、すばやく情報を取得します。;
  • (インストールされている場合)MRIやXrayのような、イントロスペクション・ツールで、有効なunoオブジェクトを探索する;
  • ...

署名:console(** kwargs)、オプションのkwargsは、コンソール・コンテキストに、デフォルトのGUI値(BACKGROUND、FOREGROUND ...)を上書きする、あるいは、呼び出し元のロケール、および/またはグローバルを渡すことを目的としています。

from apso_utils import console, msgbox, mri, xray
def testhelpers():
    # console()
    # console(BACKGROUND=0x0, FOREGROUND=0xFFFFFF)
    loc = locals()
    loc.update(globals())
    console(loc=loc)

    doc = XSCRIPTCONTEXT.getDocument()
    # xray(doc)
    msgbox(doc.Title)
    mri(doc) 
ASPOの例

コンソール・マクロだけが、APSOインスタンスの外部からアクセスできます。誰かが、APSOとは無関係にモジュールapso_utilsをインポートしたい場合、彼は、そのインスタンス化を強制する必要があります:

    ctx = XSCRIPTCONTEXT.getComponentContext()
    ctx.ServiceManager.createInstance("apso.python.script.organizer.impl")
    # now we can import apso_utils library
    # これで、私たちは、apso_utilsライブラリをインポートできます
    from apso_utils import console
    console() 

統合デバッガ

Integreted debugger

メイン・ウィンドウで、機能が選択されたとき、デバッガーは、Apsoの"Menu"ボタンから起動できます。

一旦、デバッガーを開くと、コードを段階的に実行したり、呼び出された関数を入力したり、呼び出し元に戻ったりすることができます。

ブレークポイントは、サポートされていませんが、あなたは、同じ関数内で現在の行の下にある行をダブルクリックすると、移動することができます。

あなたは、"Stack"ウィンドウ(左下)の中で、それをダブルクリックすることで、呼び出し元の状態とスコープを確認できます。

あなたが、MRIやXrayをインストールしいる場合、あなたが、"Scope"ウィンドウ(右下)の中で、それをダブルクリックすることで、どんなUNO変数でも調べることができます。

あなたが、ツールバーから、コンソール・ウィンドウを開くとき、グローバルとローカル・スコープが、自動的に読み込まれます。

あなたが、デバッガーが動作している間に、スクリプトを編集する場合、変更は、"Restart"をクリックした後、反映されます。

デバッガーは、BasicIDE用に定義されたフォント名と高さを使用します。

デバッガーは、まだ完全にはローカライズされていません

統合デバッガ

Apsoのオプション

APSO Options

拡張オプション・ページは、[ツール]->[拡張マネージャー]->[APSO]->[オプション]から利用できます。

デフォルトでは、APSOは、システムで定義されたエディターを使用します。特定のエディタで、スクリプトを編集するために、"Editor"フィールドに、実行可能なフルパスを入力します。

指定された行と列のオフセットで、開口部を許可するために、関連するとき、"Options"フィールドに、(そのうち交換される)記入子{FILENAME}、{ROW}、{COL}を使用して、選択したエディタに対応するコマンド行構文を入力します。

Emacsのための例:+{ROW}:{COL} {FILENAME}.

Sublime Textのための例:{FILENAME}:{ROW}:{COL}.

ホームページ:https://gitlab.com/jmzambon/apso

リリース・リスト

リリース 説明 互換性 OS ライセンス リリース・ノート
v1.2.8 バグ修正と小さな機能拡張。 3.4 Linux, Windows, macOS AL
  • console()メソッドは、現在、コンソール・オブジェクトへの参照を返しません。enddialog()メソッドを呼び出すことで、プログラムでコンソール・ウィンドウを閉じることができます(問題#21)。
  • 問題#20「一部のLinux構成でLibreOfficeがフリーズする」を修正。
1.2.7 小さな改善 3.4 Linux, Windows, macOS AL

ノードの並べ替えロケールを認識させます。

小さな改善とバグ修正

1.2.6.2 新しいモジュールのカスタム・コンテンツを追加する 3.4 Linux, Windows, macOS AL

新しいモジュールの作成時に挿入されるデフォルトのヘッダー行は、現在、オプション・ダイアログからカスタマイズできます。

このリリースでは、"戻る"ボタンが効果がなかったオプション・ダイアログのバグも修正し、残りのフランス語の引数名を英語に変換しています。

Mike Kaganskiの助けを借りて、たくさんのブロックされないエラーも修正します。

1.2.5 日本語を追加しました。Nogajunの貢献に感謝。 3.4 Linux, Windows, macOS AL
1.2.4 スペイン語を追加する 4.4 Linux, Windows, macOS AL Francisco Graciaによって翻訳されています。彼に感謝します。Gracias a el.
1.2.3 デバッガーとapso_utilsコードを掃除します。 3.4 Linux, Windows, macOS AL OpenOffice下でのバグを修正します。デバッグ・ウィンドウを閉じるとき、スプリッタ・ウィンドウが、適切に閉じられなかった場合、プログラムのクラッシュを引き起こします。他のコードが、掃除されます。
1.2.2 小さなバグ修正。 3.4 Linux, Windows, macOS AL apso_utilsモジュール(v1.2.2.0)は別として、公開された関数(現在は、単に"console")を専用のフォルダーに移動します。デバッガ(v1.2.2.1)の呼び出しをMriに変更します。2つの小さなバグを修正します: - XSCRIPTCONTEXTグローバル変数が、コンソール(v1.2.2.0)で一貫していない場合があります - "console"機能は、APSO(v1.2.2.0)以外では使用できなくなりました
1.2.1 新しい統合デバッガツールと、モジュールとライブラリの命名におけるマイナーなバグ修正。 3.4 Linux, Windows, macOS AL

メイン・ウィンドウで、機能が選択されたとき、デバッガーは、Apsoの"Menu"ボタンから起動できます。

一旦、デバッガーが開くと、コードを段階的に実行したり、呼び出された関数を入力したり、呼び出し側に戻るなどをすることができます。

ブレークポイントは、サポートされていませんが、あなたは、同じ関数内で現在の行の下にある行をダブルクリックすると、移動することができます。

あなたは、"Stack"ウィンドウ(左下)の中で、それをダブルクリックすることで、呼び出し元の状態とスコープを確認できます。

あなたが、MRIやXrayをインストールしいる場合、あなたが、"Scope"ウィンドウ(右下)の中で、それをダブルクリックすることで、どんなUNO変数でも調べることができます。

あなたが、ツールバーから、コンソール・ウィンドウを開くとき、グローバルとローカル・スコープが、自動的に読み込まれます。

あなたが、デバッガーが動作している間に、スクリプトを編集する場合、変更は、"Restart"をクリックした後、反映されます。

デバッガーは、BasicIDE用に定義されたフォント名と高さを使用します。

デバッガーは、まだ完全にはローカライズされていません

1.2.0 新しい統合デバッガツールと、モジュールとライブラリの命名におけるマイナーなバグ修正。 3.4 Linux, Windows, macOS AL

デバッガーは、Apsoの"Menu"ボタンから起動できます。

メイン・ウィンドウで、機能が選択されたとき、一旦、デバッガーを開くと、コードを段階的に実行したり、呼び出された関数を入力したり、呼び出し元に戻ったりすることができます。

ブレークポイントは、サポートされていませんが、あなたは、同じ関数内で現在の行の下にある行をダブルクリックすると、移動することができます。

あなたは、"Stack"ウィンドウ(左下)の中で、それをダブルクリックすることで、呼び出し元の状態とスコープを確認できます。

あなたが、MRIやXrayをインストールしいる場合、あなたが、"Scope"ウィンドウ(右下)の中で、それをダブルクリックすることで、どんなUNO変数でも調べることができます。

あなたが、ツールバーから、コンソール・ウィンドウを開くとき、グローバルとローカル・スコープが、自動的に読み込まれます。

あなたが、デバッガーが動作している間に、スクリプトを編集する場合、変更は、"Restart"をクリックした後、反映されます。

デバッガーは、BasicIDE用に定義されたフォント名と高さを使用します。

デバッガーは、まだ完全にはローカライズされていません

1.1.4 コードの修正と掃除 3.4 Linux, Windows, macOS AL
1.1.2 新しいコンソール・ツール(Menuボタンを参照)。コードの掃除。 4.0 Linux, Windows, macOS AL
1.0.2 バグ・フィックス 4.0 Linux, Windows, macOS AL

APSOが、データベース・サブ・ドキュメント(基本フォーム、クエリ・ウィザードなど)から起動できなかったバグを修正します。

他のいくつかの小さなバグを修正します。

1.0.0 最初の公式リリース 5.0 Linux, Windows, macOS AL 詳細については、メインの説明ページを参照してください。LibreOffice 5.xとOpenOffice 4.x上でテストしました。ただし、以前のバージョンでも機能するはずです。
このエントリーをはてなブックマークに追加