コード例 #1
0
def resolve_remote_path_args(args: argparse.Namespace, attrs: list, incl_trash: bool = True):
    """In-place replaces certain attributes in Namespace by resolved node ID.
    :param attrs: list of attributes that may be given in absolute path form
    :param incl_trash: whether to resolve trashed files
    """
    for id_attr in attrs:
        if hasattr(args, id_attr):
            val = getattr(args, id_attr)
            if not val:
                continue
            if '/' in val:
                v = cache.resolve_path(val, trash=incl_trash)
                if not v:
                    logger.critical('Could not resolve path "%s".' % val)
                    sys.exit(INVALID_ARG_RETVAL)
                logger.info('Resolved "%s" to "%s"' % (val, v))
                setattr(args, id_attr, v)
                setattr(args, id_attr + '_path', val)
            elif not is_valid_id(val):
                logger.critical('Invalid ID format: "%s".' % val)
                sys.exit(INVALID_ARG_RETVAL)
コード例 #2
0
ファイル: acd_cli.py プロジェクト: bsnipes/acd_cli
def resolve_remote_path_args(args: argparse.Namespace, attrs: list, incl_trash: bool = True):
    """In-place replaces certain attributes in Namespace by resolved node ID.
    :param attrs: list of attributes that may be given in absolute path form
    :param incl_trash: whether to resolve trashed files
    """
    for id_attr in attrs:
        if hasattr(args, id_attr):
            val = getattr(args, id_attr)
            if not val:
                continue
            if '/' in val:
                v = cache.resolve_path(val, trash=incl_trash)
                if not v:
                    logger.critical('Could not resolve path "%s".' % val)
                    sys.exit(INVALID_ARG_RETVAL)
                logger.info('Resolved "%s" to "%s"' % (val, v))
                setattr(args, id_attr, v)
                setattr(args, id_attr + '_path', val)
            elif not is_valid_id(val):
                logger.critical('Invalid ID format: "%s".' % val)
                sys.exit(INVALID_ARG_RETVAL)
コード例 #3
0
ファイル: test_api.py プロジェクト: Timdawson264/acd_cli
 def testInvalidID1(self):
     self.assertFalse(common.is_valid_id('äbcdéfghíjklmnöpqrstüv'))
コード例 #4
0
ファイル: test_api.py プロジェクト: Timdawson264/acd_cli
 def testInvalidID2(self):
     self.assertFalse(common.is_valid_id('abcdefghijklmnopqrstu'))
コード例 #5
0
ファイル: test_api.py プロジェクト: Timdawson264/acd_cli
 def testValidIDs(self):
     for _ in range(1000):
         self.assertTrue(common.is_valid_id(gen_rand_id()))
コード例 #6
0
ファイル: test_api.py プロジェクト: Timdawson264/acd_cli
 def testInvalidID0(self):
     self.assertFalse(common.is_valid_id(''))
コード例 #7
0
ファイル: test_api.py プロジェクト: Timdawson264/acd_cli
 def testValidID1(self):
     self.assertTrue(common.is_valid_id('0123456789012345678901'))
コード例 #8
0
ファイル: test_api.py プロジェクト: Timdawson264/acd_cli
 def testValidID3(self):
     self.assertTrue(common.is_valid_id('a0b1c2d3e4f--6h7i8j9k0'))
コード例 #9
0
ファイル: test_api.py プロジェクト: Timdawson264/acd_cli
 def testValidID1(self):
     self.assertTrue(common.is_valid_id('0123456789012345678901'))
コード例 #10
0
ファイル: test_api.py プロジェクト: Timdawson264/acd_cli
 def testValidID0(self):
     self.assertTrue(common.is_valid_id('abcdefghijklmnopqrstuv'))
コード例 #11
0
ファイル: test_api_live.py プロジェクト: Timdawson264/acd_cli
 def test_get_root_id(self):
     id = metadata.get_root_id()
     self.assertTrue(common.is_valid_id(id))
コード例 #12
0
ファイル: test_api_live.py プロジェクト: StSimmons/acd_cli
 def test_get_root_id(self):
     id = metadata.get_root_id()
     self.assertTrue(common.is_valid_id(id))
コード例 #13
0
ファイル: test_api.py プロジェクト: Timdawson264/acd_cli
 def testInvalidID2(self):
     self.assertFalse(common.is_valid_id('abcdefghijklmnopqrstu'))
コード例 #14
0
ファイル: test_api.py プロジェクト: Timdawson264/acd_cli
 def testInvalidID1(self):
     self.assertFalse(common.is_valid_id('äbcdéfghíjklmnöpqrstüv'))
コード例 #15
0
ファイル: test_api.py プロジェクト: Timdawson264/acd_cli
 def testInvalidID0(self):
     self.assertFalse(common.is_valid_id(''))
コード例 #16
0
ファイル: test_api.py プロジェクト: Timdawson264/acd_cli
 def testValidIDs(self):
     for _ in range(1000):
         self.assertTrue(common.is_valid_id(gen_rand_id()))
コード例 #17
0
ファイル: test_api.py プロジェクト: Timdawson264/acd_cli
 def testValidID3(self):
     self.assertTrue(common.is_valid_id('a0b1c2d3e4f--6h7i8j9k0'))
コード例 #18
0
 def test_get_root_id(self):
     id = self.acd_client.get_root_id()
     self.assertTrue(common.is_valid_id(id))
コード例 #19
0
ファイル: test_api.py プロジェクト: Timdawson264/acd_cli
 def testValidID0(self):
     self.assertTrue(common.is_valid_id('abcdefghijklmnopqrstuv'))