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
81import secrets
92import subprocess
103import sys
114import textwrap
125import time
6+ import json
7+ import os
8+ import pathlib
9+ from runpy import run_module
10+ from click_default_group import DefaultGroup
1311import yaml
12+ import click
13+ from playwright .sync_api import sync_playwright , Error , TimeoutError
14+
1415
1516from 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
102101def 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
14411432def _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 => {
0 commit comments