genvid.toolbox.Profile

プロフィールツールについての詳細は、 複数の環境の管理 を参照してください。

class genvid.toolbox.Profile

ベースクラス: object

プロフィール操作用 API。

GENVID_PROFILE が定義されている場合、 GENVID_PROFILES_PATH で定義されたパスを順に検索して、一致するプロフィールを検索します。

プロフィールが定義されている場合、プロフィールを含むファイルを特定するため、GENVID_PROFILE_PATH が設定されます。

プロフィールは、以下のフォーマットの HCL ファイルです。

profile "PROFILE_NAME" {
    ENV_0 = "ENV_0_VALUE"
    ENV_1 = "ENV_1_VALUE"
    [...]
    ENV_N = "ENV_N_VALUE"
}

1つのファイルが複数のプロフィールを持ったり、任意のディレクトリ構造が複数のプロフィールファイルを持ったりすることも可能。再帰的に検索を実行。

注釈

プロフィールファイルの読み込み時、 .backup で終わるファイル名は無視されます。

例外:
  • RuntimeError – 名前を付けたプロフィールが定義されているが、見つからない場合。
  • RuntimeError – パス内に同一プロフィールが見つかった場合。
  • ValueError – プロフィールファイルに無効な HCL が含まれる場合。
  • OSError – 発生したファイルシステムエラー。

バージョン 1.20.0 で追加.

name = None

ロードするプロフィール。GENVID_PROFILE から値を取得、または空白文字列に設定。

lookup_paths = None

プロフィールファイルへのパスの順番リスト。GENVID_PROFILES_PATH から初期化、または ~/.genvid/profile に設定。

path = None

ロードしたプロフィールを含むプロフィールファイルのパス。

解決されると、GENVID_PROFILE_PATH が同じ値に設定されます。

注釈

GENVID_PROFILE が空白文字列の場合、この値も空白文字列となります。

static new(name, path)

指定のプロフィールファイルに新しい (空白の) プロフィールを作成します。

パラメータ:
  • name (str) – 新しいプロフィールに付ける名前。
  • path – 使用するプロフィールファイルのパス。

注釈

すでに存在していない場合に、新しいプロフィールファイルが作成されます。必要な親ディレクトリを含みます。

例外:OSError – 発生したファイルシステムエラー。
check(*, throw=False)

プロフィールがロードされているかをチェックし、必要に応じて例外処理を発生させます。

パラメータ:throw (bool) – プロフィールがロードされている場合に、例外処理を行うかどうか。
戻り値:プロフィールがロードされている場合のみ True
戻り値の型:bool
例外:RuntimeErrorthrowTrue の場合、プロフィールはロードされていません。
apply()

ロードされたプロフィールが存在する場合、適用します。

プロフィール内で定義されている各環境変数に対して、その環境変数がまだ設定されていない場合に、その値を環境に設定します。

insert(**environment)

key/value ペアをプロフィールに挿入し、必要に応じて上書きします。

注釈

このメソッドは、副次効果として、ディスクのプロフィールファイルを更新します。ただし先に、同一ディレクトリに、タイプスタンプ付のバックアップファイルを作成します。

パラメータ:

environment – プロフィールに挿入する key/value ペア。

例外:
  • RuntimeError – プロフィールが使用されていない場合。
  • ValueError – プロフィールファイルに無効な HCL が含まれる場合。
  • OSError – 発生したファイルシステムエラー。
remove(*variables)

プロフィールから指定した変数を削除します。

注釈

このメソッドは、副次効果として、ディスクのプロフィールファイルを更新します。ただし先に、同一ディレクトリに、タイプスタンプ付のバックアップファイルを作成します。

パラメータ:

variables – プロフィールから削除される変数名の反復子。

例外:
  • RuntimeError – プロフィールが使用されていない場合。
  • RuntimeError – プロフィールに変数が存在しない場合。
  • ValueError – プロフィールファイルに無効な HCL が含まれる場合。
  • OSError – 発生したファイルシステムエラー。
class profile.Profile

genvid.toolbox.Profile の実装