サイトをアーカイブするためのコマンドが欲しい

date:2013-04-15
status:close
type:request

結論

make archive_archive_ 配下にtarballが出来るようにしました。

#! /usr/bin/env python
#-*- coding: utf-8 -*-
"""サイトのアーカイブを作成します
"""
import os
import time
import tarfile
import optparse

def main():
    parser = optparse.OptionParser()
    opts, args = parser.parse_args()

    archive_dir = os.path.join('.', '_archive_')
    
    try:
        os.makedirs(archive_dir)
    except:
        pass
    
    tar_filename = time.strftime('html-%Y.%m.%d.%H.%M.%S.tar.gz')
    tar_path = os.path.join(archive_dir, tar_filename)
    
    cur = os.getcwd()
    with tarfile.open(tar_path, 'w') as tar:
        os.chdir('_build_')
        for root, dirs, files in os.walk('html'):
            for filename in files:
                tar.add(os.path.relpath(os.path.join(root, filename)))
        os.chdir(cur)
    print tar_path

if __name__ == '__main__':
    main()
    

内容

サイトのアーカイブを作成して作業前後で比較をするために サイトのアーカイブが必要になりました。 アーカイブの作成はたくさんするわけではありませんがCIの観点からはよくありません。 サイトの作りやすさを損なわないためにスクリプトの作成をします。

タイムスタンプをファイル名してtarballにします。 それを _archive_ ディレクトリに作成します。

ノート

_archive_ のディレクトリ名の理由

アーカイブはただの魚拓のためSphinxからもMercurialからも 無視されるようにします。

目次

前のトピックへ

pygments で指定できるハイライトのスタイルの一覧をまとめる

次のトピックへ

make archive 時に無駄な引数チェックが入る

このページ

inserted by FC2 system