File tree Expand file tree Collapse file tree 1 file changed +17
-1
lines changed Expand file tree Collapse file tree 1 file changed +17
-1
lines changed Original file line number Diff line number Diff line change 55
66from . import get_corpus_dir
77
8- from .plos_regex import validate_filename , validate_doi
8+ from .plos_regex import validate_filename , validate_doi , validate_partial_doi
99from .elements import Journal
1010
1111# URL bases for PLOS's Solr instances, that index PLOS articles
@@ -183,6 +183,22 @@ def doi_to_path(doi, directory=None):
183183 article_file = os .path .join (directory , doi .lstrip (PREFIX ) + SUFFIX_LOWER )
184184 return article_file
185185
186+ def partial_to_doi (partial_doi ):
187+ """Convert a partial DOI into a DOI."""
188+ if validate_partial_doi (partial_doi ) is False :
189+ raise Exception ("Invalid format for PLOS partial DOI: {}" .format (partial_doi ))
190+ if partial_doi .startswith ('annotation' ):
191+ doi = PREFIX + partial_doi
192+ else :
193+ doi = '' .join ([PREFIX , 'journal.' , partial_doi ])
194+ return doi
195+
196+ def doi_to_partial (doi ):
197+ """Convert a DOI into a partial DOI."""
198+ if validate_doi (doi ) is False :
199+ raise Exception ("Invalid format for PLOS DOI: {}" .format (doi ))
200+ return doi .lstrip ('10.1371/' ).replace ('journal.' , '' )
201+
186202
187203def convert_country (country ):
188204 """
You can’t perform that action at this time.
0 commit comments