22from download_pdf .downloaded_obj import DownloadedObj
33import os
44import json
5- from .doi_to_metadata import metaDict_to_metaObj
5+ from .doi_to_metadata import metaDict_to_metaObj , doi_to_metadataObj
66
77
88def meta_to_dwnldd (metadataObj , output_dir ):
@@ -20,8 +20,9 @@ def meta_to_dwnldd(metadataObj, output_dir):
2020 file_path = pdf_download_pipeline (doi = metadataObj .doi ,output_directory = output_dir )
2121 file_name = os .path .basename (file_path )
2222 return DownloadedObj (title = metadataObj .title ,doi = metadataObj .doi ,arxiv = metadataObj .arxiv ,file_name = file_name ,file_path = file_path )
23- except :
23+ except Exception as e :
2424 print ("Error while creating the downloaded object" )
25+ print (str (e ))
2526 return None
2627
2728
@@ -98,7 +99,55 @@ def metaJson_to_downloadedJson(meta_json, output_dir):
9899 ensure_ascii = False )
99100 return output_path
100101
102+ def doi_to_downloadedObj (doi ,output_dir ):
103+ meta = doi_to_metadataObj (doi )
104+ return meta_to_dwnldd (meta ,output_dir )
105+
106+ def doi_to_downloadedDic (doi ,output_dir ):
107+ return downloaded_dictionary (doi_to_downloadedObj (doi , output_dir ))
108+
109+
110+ def dois_to_downloadedDics (dois_list , output_dir ):
111+ result = {}
112+ for doi in dois_list :
113+ result .update (doi_to_downloadedDic (doi ,output_dir ))
114+ return result
115+ def dois_txt_to_downloadedDics (dois_txt ,output_dir ):
116+ try :
117+ with open (dois_txt , 'r' ) as file :
118+ dois = file .read ().splitlines ()
119+ except :
120+ print ("Error while opening the txt" )
121+ return dois_to_downloadedDics (dois ,output_dir )
122+
123+ def doi_to_downloadedJson (doi ,output_dir ):
124+ dict = doi_to_downloadedDic (doi , output_dir )
125+ output_path = output_dir + "/" + "downloaded_metadata.json"
126+ with open (output_path , 'w+' ) as out_file :
127+ json .dump (dict , out_file , sort_keys = True , indent = 4 ,
128+ ensure_ascii = False )
129+ return output_path
130+ def dois_to_downloadedJson (dois ,output_dir ):
131+ dict = dois_to_downloadedDics (dois , output_dir )
132+ output_path = output_dir + "/" + "downloaded_metadata.json"
133+ with open (output_path , 'w+' ) as out_file :
134+ json .dump (dict , out_file , sort_keys = True , indent = 4 ,
135+ ensure_ascii = False )
136+ return output_path
137+ def dois_txt_to_downloadedJson (dois_txt ,output_dir ):
138+ dict = dois_txt_to_downloadedDics (dois_txt , output_dir )
139+ output_path = output_dir + "/" + "downloaded_metadata.json"
140+ with open (output_path , 'w+' ) as out_file :
141+ json .dump (dict , out_file , sort_keys = True , indent = 4 ,
142+ ensure_ascii = False )
143+ return output_path
101144
145+ def download_from_doi (doi ,output_dir ):
146+ return doi_to_downloadedJson (doi ,output_dir )
147+ def download_from_doi_list (dois ,output_dir ):
148+ return dois_to_downloadedJson (dois ,output_dir )
149+ def download_from_doi_txt (dois_txt ,output_dir ):
150+ return dois_to_downloadedJson (dois_txt , output_dir )
102151def safe_dic (dic , key ):
103152 try :
104153 return dic [key ]
0 commit comments