X-Git-Url: https://git.armaanb.net/?p=lightcards.git;a=blobdiff_plain;f=lightcards%2Fparse.py;fp=lightcards%2Fparse.py;h=082b7dce1dedf0fca6879bf91818915f39fb086f;hp=5d9b4024fd15f7d8491a6271fd163464279f5bc2;hb=2a2de7425580e9080c0076b509821759c8a96861;hpb=8bbca6fa61b644ca183166666934ecaf7f55f4d0 diff --git a/lightcards/parse.py b/lightcards/parse.py index 5d9b402..082b7dc 100644 --- a/lightcards/parse.py +++ b/lightcards/parse.py @@ -1,7 +1,6 @@ # Parse markdown table into tuple of lists # Armaan Bhojwani 2021 -import sys from bs4 import BeautifulSoup import markdown @@ -24,7 +23,7 @@ def md2html(file): return outp -def parse_html(html, args): +def parse_html(html, args, conf): """Use BeautifulSoup to parse the HTML""" def clean_text(inp): @@ -33,12 +32,19 @@ def parse_html(html, args): soup = BeautifulSoup(html, "html.parser") outp, ths = [], [] - for i, table in enumerate(soup.find_all("table")): + if args.table: + table_num = args.table + elif conf["table"]: + table_num = conf["table"] + else: + table_num = False + + for i, table in enumerate(soup.find_all("table"), start=1): ths = table.find_all("th") if len(ths) != 2: - if not args.lenient: + if conf["lenient"] or not args.lenient: raise Exception("lightcards: Headings malformed") - elif args.table == i: + elif (table_num and i == table_num) or not table_num: try: for x in table.find_all("tr"): y = x.find_all("td")