本文整理汇总了Python中datalad.support.annexrepo.AnnexRepo.gc方法的典型用法代码示例。如果您正苦于以下问题:Python AnnexRepo.gc方法的具体用法?Python AnnexRepo.gc怎么用?Python AnnexRepo.gc使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类datalad.support.annexrepo.AnnexRepo
的用法示例。
在下文中一共展示了AnnexRepo.gc方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: len
# 需要导入模块: from datalad.support.annexrepo import AnnexRepo [as 别名]
# 或者: from datalad.support.annexrepo.AnnexRepo import gc [as 别名]
# go through each and see where urls aren't yet under web
# seems might have also --in=datalad to restrict
w = annex.whereis([], options=['--all'], output='full')
lgr.info("Got %d entries", len(w))
for k, rec in tqdm(w.items()):
datalad_urls = get_remote_urls(rec, 'datalad')
web_urls = set(get_remote_urls(rec, 'web'))
for url in datalad_urls:
if url not in web_urls:
if 'openneuro.s3' in url or 'openfmri.s3' in url:
urls_to_register[k].append(url)
else:
lgr.warning("Found unexpected url %s" % url)
finally:
# disable datalad special remote
annex.remove_remote("datalad") # need to disable it first
lgr.info(
"Got %d entries which could get new urls",
len(urls_to_register)
)
for k, urls in tqdm(urls_to_register.items()):
for url in urls:
annex._annex_custom_command(
[],
["git", "annex", "registerurl", '-c', 'annex.alwayscommit=false', k, url]
)
# to cause annex to commit all the changes
annex._annex_custom_command([], ["git", "annex", "merge"])
annex.gc(allow_background=False)