fmt/support/update-website.py

44 lines
1.2 KiB
Python
Raw Normal View History

2016-05-08 15:03:01 +00:00
#!/usr/bin/env python
import os, shutil, sys
from subprocess import check_call
class Git:
def __init__(self, dir):
self.dir = dir
def call(self, method, args, **kwargs):
return check_call(['git', method] + list(args), **kwargs)
def clone(self, *args):
return self.call('clone', list(args) + [self.dir])
def checkout(self, *args):
return self.call('checkout', args, cwd=self.dir)
# Create build environment.
fmt_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0, os.path.join(fmt_dir, 'doc'))
import build
build.create_build_env()
git = Git('fmt')
git.clone('git@github.com:fmtlib/fmt.git')
versions = ['1.0.0']
for version in versions:
git.checkout(version)
target_doc_dir = os.path.join(git.dir, 'doc')
# Remove the old theme.
for entry in os.listdir(target_doc_dir):
path = os.path.join(target_doc_dir, entry)
if os.path.isdir(path):
shutil.rmtree(path)
# Copy the new theme.
for entry in ['_static', '_templates', 'basic-bootstrap', 'bootstrap']:
src = os.path.join(fmt_dir, 'doc', entry)
dst = os.path.join(target_doc_dir, entry)
shutil.copytree(src, dst)
build.build_docs(version, target_doc_dir)
# TODO: copy docs to website