#!/usr/bin/env python3 # Copyright © 2020 - 2022 Collabora Ltd. # Authors: # Tomeu Vizoso # David Heidelberg # # SPDX-License-Identifier: MIT '''Shared functions between the scripts.''' import os import time from typing import Optional def get_gitlab_project(glab, name: str): """Finds a specified gitlab project for given user""" glab.auth() username = glab.user.username return glab.projects.get(f"{username}/mesa") def read_token(token_arg: Optional[str]) -> str: """pick token from args or file""" if token_arg: return token_arg return ( open(os.path.expanduser("~/.config/gitlab-token"), encoding="utf-8") .readline() .rstrip() ) def wait_for_pipeline(project, sha: str): """await until pipeline appears in Gitlab""" print("⏲ for the pipeline to appear..", end="") while True: pipelines = project.pipelines.list(sha=sha) if pipelines: print("", flush=True) return pipelines[0] print("", end=".", flush=True) time.sleep(1)