我需要一种更快的方法来使用 PyGitHub 查找存储库
I need a faster way to find repos with PyGitHub
我的组织在 GitHub 中有大量的回购协议。我有这些存储库的一个子集,我想以编程方式检测它们。我想要的所有回购协议都以相同的字符串开头。
下面的代码正确地找到了它们,但由于存在所有回购协议,因此需要大约一分钟的时间。有更快的方法吗?
def FindMyRepos():
global ACCESS_TOKEN, ORGANIZATION, PREFIX
repos = []
# Log into GitHub
gh = Github(ACCESS_TOKEN)
if not gh: return 1
# Connect to organization
org = gh.get_organization(ORGANIZATION)
if not org: return 2
# Look for repos that start with PREFIX
for r in org.get_repos():
if r.name.startswith(PREFIX):
repos.append(r.name)
经过大量搜索,我找到了答案。我需要使用 search_repositories 方法。一个 'gotcha' 是此方法是 Github 对象的一部分,而不是组织对象的一部分。
def FindMyRepos():
global ACCESS_TOKEN, ORGANIZATION, PREFIX
repos = []
# Log into GitHub
gh = Github(ACCESS_TOKEN)
if not gh: return 1
# Look for repos in ORGANIZATION containing PREFIX
for r in gh.search_repositorires(query=ORGANIZATION+'/'+PREFIX):
# Only include repos starting with PREFIX
if r.name.startswith(PREFIX):
repos.append(r.name)
if r.name.startswith(PREFIX) 的原因是由于某种原因,搜索将return ORGANIZATION 中任何名称中包含字符串 PREFIX 的所有回购。
我的组织在 GitHub 中有大量的回购协议。我有这些存储库的一个子集,我想以编程方式检测它们。我想要的所有回购协议都以相同的字符串开头。 下面的代码正确地找到了它们,但由于存在所有回购协议,因此需要大约一分钟的时间。有更快的方法吗?
def FindMyRepos():
global ACCESS_TOKEN, ORGANIZATION, PREFIX
repos = []
# Log into GitHub
gh = Github(ACCESS_TOKEN)
if not gh: return 1
# Connect to organization
org = gh.get_organization(ORGANIZATION)
if not org: return 2
# Look for repos that start with PREFIX
for r in org.get_repos():
if r.name.startswith(PREFIX):
repos.append(r.name)
经过大量搜索,我找到了答案。我需要使用 search_repositories 方法。一个 'gotcha' 是此方法是 Github 对象的一部分,而不是组织对象的一部分。
def FindMyRepos():
global ACCESS_TOKEN, ORGANIZATION, PREFIX
repos = []
# Log into GitHub
gh = Github(ACCESS_TOKEN)
if not gh: return 1
# Look for repos in ORGANIZATION containing PREFIX
for r in gh.search_repositorires(query=ORGANIZATION+'/'+PREFIX):
# Only include repos starting with PREFIX
if r.name.startswith(PREFIX):
repos.append(r.name)
if r.name.startswith(PREFIX) 的原因是由于某种原因,搜索将return ORGANIZATION 中任何名称中包含字符串 PREFIX 的所有回购。