diff options
| author | Bryan Newbold <bnewbold@robocracy.org> | 2020-06-26 15:18:02 -0700 | 
|---|---|---|
| committer | Bryan Newbold <bnewbold@robocracy.org> | 2020-06-26 15:19:09 -0700 | 
| commit | d6c88f9536a3f110da6a8dd65ddb48e58f4e6437 (patch) | |
| tree | 9f7a82bf56f51d3bc6b96b78db4c49903620e2d4 | |
| parent | 2175857844faddef4511f47126a93218066e7de3 (diff) | |
| download | fatcat-d6c88f9536a3f110da6a8dd65ddb48e58f4e6437.tar.gz fatcat-d6c88f9536a3f110da6a8dd65ddb48e58f4e6437.zip  | |
disallow a specific unicode character from DOIs
| -rw-r--r-- | python/fatcat_tools/normal.py | 6 | 
1 files changed, 6 insertions, 0 deletions
diff --git a/python/fatcat_tools/normal.py b/python/fatcat_tools/normal.py index 528a822e..f962ff3c 100644 --- a/python/fatcat_tools/normal.py +++ b/python/fatcat_tools/normal.py @@ -52,6 +52,11 @@ def clean_doi(raw):          return None      if not DOI_REGEX.fullmatch(raw):          return None +    # will likely want to expand DOI_REGEX to exclude non-ASCII characters, but +    # for now block specific characters so we can get PubMed importer running +    # again. +    if 'ä' in raw: +        return None      return raw  def test_clean_doi(): @@ -65,6 +70,7 @@ def test_clean_doi():      assert clean_doi("doi:10.1234/asdf ") == "10.1234/asdf"      assert clean_doi("doi:10.1234/ asdf ") == None      assert clean_doi("10.4149/gpb¬_2017042") == None  # "logical negation" character +    assert clean_doi("10.6002/ect.2020.häyry") == None  # this example via pubmed (pmid:32519616)  ARXIV_ID_REGEX = re.compile(r"^(\d{4}.\d{4,5}|[a-z\-]+(\.[A-Z]{2})?/\d{7})(v\d+)?$")  | 
