@@ -512,20 +512,16 @@ def process_pdf(
512512 end = - 1
513513 ):
514514 try :
515- pdf_handle = open (pdf_file , "rb" )
516- except IOError as e :
517- self .logger .error (f"Failed to open PDF file { pdf_file } : { str (e )} " )
518- return (pdf_file , 500 , f"Failed to open file: { str (e )} " )
519-
520- try :
521- files = {
522- "input" : (
523- pdf_file ,
524- pdf_handle ,
525- "application/pdf" ,
526- {"Expires" : "0" },
527- )
528- }
515+ with open (pdf_file , "rb" ) as fi :
516+
517+ files = {
518+ "input" : (
519+ pdf_file ,
520+ fi ,
521+ "application/pdf" ,
522+ {"Expires" : "0" },
523+ )
524+ }
529525
530526 the_url = self .get_server_url (service )
531527
@@ -576,16 +572,17 @@ def process_pdf(
576572 )
577573
578574 return (pdf_file , status , res .text )
579-
575+
576+ except IOError as e :
577+ self .logger .error (f"Failed to open PDF file { pdf_file } : { str (e )} " )
578+ return (pdf_file , 400 , f"Failed to open file: { str (e )} " )
580579 except requests .exceptions .ReadTimeout as e :
581580 self .logger .error (f"Request timeout for { pdf_file } : { str (e )} " )
582581 return (pdf_file , 408 , f"Request timeout: { str (e )} " )
583582 except requests .exceptions .RequestException as e :
584583 return self ._handle_request_error (pdf_file , e )
585584 except Exception as e :
586585 return self ._handle_unexpected_error (pdf_file , e )
587- if pdf_handle is not None :
588- pdf_handle .close ()
589586
590587 def get_server_url (self , service ):
591588 return self .config ['grobid_server' ] + "/api/" + service
0 commit comments