def try_download_specs(urls=None, force=False):
    '\n    Try to download the urls and cache them\n    '
    global _cached_specs
    if (urls is None):
        return {}
    for link in urls:
        with Stage(link, name='build_cache', keep=True) as stage:
            if (force and os.path.exists(stage.save_filename)):
                os.remove(stage.save_filename)
            if (not os.path.exists(stage.save_filename)):
                try:
                    stage.fetch()
                except fs.FetchError:
                    continue
            with open(stage.save_filename, 'r') as f:
                spec = Spec.from_yaml(f)
                spec._mark_concrete()
                _cached_specs.add(spec)
    return _cached_specs
Try to download the urls and cache them
def try_download_specs(urls=None, force=False):
    '\n    \n    '
    global _cached_specs
    if (urls is None):
        return {}
    for link in urls:
        with Stage(link, name='build_cache', keep=True) as stage:
            if (force and os.path.exists(stage.save_filename)):
                os.remove(stage.save_filename)
            if (not os.path.exists(stage.save_filename)):
                try:
                    stage.fetch()
                except fs.FetchError:
                    continue
            with open(stage.save_filename, 'r') as f:
                spec = Spec.from_yaml(f)
                spec._mark_concrete()
                _cached_specs.add(spec)
    return _cached_specs