Skip to content

Commit 84481a9

Browse files
authored
Code climate: fix all mypy issues (#30)
1 parent 660ef53 commit 84481a9

File tree

1 file changed

+21
-20
lines changed

1 file changed

+21
-20
lines changed

html2print/html2print.py

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
# mypy: disable-error-code="no-untyped-call,no-untyped-def"
21
import argparse
32
import atexit
43
import base64
@@ -39,8 +38,8 @@
3938

4039

4140
class ChromeDriverManager:
42-
def get_chrome_driver(self, path_to_cache_dir: str):
43-
chrome_version = self.get_chrome_version()
41+
def get_chrome_driver(self, path_to_cache_dir: str) -> str:
42+
chrome_version: Optional[str] = self.get_chrome_version()
4443

4544
# If Web Driver Manager cannot detect Chrome, it returns None.
4645
if chrome_version is None:
@@ -104,11 +103,11 @@ def get_chrome_driver(self, path_to_cache_dir: str):
104103

105104
@staticmethod
106105
def _download_chromedriver(
107-
chrome_major_version,
106+
chrome_major_version: str,
108107
os_type: str,
109-
path_to_driver_cache_dir,
110-
path_to_cached_chrome_driver,
111-
):
108+
path_to_driver_cache_dir: str,
109+
path_to_cached_chrome_driver: str,
110+
) -> str:
112111
url = "https://googlechromelabs.github.io/chrome-for-testing/known-good-versions-with-downloads.json"
113112
response = ChromeDriverManager.send_http_get_request(url).json()
114113

@@ -160,14 +159,14 @@ def _download_chromedriver(
160159
return path_to_cached_chrome_driver
161160

162161
@staticmethod
163-
def send_http_get_request(url, params=None, **kwargs) -> Response:
162+
def send_http_get_request(url: str) -> Response:
164163
last_error: Optional[Exception] = None
165164
for attempt in range(1, 4):
166165
print( # noqa: T201
167166
f"html2print: sending GET request attempt {attempt}: {url}"
168167
)
169168
try:
170-
return requests.get(url, params, timeout=(5, 5), **kwargs)
169+
return requests.get(url, timeout=(5, 5))
171170
except requests.exceptions.ConnectTimeout as connect_timeout_:
172171
last_error = connect_timeout_
173172
except requests.exceptions.ReadTimeout as read_timeout_:
@@ -182,7 +181,7 @@ def send_http_get_request(url, params=None, **kwargs) -> Response:
182181
)
183182

184183
@staticmethod
185-
def get_chrome_version():
184+
def get_chrome_version() -> Optional[str]:
186185
# Special case: GitHub Actions macOS CI machines have both
187186
# Google Chrome for Testing and normal Google Chrome installed, and
188187
# sometimes their versions are of different major version families.
@@ -224,16 +223,16 @@ def get_chrome_version():
224223
f"html2print: Error getting Google Chrome for Testing version: {e}"
225224
)
226225

227-
os_manager = OperationSystemManager(os_type=None)
228-
version = os_manager.get_browser_version_from_os(ChromeType.GOOGLE)
226+
os_manager = OperationSystemManager(os_type=None) # type: ignore[no-untyped-call]
227+
version: str = os_manager.get_browser_version_from_os(ChromeType.GOOGLE) # type: ignore[no-untyped-call]
229228
return version
230229

231230

232231
def get_inches_from_millimeters(mm: float) -> float:
233232
return mm / 25.4
234233

235234

236-
def get_pdf_from_html(driver, url) -> bytes:
235+
def get_pdf_from_html(driver: webdriver.Chrome, url: str) -> bytes:
237236
print(f"html2print: opening URL with ChromeDriver: {url}") # noqa: T201
238237

239238
driver.get(url)
@@ -272,7 +271,7 @@ class Done(Exception):
272271
logs: List[Dict[str, str]] = []
273272
try:
274273
while True:
275-
logs = driver.get_log("browser")
274+
logs = driver.get_log("browser") # type: ignore[no-untyped-call]
276275
for entry_ in logs:
277276
if "HTML2PDF4DOC time" in entry_["message"]:
278277
print("success: HTML2PDF completed its job.") # noqa: T201
@@ -305,18 +304,20 @@ class Done(Exception):
305304

306305

307306
def create_webdriver(
308-
chromedriver: Optional[str],
307+
chromedriver_argument: Optional[str],
309308
path_to_cache_dir: str,
310309
page_load_timeout: int,
311310
debug: bool = False,
312311
) -> webdriver.Chrome:
313312
print("html2print: creating ChromeDriver service.", flush=True) # noqa: T201
314-
if chromedriver is None:
313+
314+
path_to_chrome: str
315+
if chromedriver_argument is None:
315316
path_to_chrome = ChromeDriverManager().get_chrome_driver(
316317
path_to_cache_dir
317318
)
318319
else:
319-
path_to_chrome = chromedriver
320+
path_to_chrome = chromedriver_argument
320321
print(f"html2print: ChromeDriver available at path: {path_to_chrome}") # noqa: T201
321322

322323
if debug:
@@ -364,7 +365,7 @@ def create_webdriver(
364365
return driver
365366

366367

367-
def main():
368+
def main() -> None:
368369
if not os.path.isfile(PATH_TO_HTML2PDF_JS):
369370
raise RuntimeError(
370371
f"Corrupted html2print package bundle. "
@@ -461,15 +462,15 @@ def main():
461462
path_to_cache_dir = (
462463
args.cache_dir if args.cache_dir is not None else DEFAULT_CACHE_DIR
463464
)
464-
driver = create_webdriver(
465+
driver: webdriver.Chrome = create_webdriver(
465466
args.chromedriver,
466467
path_to_cache_dir,
467468
page_load_timeout,
468469
debug=args.debug,
469470
)
470471

471472
@atexit.register
472-
def exit_handler():
473+
def exit_handler() -> None:
473474
print("html2print: exit handler: quitting the ChromeDriver.") # noqa: T201
474475
driver.quit()
475476

0 commit comments

Comments
 (0)