From 112d6ce9132ea6749aef115e3787483958e858fd Mon Sep 17 00:00:00 2001 From: Tom Clegg Date: Mon, 27 Oct 2014 22:12:53 -0400 Subject: [PATCH] 3706: Consolidate more regular expressions into util package. --- sdk/python/arvados/collection.py | 6 +++--- sdk/python/arvados/util.py | 2 ++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/sdk/python/arvados/collection.py b/sdk/python/arvados/collection.py index 1b712ea171..874c38e79e 100644 --- a/sdk/python/arvados/collection.py +++ b/sdk/python/arvados/collection.py @@ -130,13 +130,13 @@ class CollectionReader(CollectionBase): self._api_client = api_client self._keep_client = keep_client self.num_retries = num_retries - if re.match(r'[a-f0-9]{32}(\+\d+)?(\+\S+)*$', manifest_locator_or_text): + if re.match(util.keep_locator_pattern, manifest_locator_or_text): self._manifest_locator = manifest_locator_or_text self._manifest_text = None - elif re.match(r'[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{15}$', manifest_locator_or_text): + elif re.match(util.collection_uuid_pattern, manifest_locator_or_text): self._manifest_locator = manifest_locator_or_text self._manifest_text = None - elif re.match(r'((\S+)( +[a-f0-9]{32}(\+\d+)(\+\S+)*)+( +\d+:\d+:\S+)+$)+', manifest_locator_or_text, re.MULTILINE): + elif re.match(util.manifest_pattern, manifest_locator_or_text): self._manifest_text = manifest_locator_or_text self._manifest_locator = None else: diff --git a/sdk/python/arvados/util.py b/sdk/python/arvados/util.py index 67436aee89..2532ee2cf1 100644 --- a/sdk/python/arvados/util.py +++ b/sdk/python/arvados/util.py @@ -10,12 +10,14 @@ from arvados.collection import * HEX_RE = re.compile(r'^[0-9a-fA-F]+$') keep_locator_pattern = re.compile(r'[0-9a-f]{32}\+\d+(\+\S+)*') +signed_locator_pattern = re.compile(r'[0-9a-f]{32}\+\d+(\+\S+)*\+A\S+(\+\S+)*') portable_data_hash_pattern = re.compile(r'[0-9a-f]{32}\+\d+') uuid_pattern = re.compile(r'[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{15}') collection_uuid_pattern = re.compile(r'[a-z0-9]{5}-4zz18-[a-z0-9]{15}') group_uuid_pattern = re.compile(r'[a-z0-9]{5}-j7d0g-[a-z0-9]{15}') user_uuid_pattern = re.compile(r'[a-z0-9]{5}-tpzed-[a-z0-9]{15}') link_uuid_pattern = re.compile(r'[a-z0-9]{5}-o0j2j-[a-z0-9]{15}') +manifest_pattern = re.compile(r'((\S+)( +[a-f0-9]{32}(\+\d+)(\+\S+)*)+( +\d+:\d+:\S+)+$)+', flags=re.MULTILINE) def clear_tmpdir(path=None): """ -- 2.30.2