def test_import_url_timeout(self): """Test a timeout to valid URL is correctly errored""" from aiida.cmdline.params.types import PathOrUrl timeout_url = 'http://www.google.com:81' test_timeout_path = PathOrUrl(exists=True, readable=True, timeout_seconds=0) with self.assertRaises(BadParameter) as cmd_exc: test_timeout_path(timeout_url) error_message = f'Path "{timeout_url}" could not be reached within 0 s.' self.assertIn(error_message, str(cmd_exc.exception), str(cmd_exc.exception))
from aiida.cmdline.commands.cmd_verdi import verdi from aiida.cmdline.params import options from aiida.cmdline.params.types import GroupParamType, PathOrUrl from aiida.cmdline.utils import decorators from aiida.cmdline.commands.cmd_archive import import_archive, EXTRAS_MODE_EXISTING, EXTRAS_MODE_NEW, COMMENT_MODE @verdi.command('import', hidden=True) @decorators.deprecated_command( "This command has been deprecated. Please use 'verdi archive import' instead." ) @click.argument('archives', nargs=-1, type=PathOrUrl(exists=True, readable=True)) @click.option( '-w', '--webpages', type=click.STRING, cls=options.MultipleValueOption, help= 'Discover all URL targets pointing to files with the .aiida extension for these HTTP addresses. ' 'Automatically discovered archive URLs will be downloaded and added to ARCHIVES for importing' ) @options.GROUP( type=GroupParamType(create_if_not_exist=True), help= 'Specify group to which all the import nodes will be added. If such a group does not exist, it will be' ' created automatically.') @click.option(
EXTRAS_MODE_EXISTING = ['keep_existing', 'update_existing', 'mirror', 'none', 'ask'] EXTRAS_MODE_NEW = ['import', 'none'] COMMENT_MODE = ['newest', 'overwrite'] class ExtrasImportCode(Enum): """Exit codes for the verdi command line.""" keep_existing = 'kcl' update_existing = 'kcu' mirror = 'ncu' none = 'knl' ask = 'kca' @verdi.command('import') @click.argument('archives', nargs=-1, type=PathOrUrl(exists=True, readable=True)) @click.option( '-w', '--webpages', type=click.STRING, cls=options.MultipleValueOption, help='Discover all URL targets pointing to files with the .aiida extension for these HTTP addresses. ' 'Automatically discovered archive URLs will be downloaded and added to ARCHIVES for importing' ) @options.GROUP( type=GroupParamType(create_if_not_exist=True), help='Specify group to which all the import nodes will be added. If such a group does not exist, it will be' ' created automatically.' ) @click.option( '-e',