add option gitea to createMirror

This commit is contained in:
Alnus Tmp 2022-11-20 14:08:04 -05:00
parent 49f78b8be2
commit c6c007cc95
1 changed files with 17 additions and 6 deletions

View File

@ -27,6 +27,7 @@ __provider_git = {
'next_page_url' : '%s/%s/projects?per_page=100&page=%s',
'repo_name' : 'name',
'repo_url' : 'web_url', },
'gitea' : {},
}
@ -115,7 +116,8 @@ class Gitea():
except Not_Connect:
print("Fail")
def createMirror(team, clone_addr, repo_name, uid, private, url, headers = None):
def createMirror(team, clone_addr, repo_name, uid, private,
url, auth_token = None, headers = None):
migrate_data = {}
migrate_data["mirror"] = True
migrate_data["UID"] = uid
@ -123,6 +125,7 @@ class Gitea():
migrate_data["clone_addr"] = clone_addr
migrate_data["private"] = private
migrate_data["repo_owner"] = team
migrate_data["auth_token"] = auth_token
try:
r = requests.post(url=url, data=json.dumps(migrate_data), headers=headers)
@ -161,15 +164,22 @@ def list_repo_token(domain, team_org,
type=click.Choice([*__provider_git],
case_sensitive=False),
required=True)
@click.option('--domain_source_gitea', required=False)
@click.option('--team_org_source', required=True)
@click.option('--team_org_dest', required=True)
@click.option('--access_token', default=None)
@click.option('--access_token_source', default=None)
@click.option('--private', default=True)
@click.option('--verbose', default=False)
def mirror_repo(domain, provider_git, team_org_source,
team_org_dest, access_token, private, verbose):
repos = listRepos(provider_git, team_org_source, verbose)
HOST = "https://%s/api/v1" % (domain)
def mirror_repo(domain, domain_source_gitea, provider_git, team_org_source,
access_token_source, team_org_dest, access_token, private, verbose):
HOST = "http://%s/api/v1" % (domain_source_gitea)
HEADERS["Authorization"] = "token %s" % (access_token_source)
if provider_git == "gitea":
repos = Gitea.listRepo(HOST, team_org_source, HEADERS, verbose)
else:
repos = listRepos(provider_git, team_org_source, verbose)
HOST = "http://%s/api/v1" % (domain)
MIGRATE_URI = "/repos/migrate"
ENDPOINT_MIGRATE = "%s%s" % (HOST, MIGRATE_URI)
HEADERS["Authorization"] = "token %s" % (access_token)
@ -177,7 +187,8 @@ def mirror_repo(domain, provider_git, team_org_source,
for repo in repos:
count += 1
print(Gitea.createMirror(team_org_dest, repos[repo],
repo, 1, private, ENDPOINT_MIGRATE, headers = HEADERS))
repo, 1, private, ENDPOINT_MIGRATE,
access_token_source, headers = HEADERS))
@click.command()
@click.option('--domain', required=True)