1212logger = logging .getLogger ("uvicorn.error" )
1313
1414
15- async def single_page (headers , url , file_name : str , session ):
16-
17- with open (file_name , "rb" ) as file :
18- async with session .put (url , data = file , headers = headers ) as response :
19- headers = response .headers
20- text = await response .read ()
21- return (text , headers )
15+ async def single_page (headers , url , file_name : str , safe_dir : str , session ):
16+ if file_name . startswith ( safe_dir ):
17+ with open (file_name , "rb" ) as file :
18+ async with session .put (url , data = file , headers = headers ) as response :
19+ headers = response .headers
20+ text = await response .read ()
21+ return (text , headers )
2222
2323
2424async def page_requests (headers , url , file ):
@@ -35,7 +35,8 @@ async def page_requests(headers, url, file):
3535 pdf_writer = PdfWriter ()
3636 pdf_writer .add_page (pdf .pages [page ])
3737
38- out_file_name = os .path .abspath (os .path .join (temp_dir , f"page-{ page :05d} .pdf" ))
38+ out_file_name = os .path .abspath (
39+ os .path .join (temp_dir , f"page-{ page :05d} .pdf" ))
3940
4041 if out_file_name .startswith (temp_dir ):
4142 with open (out_file_name , 'wb' ) as out :
@@ -55,7 +56,7 @@ async def page_requests(headers, url, file):
5556 logger .info (f"Process page: { page } of { pages } " )
5657
5758 tasks .append (single_page (
58- headers , url , pdf_pages [page ], session ))
59+ headers , url , pdf_pages [page ], temp_dir , session ))
5960
6061 if len (tasks ) < CHUNK :
6162 continue
@@ -67,4 +68,4 @@ async def page_requests(headers, url, file):
6768 await data .async_collect (tasks )
6869 tasks .clear ()
6970
70- return data .get_request ()
71+ return data .get_request ()
0 commit comments