From 333485264cde18d33f3603171c5314d6fb0d5af4 Mon Sep 17 00:00:00 2001 From: Andros Fenollosa Date: Sun, 28 Oct 2018 11:28:57 +0100 Subject: [PATCH] First commit --- README.md | 0 github-to-gitea.py | 40 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 README.md create mode 100644 github-to-gitea.py diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/github-to-gitea.py b/github-to-gitea.py new file mode 100644 index 0000000..0bed5ac --- /dev/null +++ b/github-to-gitea.py @@ -0,0 +1,40 @@ +import requests + +GITEA_DOMAIN = '' +GITEA_USERNAME = '' +GITEA_PASSWORD = '' +GITHUB_USERNAME = '' + +response_github = requests.get(f'https://api.github.com/users/{GITHUB_USERNAME}/repos?per_page=100') + +# List Github repos + +if response_github.status_code == 200: + for repo in response_github.json(): + if not repo['fork']: + repo_clone_url = repo['clone_url'] + repo_name = repo['name'] + + # Get user Gitea + response_user = requests.get(f'https://{GITEA_DOMAIN}/api/v1/users/{GITEA_USERNAME}') + + # Create mirror + if response_user.status_code == 200: + print('Creating mirror repository: ' + repo_name) + url_migrate = f'https://{GITEA_DOMAIN}/api/v1/repos/migrate' + response_migrate = requests.post( + url_migrate, + json={ + 'clone_addr': repo_clone_url, + 'mirror': True, + 'private': True, + 'repo_name': repo_name, + 'uid': response_user.json()['id'] + }, + auth=(GITEA_USERNAME, GITEA_PASSWORD) + ) + print('Mirror repository created!') + else: + print('Error user Gitea') +else: + print('Error list Github repos')