genvid.toolbox.PackageArchiver¶
-
class
genvid.toolbox.
PackageArchiver
¶ ベースクラス:
object
この class は Nomad の生成物として適したパッケージを作成するための機能をグルーピングします。
使用例:
import pathlib dest = pathlib.Path("test.zip") source = pathlib.Path("source") packager = PackageArchiver() path2name = packager.relative_path(source) packager.make_archive(dest, source.rglob("*.*"), path2name)
バージョン 1.30.0 で追加.
-
PATH_TO_ARCHIVE_NAME_CALLABLE
= typing.Callable[[pathlib.Path], str]¶ 名前をアーカイブする
pathlib.Path
の変換用機能タイプ。
-
ARCHIVE_NAME_TEMPLATE
= '{name}_{version}_{checksum}{archfmt}'¶ update_archive()
のファイル名で使われるテンプレート。
-
static
relative_path
(relpath: pathlib.Path) → typing.Callable[[pathlib.Path], str]¶ 各パス名を
relpath
下の関連フォームに変換する callable を作成。パラメータ: relpath – 他のパスが関連するベースパス。 戻り値: PATH_TO_ARCHIVE_NAME_CALLABLE
。
-
static
flatten_path
(filepath: pathlib.Path) → str¶ filepath
のベース名を返すPATH_TO_ARCHIVE_NAME_CALLABLE
。パラメータ: filepath – 変換のための Path
。戻り値: ファイル名。
-
static
make_archive
(archive: typing.Union[pathlib.Path, zipfile.ZipFile, str], files: typing.Iterable[pathlib.Path], path_to_name: typing.Callable[[pathlib.Path], str]) → pathlib.Path¶ このメソッドは
destination
に Zip アーカイブを作成し、path_to_name
が返す名前で各ファイルfiles
をアーカイブに追加します。パラメータ: - archive –
Path
またはZipFile
アーカイブ。Path
またはストリングが渡されると、この名前のZipFile
が上書き (w
) モード、およびZIP_DEFLATED
の圧縮方法で作成されます。 - files – アーカイブに追加するファイルの繰り返し可能なリスト。 ファイルは実行の際に利用可能であること。
- path_to_name – アーカイブ名をパス名に変換できる機能。簡便なメソッド
relative_path()
andflatten_path()
があります。
戻り値: 最終アーカイブの
Path
オブジェクト。- archive –
-
static
stable_checksum
(archive: pathlib.Path) → str¶ ファイル名と内容のみを基に Zip アーカイブからチェックサムを返します。
パラメータ: archive – チェックサムを行うための zipfile のパス。
-
static
standard_checksum
(archive: pathlib.Path) → str¶ 引数で渡されるファイルのチェックサムを返します。
注釈
Zip のアーカイブには
stable_checksum()
の使用を推奨します。 速度は遅いですが、ファイルが作成される時チェックサムは独立しています。パラメータ: archive – チェックサムを数えるファイル。
-
classmethod
update_archive
(archive: typing.Union[pathlib.Path, str], version: str, checksum: str, *, name: typing.Union[str, NoneType] = None, destdir: typing.Union[pathlib.Path, str, NoneType] = None, clean: bool = True, keep: bool = False, logger: typing.Union[logging.Logger, NoneType] = None)¶ 想定されるイメージフォーマットに対応するように、バイナリアーカイブを更新します。
パラメータ: - archive – アーカイブファイルへのパス。
- version – アーカイブのバージョン。
- checksum – アーカイブ用に使用するチェックサム。
standard_checksum()
とstable_checksum()
の 2 つのメソッドは良い値を返します。 - name – 新しいアーカイブに使用する名前。ない場合は、代わりに
stem
が使用されます。 - destdir – 保存先ディレクトリ。デフォルトはオリジナルアーカイブと同じです。
- clean – アーカイブの旧バージョンを消去 (同じ名前のもの) する。
- keep – 元のアーカイブを保持します。 ほぼ毎回、異なる
destdir
で使用する必要があります。 - logger – 使用するロガー。ない場合はデフォルトのロガーが作成されます。
バージョン 1.30.0 で追加.
-
-
class
package_archive.
PackageArchiver
¶