Skip to content

Commit 8e3fcf2

Browse files
authored
tidied imports, added f-strings (#164)
1 parent 9d9e945 commit 8e3fcf2

File tree

5 files changed

+31
-41
lines changed

5 files changed

+31
-41
lines changed

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
from setuptools import setup
21
import os
2+
from setuptools import setup
33

44
VERSION = "1.5"
55

shot_scraper/cli.py

Lines changed: 24 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
1-
import click
2-
from click_default_group import DefaultGroup
3-
import json
4-
import os
5-
import pathlib
6-
from playwright.sync_api import sync_playwright, Error, TimeoutError
7-
from runpy import run_module
81
import secrets
92
import subprocess
103
import sys
114
import textwrap
125
import time
6+
import json
7+
import os
8+
import pathlib
9+
from runpy import run_module
10+
from click_default_group import DefaultGroup
1311
import yaml
12+
import click
13+
from playwright.sync_api import sync_playwright, Error, TimeoutError
14+
1415

1516
from shot_scraper.utils import filename_for_url, url_or_file_path
1617

@@ -88,15 +89,13 @@ def skip_or_fail(response, skip, fail):
8889
if str(response.status)[0] in ("4", "5"):
8990
if skip:
9091
click.echo(
91-
"{} error for {}, skipping".format(response.status, response.url),
92+
f"{response.status} error for {response.url}, skipping",
9293
err=True,
9394
)
9495
# Exit with a 0 status code
9596
raise SystemExit
9697
elif fail:
97-
raise click.ClickException(
98-
"{} error for {}".format(response.status, response.url)
99-
)
98+
raise click.ClickException(f"{response.status} error for {response.url}")
10099

101100

102101
def scale_factor_options(fn):
@@ -1035,7 +1034,7 @@ def pdf(
10351034
if output == "-":
10361035
sys.stdout.buffer.write(pdf)
10371036
elif not silent:
1038-
click.echo("PDF of '{}' written to '{}'".format(url, output), err=True)
1037+
click.echo(f"PDF of '{url}' written to '{output}'", err=True)
10391038

10401039
browser_obj.close()
10411040

@@ -1135,7 +1134,7 @@ def html(
11351134
open(output, "w").write(html)
11361135
if not silent:
11371136
click.echo(
1138-
"HTML snapshot of '{}' written to '{}'".format(url, output),
1137+
f"HTML snapshot of '{url}' written to '{output}'",
11391138
err=True,
11401139
)
11411140

@@ -1320,14 +1319,10 @@ def on_response(response):
13201319
# Check if page was a 404 or 500 or other error
13211320
if str(response.status)[0] in ("4", "5"):
13221321
if skip:
1323-
click.echo(
1324-
"{} error for {}, skipping".format(response.status, url), err=True
1325-
)
1322+
click.echo(f"{response.status} error for {url}, skipping", err=True)
13261323
return
13271324
elif fail:
1328-
raise click.ClickException(
1329-
"{} error for {}".format(response.status, url)
1330-
)
1325+
raise click.ClickException(f"{response.status} error for {url}")
13311326

13321327
if wait:
13331328
time.sleep(wait / 1000)
@@ -1376,9 +1371,7 @@ def on_response(response):
13761371
bytes_ = page.locator(selector_to_shoot).screenshot(**screenshot_args)
13771372
except TimeoutError as e:
13781373
raise click.ClickException(
1379-
"Timed out while waiting for element to become available.\n\n{}".format(
1380-
e
1381-
)
1374+
f"Timed out while waiting for element to become available.\n\n{e}"
13821375
)
13831376
if return_bytes:
13841377
return bytes_
@@ -1396,7 +1389,7 @@ def on_response(response):
13961389
return page.screenshot(**screenshot_args)
13971390
else:
13981391
page.screenshot(**screenshot_args)
1399-
message = "Screenshot of '{}' written to '{}'".format(url, output)
1392+
message = f"Screenshot of '{url}' written to '{output}'"
14001393

14011394
if not silent:
14021395
click.echo(message, err=True)
@@ -1407,22 +1400,20 @@ def _js_selector_javascript(js_selectors, js_selectors_all):
14071400
extra_selectors_all = []
14081401
js_blocks = []
14091402
for js_selector in js_selectors:
1410-
klass = "js-selector-{}".format(secrets.token_hex(16))
1411-
extra_selectors.append(".{}".format(klass))
1403+
klass = f"js-selector-{secrets.token_hex(16)}"
1404+
extra_selectors.append(f".{klass}")
14121405
js_blocks.append(
14131406
textwrap.dedent(
1414-
"""
1407+
f"""
14151408
Array.from(
14161409
document.getElementsByTagName('*')
1417-
).find(el => {}).classList.add("{}");
1418-
""".format(
1419-
js_selector, klass
1420-
)
1410+
).find(el => {js_selector}).classList.add("{klass}");
1411+
"""
14211412
)
14221413
)
14231414
for js_selector_all in js_selectors_all:
1424-
klass = "js-selector-all-{}".format(secrets.token_hex(16))
1425-
extra_selectors_all.append(".{}".format(klass))
1415+
klass = f"js-selector-all-{secrets.token_hex(16)}"
1416+
extra_selectors_all.append(f".{klass}")
14261417
js_blocks.append(
14271418
textwrap.dedent(
14281419
"""
@@ -1439,7 +1430,7 @@ def _js_selector_javascript(js_selectors, js_selectors_all):
14391430

14401431

14411432
def _selector_javascript(selectors, selectors_all, padding=0):
1442-
selector_to_shoot = "shot-scraper-{}".format(secrets.token_hex(8))
1433+
selector_to_shoot = f"shot-scraper-{secrets.token_hex(8)}"
14431434
selector_javascript = textwrap.dedent(
14441435
"""
14451436
new Promise(takeShot => {

shot_scraper/utils.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,15 @@ def filename_for_url(url, ext=None, file_exists=file_exists_never):
1818
suffix = 0
1919
while file_exists(filename):
2020
suffix += 1
21-
filename = "{}.{}.{}".format(base_filename, suffix, ext)
21+
filename = f"{base_filename}.{suffix}.{ext}"
2222
return filename
2323

2424

2525
def url_or_file_path(url, file_exists=file_exists_never):
2626
# If url exists as a file, convert that to file:/
2727
file_path = file_exists(url)
2828
if file_path:
29-
return "file:{}".format(file_path)
29+
return f"file:{file_path}"
3030
if not (url.startswith("http://") or url.startswith("https://")):
31-
return "http://{}".format(url)
31+
return f"http://{url}"
3232
return url

tests/test_shot_scraper.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
from click.testing import CliRunner
21
import pathlib
3-
import pytest
42
import textwrap
3+
from click.testing import CliRunner
4+
import pytest
55
from shot_scraper.cli import cli
66
import zipfile
77
import json

tests/test_utils.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
from shot_scraper.utils import filename_for_url
21
import pytest
3-
2+
from shot_scraper.utils import filename_for_url
43

54
@pytest.mark.parametrize(
65
"url,ext,expected",

0 commit comments

Comments
 (0)