File tree Expand file tree Collapse file tree 1 file changed +6
-2
lines changed Expand file tree Collapse file tree 1 file changed +6
-2
lines changed Original file line number Diff line number Diff line change 55from itertools import islice
66
77from .. import get_corpus_dir , Article
8- from ..transformations import filename_to_doi , doi_to_path
8+ from ..transformations import filename_to_doi , doi_to_path , partial_to_doi
9+ from ..plos_regex import validate_doi , validate_partial_doi
910
1011
1112class Corpus :
@@ -36,13 +37,16 @@ def __iter__(self):
3637 return (article for article in self .random_article_generator )
3738
3839 def __getitem__ (self , key ):
39-
4040 if isinstance (key , int ):
4141 return Article (self .dois [key ], directory = self .directory )
4242 elif isinstance (key , slice ):
4343 return (Article (doi , directory = self .directory )
4444 for doi in self .dois [key ])
4545 elif key not in self .dois :
46+ if partial_to_doi (key ) in self .dois :
47+ return Article .from_partial_doi (key , directory = self .directory )
48+ elif validate_partial_doi (key ):
49+ key = partial_to_doi (key )
4650 path = doi_to_path (key , directory = self .directory )
4751 raise IndexError (("You attempted get {doi} from "
4852 "the corpus at \n {directory}. \n "
You can’t perform that action at this time.
0 commit comments