Skip to content

Commit 0571d50

Browse files
committed
fixup! Add a series of scripts for fetching and parsing OpenSSL.org manpages
1 parent b87b78d commit 0571d50

File tree

2 files changed

+16
-6
lines changed

2 files changed

+16
-6
lines changed

programming/python/openssl_manpage_scraper/openssl_manpage_libcall_scrape.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
BS4_PARSER = "html5lib"
1414

1515

16-
def parse_args(argv : Optional[str] = None) -> argparse.Namespace:
16+
def parse_args(argv: Optional[list[str]] = None) -> argparse.Namespace:
1717
parser = argparse.ArgumentParser()
1818
parser.add_argument("url")
1919

@@ -33,7 +33,7 @@ def extract_libcall_links_from_page(text: str) -> str:
3333
]
3434

3535

36-
def main(argv : Optional[str] = None) -> None:
36+
def main(argv: Optional[list[str]] = None) -> None:
3737
args = parse_args(argv)
3838
text = get_manpage_html_text(args.url)
3939
parsed_links = extract_libcall_links_from_page(text)

programming/python/openssl_manpage_scraper/parse_synopsis_from_openssl_html_manpage.py

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
BS4_PARSER = "html5lib"
2020

2121

22-
def parse_args(argv : Optional[str] = None) -> argparse.Namespace:
22+
def parse_args(argv: Optional[list[str]] = None) -> argparse.Namespace:
2323
parser = argparse.ArgumentParser()
2424
parser.add_argument("url")
2525
parser.add_argument("output", type=argparse.FileType("w"))
@@ -29,6 +29,7 @@ def parse_args(argv : Optional[str] = None) -> argparse.Namespace:
2929

3030
def fetch_manpage_html_text(url: str) -> str:
3131
import requests
32+
3233
resp = requests.get(url)
3334
resp.raise_for_status()
3435
return resp.text
@@ -48,7 +49,8 @@ def extract_synopsis_from_manpage_html(text: str) -> str:
4849

4950
BINDIR = os.path.dirname(__file__)
5051

51-
def main(argv : Optional[str] = None) -> None:
52+
53+
def main(argv: Optional[list[str]] = None) -> None:
5254
args = parse_args(argv)
5355

5456
logging.basicConfig()
@@ -58,15 +60,23 @@ def main(argv : Optional[str] = None) -> None:
5860
url_path = pathlib.Path(args.url)
5961
try:
6062
text = (
61-
url_path.read_text() if url_path.exists()
63+
url_path.read_text()
64+
if url_path.exists()
6265
else fetch_manpage_html_text(args.url)
6366
)
6467
synopsis = extract_synopsis_from_manpage_html(text)
6568
if not synopsis:
6669
raise AssertionError(f"{args.url} has no synopsis")
6770
with args.output as output_fp:
6871
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+
)
7080
except AssertionError as exc:
7181
print(exc)
7282
os.unlink(args.output.name)

0 commit comments

Comments
 (0)