mirror of
https://github.com/saymrwulf/zipline.git
synced 2026-05-14 20:58:10 +00:00
80 lines
2.1 KiB
Python
80 lines
2.1 KiB
Python
#!/usr/bin/env python
|
|
from __future__ import print_function
|
|
from contextlib import contextmanager
|
|
from glob import glob
|
|
import os
|
|
from os.path import abspath, basename, dirname, exists, isfile
|
|
from shutil import move, rmtree
|
|
from subprocess import check_call
|
|
|
|
HERE = dirname(abspath(__file__))
|
|
ZIPLINE_ROOT = dirname(HERE)
|
|
TEMP_LOCATION = '/tmp/zipline-doc'
|
|
TEMP_LOCATION_GLOB = TEMP_LOCATION + '/*'
|
|
|
|
|
|
@contextmanager
|
|
def removing(path):
|
|
try:
|
|
yield
|
|
finally:
|
|
rmtree(path)
|
|
|
|
|
|
def ensure_not_exists(path):
|
|
if not exists(path):
|
|
return
|
|
if isfile(path):
|
|
os.unlink(path)
|
|
else:
|
|
rmtree(path)
|
|
|
|
|
|
def main():
|
|
old_dir = os.getcwd()
|
|
print("Moving to %s." % HERE)
|
|
os.chdir(HERE)
|
|
|
|
try:
|
|
print("Cleaning docs with 'make clean'")
|
|
check_call(['make', 'clean'])
|
|
print("Building docs with 'make html'")
|
|
check_call(['make', 'html'])
|
|
|
|
print("Clearing temp location '%s'" % TEMP_LOCATION)
|
|
rmtree(TEMP_LOCATION, ignore_errors=True)
|
|
|
|
with removing(TEMP_LOCATION):
|
|
print("Copying built files to temp location.")
|
|
move('build/html', TEMP_LOCATION)
|
|
|
|
print("Moving to '%s'" % ZIPLINE_ROOT)
|
|
os.chdir(ZIPLINE_ROOT)
|
|
|
|
print("Checking out gh-pages branch.")
|
|
check_call(
|
|
[
|
|
'git', 'branch', '-f',
|
|
'--track', 'gh-pages', 'origin/gh-pages'
|
|
]
|
|
)
|
|
check_call(['git', 'checkout', 'gh-pages'])
|
|
check_call(['git', 'reset', '--hard', 'origin/gh-pages'])
|
|
|
|
print("Copying built files:")
|
|
for file_ in glob(TEMP_LOCATION_GLOB):
|
|
base = basename(file_)
|
|
|
|
print("%s -> %s" % (file_, base))
|
|
ensure_not_exists(base)
|
|
move(file_, '.')
|
|
finally:
|
|
os.chdir(old_dir)
|
|
|
|
print()
|
|
print("Updated documentation branch in directory %s" % ZIPLINE_ROOT)
|
|
print("If you are happy with these changes, commit and push to gh-pages.")
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|