1616
1717import requests
1818
19+ from shutil import copyfileobj
20+
1921
2022FORMAT_CSV = 'csv'
2123FORMAT_XLSX_MULTIPLE = 'xlsx-multiple'
@@ -81,15 +83,25 @@ def convert(self, pdf_path, out_path, out_format=None, query_params=None, **requ
8183 """
8284 (out_path , out_format ) = Client .ensure_format_ext (out_path , out_format )
8385 with open (pdf_path , 'rb' ) as pdf_fo :
84- data = self .dump (pdf_fo , out_format , query_params , ** requests_params )
86+ response = self .request (pdf_fo , out_format , query_params ,
87+ ** requests_params )
8588 with open (out_path , 'wb' ) as out_fo :
86- for chunk in data :
87- if chunk :
88- out_fo .write (chunk )
89+ copyfileobj (response .raw , out_fo )
90+
91+ def dump (self , pdf_fo , out_format = None , query_params = None ,
92+ ** requests_params ):
93+ """
94+ Convert PDF file object given by `pdf_fo` into an output stream iterator.
95+ """
96+ response = self .request (pdf_fo , out_format , query_params ,
97+ ** requests_params )
8998
90- def dump (self , pdf_fo , out_format = None , query_params = None , ** requests_params ):
99+ return response .iter_content (chunk_size = 4096 )
100+
101+ def request (self , pdf_fo , out_format = None , query_params = None ,
102+ ** requests_params ):
91103 """
92- Convert PDF given by `pdf_path` into an output stream iterator .
104+ Convert PDF given by `pdf_path`, returning requests.Response object .
93105 """
94106 if self .api_key == "" :
95107 raise APIException ("Invalid API key" )
@@ -119,7 +131,7 @@ def dump(self, pdf_fo, out_format=None, query_params=None, **requests_params):
119131 raise APIException ("Unknown format requested" )
120132 response .raise_for_status ()
121133
122- return response . iter_content ( chunk_size = 4096 )
134+ return response
123135
124136 def remaining (self , query_params = None , ** requests_params ):
125137 """
@@ -140,7 +152,6 @@ def remaining(self, query_params=None, **requests_params):
140152
141153 return int (response .content )
142154
143-
144155 @staticmethod
145156 def ensure_format_ext (out_path , out_format ):
146157 """
0 commit comments