This repository has been archived on 2022-06-22. You can view files and clone it, but cannot push or open issues or pull requests.
github-gitea-mirror/repositorySource.py

45 lines
1.5 KiB
Python
Raw Normal View History

2020-10-12 12:43:37 +00:00
#!/usr/bin/env python
# https://github.com/PyGithub/PyGithub
2020-10-13 02:18:18 +00:00
from helper import getConfig,giteaCreateUserOrOrg,giteaSetRepoTopics,giteaSession,giteaCreateRepo,ghApi,giteaCreateOrg,giteaGetUser,config
2020-10-12 12:43:37 +00:00
def repositorySource():
config = getConfig()
repo_map = config['repomap']
session = giteaSession()
gh = ghApi()
for repo in gh.get_user().get_repos():
if not repo.fork:
real_repo = repo.full_name.split('/')[1]
gitea_dest_user = repo.owner.login
repo_owner=repo.owner.login
print('Source Repository : {0}'.format(repo.full_name))
if real_repo in repo_map:
gitea_dest_user = repo_map[real_repo]
gitea_uid = giteaGetUser(gitea_dest_user)
if gitea_uid == 'failed':
2020-10-13 02:14:50 +00:00
gitea_uid = giteaCreateUserOrOrg(gitea_dest_user,repo.owner.type)
2020-10-12 12:43:37 +00:00
repo_name = "{0}".format(real_repo)
m = {
"repo_name" : repo_name,
"description" : (repo.description or "not really known")[:255],
"clone_addr" : repo.clone_url,
"mirror" : True,
"private" : repo.private,
"uid" : gitea_uid,
}
2020-10-13 01:20:55 +00:00
status = giteaCreateRepo(m,repo.private)
if status != 'failed':
2020-10-12 12:43:37 +00:00
topics = repo.get_topics()
giteaSetRepoTopics(repo_owner,repo_name,topics)
2020-10-13 01:20:55 +00:00
else:
print(repo)
print(" ")