#!/usr/bin/python3 import os import gitlab from datetime import datetime import tempfile from subprocess import check_call, call, check_output BRANCH="main" NAMESPACE="gstreamer" JOB="documentation" DOC_BASE="/srv/gstreamer.freedesktop.org/public_html/documentation" print(f"Running at {datetime.now()}") with tempfile.TemporaryDirectory() as tmpdir: os.chdir(tmpdir) gl = gitlab.Gitlab("https://gitlab.freedesktop.org/") project = gl.projects.get(1357) pipelines = project.pipelines.list() for pipeline in pipelines: if pipeline.ref != BRANCH: continue job, = [j for j in pipeline.jobs.list() if j.name == "documentation"] if job.status != "success": continue url = f"https://gitlab.freedesktop.org/gstreamer/gstreamer/-/jobs/{job.id}/artifacts/download" print("============================================================================================================================") print(f"Updating documentation from: {url}\n\n") check_call(f"wget {url} -O gstdocs.zip", shell=True) print("Unziping file.") check_output("unzip gstdocs.zip", shell=True) print("Running rsync.") call(f"rsync -rvaz --links --delete documentation/ {DOC_BASE}", shell=True) call(f"chmod -R g+w {DOC_BASE}; chgrp -R gstreamer {DOC_BASE}", shell=True) print(f"Done updating doc") break