Skip to content

Commit 219ef85

Browse files
Update replaceLink.py
1 parent 0f0a966 commit 219ef85

File tree

1 file changed

+44
-62
lines changed

1 file changed

+44
-62
lines changed

Uses-Cases/Links/replace/replaceLink.py

Lines changed: 44 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -36,37 +36,26 @@ def _init_api(self, credentials_file: Path):
3636
except (FileNotFoundError, json.JSONDecodeError, ValueError) as e:
3737
logging.error(f"Failed to load credentials: {e}")
3838

39-
def _ensure_api_initialized(self):
40-
"""Check if the API is initialized before making API calls."""
41-
if not self.pdf_api:
42-
logging.error("PDF API is not initialized. Operation aborted.")
43-
return False
44-
return True
45-
4639
def upload_document(self):
4740
"""Upload a PDF document to the Aspose Cloud server."""
48-
if not self._ensure_api_initialized():
49-
return
50-
51-
file_path = Config.LOCAL_FOLDER / Config.PDF_DOCUMENT_NAME
52-
try:
53-
self.pdf_api.upload_file(Config.PDF_DOCUMENT_NAME, str(file_path))
54-
logging.info(f"File {Config.PDF_DOCUMENT_NAME} uploaded successfully.")
55-
except Exception as e:
56-
logging.error(f"Failed to upload file: {e}")
41+
if self.pdf_api:
42+
file_path = Config.LOCAL_FOLDER / Config.PDF_DOCUMENT_NAME
43+
try:
44+
self.pdf_api.upload_file(Config.PDF_DOCUMENT_NAME, str(file_path))
45+
logging.info(f"File {Config.PDF_DOCUMENT_NAME} uploaded successfully.")
46+
except Exception as e:
47+
logging.error(f"Failed to upload file: {e}")
5748

5849
def download_result(self):
5950
"""Download the processed PDF document from the Aspose Cloud server."""
60-
if not self._ensure_api_initialized():
61-
return
62-
63-
try:
64-
temp_file = self.pdf_api.download_file(Config.PDF_DOCUMENT_NAME)
65-
local_path = Config.LOCAL_FOLDER / Config.LOCAL_RESULT_DOCUMENT_NAME
66-
shutil.move(temp_file, str(local_path))
67-
logging.info(f"download_result(): File successfully downloaded: {local_path}")
68-
except Exception as e:
69-
logging.error(f"download_result(): Failed to download file: {e}")
51+
if self.pdf_api:
52+
try:
53+
temp_file = self.pdf_api.download_file(Config.PDF_DOCUMENT_NAME)
54+
local_path = Config.LOCAL_FOLDER / Config.LOCAL_RESULT_DOCUMENT_NAME
55+
shutil.move(temp_file, str(local_path))
56+
logging.info(f"download_result(): File successfully downloaded: {local_path}")
57+
except Exception as e:
58+
logging.error(f"download_result(): Failed to download file: {e}")
7059

7160
def show_links_array(self, links, prefix):
7261
"""Show all hyperlink annotations for a specific PDF document."""
@@ -75,52 +64,45 @@ def show_links_array(self, links, prefix):
7564

7665
def get_all_links(self):
7766
"""Get all hyperlink annotations for a specific PDF document."""
78-
if not self._ensure_api_initialized():
79-
return
80-
81-
try:
82-
response = self.pdf_api.get_page_link_annotations( Config.PDF_DOCUMENT_NAME, Config.PAGE_NUMBER)
83-
if response.code == 200:
84-
self.show_links_array(response.links.list, "All: ")
85-
else:
86-
logging.error(f"Failed to add link to the page. Response code: {response.code}")
87-
except Exception as e:
88-
logging.error(f"Error while adding link: No links found - {e}")
67+
if self.pdf_api:
68+
try:
69+
response = self.pdf_api.get_page_link_annotations( Config.PDF_DOCUMENT_NAME, Config.PAGE_NUMBER)
70+
if response.code == 200:
71+
self.show_links_array(response.links.list, "All: ")
72+
else:
73+
logging.error(f"Failed to add link to the page. Response code: {response.code}")
74+
except Exception as e:
75+
logging.error(f"Error while adding link: No links found - {e}")
8976

9077
def get_link_by_id(self) -> LinkAnnotationResponse:
91-
if not self.pdf_api:
92-
return None
78+
if self.pdf_api:
79+
result_link: LinkAnnotationResponse = self.pdf_api.get_link_annotation(Config.PDF_DOCUMENT_NAME, Config.LINK_FIND_ID)
9380

94-
result_link: LinkAnnotationResponse = self.pdf_api.get_link_annotation(Config.PDF_DOCUMENT_NAME, Config.LINK_FIND_ID)
81+
if result_link.code == 200:
82+
return result_link
9583

96-
if result_link.code == 200:
97-
return result_link
98-
99-
print("Link not found.")
100-
return None
84+
print("Link not found.")
85+
return None
10186

10287
def replace_link(self):
103-
if not self.pdf_api:
104-
return
88+
if self.pdf_api:
89+
link_annotation: LinkAnnotationResponse = self.get_link_by_id()
10590

106-
link_annotation: LinkAnnotationResponse = self.get_link_by_id()
91+
if not link_annotation:
92+
return
10793

108-
if not link_annotation:
109-
return
94+
link_annotation.link.action = Config.NEW_LINK_ACTION
11095

111-
link_annotation.link.action = Config.NEW_LINK_ACTION
112-
113-
response: LinkAnnotationsResponse = self.pdf_api.put_link_annotation(
114-
Config.PDF_DOCUMENT_NAME,
115-
Config.LINK_FIND_ID,
116-
link_annotation.link,
117-
)
118-
119-
if response.code == 200:
120-
print("Link annotation replaced successfully.")
121-
else:
122-
print("Failed to replace link annotation.")
96+
response: LinkAnnotationsResponse = self.pdf_api.put_link_annotation(
97+
Config.PDF_DOCUMENT_NAME,
98+
Config.LINK_FIND_ID,
99+
link_annotation.link,
100+
)
123101

102+
if response.code == 200:
103+
print("Link annotation replaced successfully.")
104+
else:
105+
print("Failed to replace link annotation.")
124106

125107
if __name__ == "__main__":
126108
pdf_links = PdfLinks()

0 commit comments

Comments
 (0)