Porkchopは、Pythonで書かれたシンプルなHTTPベースのシステム情報サーバは あなたはそれ用のプラグインを書いて、それがあなたの要求に基づいてデータで応答します。
以下に例を示します。
ビートボックス@スコット:〜%カールはhttp:// localhost:5000 / cpuinfoの
/ cpuinfoを/ PROCESSOR2 / FPUはい
/ cpuinfoを/ PROCESSOR2 / f00f_bugなし
/ cpuinfoを/ PROCESSOR2 / cache_alignment 64
/ cpuinfoを/ PROCESSOR2 / VENDOR_ID AuthenticAMD
/ cpuinfoを/ PROCESSOR2 /フラグFPU
/ cpuinfoを/ PROCESSOR2 / BogoMips値6384
/ cpuinfoを/ PROCESSOR2 / hlt_bugなし
/ cpuinfoを/ PROCESSOR2 / apicid 2
/ cpuinfoを/ PROCESSOR2 / fpu_exceptionはい
/ cpuinfoを/ PROCESSOR2 / 3ステッピング
/ cpuinfoを/ PROCESSOR2 / WPはい
/ cpuinfoを/ PROCESSOR2 /兄弟4
/ cpuinfoを/ PROCESSOR2 /モデル4
/ cpuinfoを/ PROCESSOR2 / coma_bugなし
/ cpuinfoを/ PROCESSOR2 / fdiv_bugなし
/ cpuinfoを/ processor3 / FPUはい
/ cpuinfoを/ processor3 / f00f_bugなし
/ cpuinfoを/ processor3 / cache_alignment 64
/ cpuinfoを/ processor3 / VENDOR_ID AuthenticAMD
/ cpuinfoを/ processor3 /フラグFPU
/ cpuinfoを/ processor3 / BogoMips値6384
/ cpuinfoを/ processor3 / hlt_bugなし
/ cpuinfoを/ processor3 / apicid 3
/ cpuinfoを/ processor3 / fpu_exceptionはい
/ cpuinfoを/ processor3 / 3ステッピング
/ cpuinfoを/ processor3 / WPはい
/ cpuinfoを/ processor3 /兄弟4
/ cpuinfoを/ processor3 /モデル4
/ cpuinfoを/ processor3 / coma_bugなし
/ cpuinfoを/ processor3 / fdiv_bugなし
[省略]
/時間1311387215
ビートボックス@スコット:〜%
また、.jsonファイル拡張子を経由してJSONで応答するか、受け入れる設定することができます:アプリケーション/ JSONヘッダを。
ビートボックス@スコット:〜%カールはhttp:// localhost:5000 / cpuinfo.json
{"cpuinfoの":{"PROCESSOR2":{"FPU": "はい"、 "f00f_bug": "いいえ"、 "cache_alignment": "64"、 "VENDOR_ID": "AuthenticAMD"、 "フラグ": "FPU」 「BogoMips値 ":" 6384 "、" hlt_bug ":"いいえ "、" apicid ":" 2 "、" fpu_exception ":"はい "、"ステップ ":" 3 "、" WP ":"はい "、"兄弟 ":" 4 "、"モデル ":" 4 "、" coma_bug ":"いいえ "、" fdiv_bug ":"いいえ "}、" processor3 ":{" FPU ":"はい "、" f00f_bug ":"いいえ "、" cache_alignment ":" 64 "、" VENDOR_ID ":" AuthenticAMD "、"フラグ ":" FPU」、「BogoMips値 ":" 6384 "、" hlt_bug ":"いいえ "、" apicid ":" 3 " 「fpu_exception ":"はい "、"ステップ ":" 3 "、" wpは ":"はい "、"兄弟 ":" 4 "、"モデル ":" 4 "、" coma_bug ":"いいえ "、" fdiv_bug ":"いいえ "}、" processor0 ":{" FPU ":"はい "、" f00f_bug ":"いいえ "、" cache_alignment ":" 64 "、" VENDOR_ID ":" AuthenticAMD "、"フラグ ":" FPUの」、「BogoMips値 ":" 6382 "、" hlt_bug ":"いいえ "、" apicid ":" 0 "、" fpu_exception ":"はい "、"ステップ ":" 3 "、" wpは ":"はい " 、 "兄弟": "4"、 "モデル": "4"、 "coma_bug": "いいえ"、 "fdiv_bug": "いいえ"}、 "プロセッサ1":{"FPU": "はい"、 "f00f_bug」 : "いいえ"、 "cache_alignment": "64"、 "VENDOR_ID": "AuthenticAMD"、 "フラグ": "FPU」、「BogoMips値": "6384"、 "hlt_bug": "いいえ"、 "apicid": " 1 "、" fpu_exception:はい」、「ステッピング」 "": "3"、 "wpは": "はい"、 "兄弟": "4"、 "モデル": "4"、 "coma_bug": "いいえ" 「fdiv_bug ":"いいえ "}}、"時間 ":" 1311389934 "}
ビートボックス@スコット:〜%
<強い>インストールの
porkchopをインストールピップ
または
Pythonはsetup.py installを
のプラグインを書くの
それは、新しいプラグインを作成するために非常に簡単です。彼らはいくつかの共通の属性を持つだけのPythonモジュールをしている:
- プラグインはporkchop.plugin.PorkchopPluginをサブクラス化する必要があります。
- プラグインのクラスは、プラグインで接尾されなければならない。プラグインディレクトリ内の実際のファイル名には、接頭辞と一致する必要があります。たとえば、FooPluginは、ファイルになりますfoo.py
- プラグインのクラスは、表示される情報のディクショナリを返すget_Dataオペレーションと呼ばれるメソッドが含まれている必要があります。
データはもっとして60秒古い場合デフォルトでは、プラグインのget_Dataオペレーションメソッドは、呼び出されます。これは、クラスの___init___メソッドでself.refreshを設定することにより、毎プラグインに基づいて変更することができる。
これらのプラグインを使用すると、選択した任意のディレクトリに配置し、porkchop -dオプションを渡すことでロードすることができます。
の要件の:ます。
- パイソンます。
コメントが見つかりません