本文整理汇总了Python中datalad.support.annexrepo.AnnexRepo._annex_custom_command方法的典型用法代码示例。如果您正苦于以下问题:Python AnnexRepo._annex_custom_command方法的具体用法?Python AnnexRepo._annex_custom_command怎么用?Python AnnexRepo._annex_custom_command使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类datalad.support.annexrepo.AnnexRepo
的用法示例。
在下文中一共展示了AnnexRepo._annex_custom_command方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: get_remote_urls
# 需要导入模块: from datalad.support.annexrepo import AnnexRepo [as 别名]
# 或者: from datalad.support.annexrepo.AnnexRepo import _annex_custom_command [as 别名]
from datalad import lgr
from tqdm import tqdm
def get_remote_urls(rec, remote):
for k, v in rec.items():
if v.get('description', '') in [remote, '[%s]' % remote]:
return v.get('urls', [])
return []
if __name__ == '__main__':
annex = AnnexRepo('.', create=False, init=False)
# enable datalad special remote
urls_to_register = defaultdict(list) # key: urls
try:
annex._annex_custom_command([], ["git", "annex", "enableremote", "datalad"])
# 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: