12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- #!/usr/bin/env python3
- import os, subprocess, shutil
- assert os.getcwd() == '/home/jpakkane'
- from glob import glob
- def purge(fname: str) -> None:
- if not os.path.exists(fname):
- return
- if os.path.isdir(fname):
- shutil.rmtree(fname)
- os.unlink(fname)
- def update() -> None:
- webdir = 'mesonweb'
- repodir = 'mesonwebbuild'
- docdir = os.path.join(repodir, 'docs')
- builddir = os.path.join(docdir, 'builddir')
- htmldir = os.path.join(builddir, 'Meson documentation-doc/html')
- # subprocess.check_call(['git', 'pull'], cwd=webdir)
- subprocess.check_call(['git', 'fetch', '-a'], cwd=repodir)
- subprocess.check_call(['git', 'reset', '--hard', 'origin/master'],
- cwd=repodir)
- if os.path.isdir(htmldir):
- shutil.rmtree(htmldir)
- if os.path.isdir(builddir):
- shutil.rmtree(builddir)
- env = os.environ.copy()
- env['PATH'] = env['PATH'] + ':/home/jpakkane/.local/bin'
- subprocess.check_call(['../meson.py', '.', 'builddir'], cwd=docdir, env=env)
- subprocess.check_call(['ninja'], cwd=builddir)
- old_files = glob(os.path.join(webdir, '*'))
- for f in old_files:
- base = f[len(webdir)+1:]
- if base == 'CNAME' or base == 'favicon.png':
- continue
- subprocess.check_call(['git', 'rm', '-rf', base], cwd=webdir)
- assert os.path.isdir(webdir)
- new_entries = glob(os.path.join(htmldir, '*'))
- for e in new_entries:
- shutil.move(e, webdir)
- subprocess.check_call('git add *', shell=True, cwd=webdir)
- subprocess.check_call(['git', 'commit', '-a', '-m', 'Bleep. Bloop. I am a bot.'],
- cwd=webdir)
- subprocess.check_call(['git', 'push'], cwd=webdir)
- shutil.rmtree(builddir)
- if __name__ == '__main__':
- update()
|