19
19
BS4_PARSER = "html5lib"
20
20
21
21
22
- def parse_args (argv : Optional [str ] = None ) -> argparse .Namespace :
22
+ def parse_args (argv : Optional [list [ str ] ] = None ) -> argparse .Namespace :
23
23
parser = argparse .ArgumentParser ()
24
24
parser .add_argument ("url" )
25
25
parser .add_argument ("output" , type = argparse .FileType ("w" ))
@@ -29,6 +29,7 @@ def parse_args(argv : Optional[str] = None) -> argparse.Namespace:
29
29
30
30
def fetch_manpage_html_text (url : str ) -> str :
31
31
import requests
32
+
32
33
resp = requests .get (url )
33
34
resp .raise_for_status ()
34
35
return resp .text
@@ -48,7 +49,8 @@ def extract_synopsis_from_manpage_html(text: str) -> str:
48
49
49
50
BINDIR = os .path .dirname (__file__ )
50
51
51
- def main (argv : Optional [str ] = None ) -> None :
52
+
53
+ def main (argv : Optional [list [str ]] = None ) -> None :
52
54
args = parse_args (argv )
53
55
54
56
logging .basicConfig ()
@@ -58,15 +60,23 @@ def main(argv : Optional[str] = None) -> None:
58
60
url_path = pathlib .Path (args .url )
59
61
try :
60
62
text = (
61
- url_path .read_text () if url_path .exists ()
63
+ url_path .read_text ()
64
+ if url_path .exists ()
62
65
else fetch_manpage_html_text (args .url )
63
66
)
64
67
synopsis = extract_synopsis_from_manpage_html (text )
65
68
if not synopsis :
66
69
raise AssertionError (f"{ args .url } has no synopsis" )
67
70
with args .output as output_fp :
68
71
output_fp .write (synopsis )
69
- subprocess .check_call (["clang-format" , "-i" , f"--style=file:{ BINDIR } /.clang_format" , output_fp .name ])
72
+ subprocess .check_call (
73
+ [
74
+ "clang-format" ,
75
+ "-i" ,
76
+ f"--style=file:{ BINDIR } /.clang_format" ,
77
+ output_fp .name ,
78
+ ]
79
+ )
70
80
except AssertionError as exc :
71
81
print (exc )
72
82
os .unlink (args .output .name )
0 commit comments