#!/usr/bin/env python3

# Usage: ./github-sync.py
#
# Mirror repositories to Github (Fuck M$, get it straight)

from os import chdir, environ, listdir

from abralib import (
    CLONES_PATH,
    REPOS_TO_SKIP,
    _run_cmd,
    clone_all_apps,
    get_repos_json,
    log,
)


def main():
    """Run the script."""
    repos_json = get_repos_json()
    clone_all_apps(repos_json)

    for app in listdir(CLONES_PATH):
        if app in REPOS_TO_SKIP:
            log.info(f"Skipping {app}")
            continue

        app_path = f"{CLONES_PATH}/{app}"
        chdir(app_path)

        log.info(f"Mirroring {app}...")

        token = environ.get("GITHUB_ACCESS_TOKEN")
        remote = f"https://coopcloudbot:{token}@github.com/Co-op-Cloud/{app}.git"

        _run_cmd(
            f"git remote add github {remote} || true",
            shell=True,
        )

        _run_cmd("git push github --all")


main()