X-Git-Url: https://git.armaanb.net/?a=blobdiff_plain;f=lightcards%2Fparse.py;h=3a1306bfae98840ba312fc58deff160d667ceeb8;hb=b9185b09edd2677f3a63cef4fd4be3e79671dc5c;hp=ea3468d66bfdca5f898431ce3a8d6743712b405f;hpb=08e393b41878e67e92e1031cfe69d909df453b60;p=lightcards.git diff --git a/lightcards/parse.py b/lightcards/parse.py index ea3468d..3a1306b 100644 --- a/lightcards/parse.py +++ b/lightcards/parse.py @@ -13,7 +13,9 @@ def md2html(file): try: return markdown.markdown(open(file, "r").read(), extensions=["tables"]) except FileNotFoundError: - sys.exit(f'lightcards: "{file}": No such file or directory') + raise Exception( + f'lightcards: "{file}": No such file or directory' + ) from None def parse_html(html): @@ -29,11 +31,11 @@ def parse_html(html): for x in soup.find_all("tr"): outp.append(Card(tuple([clean_text(y) for y in x.find_all("td")]))) except AttributeError: - sys.exit("lightcards: No table found") + raise Exception("lightcards: No table found") from None ths = soup.find_all("th") - if not len(ths) in [1, 2]: - sys.exit("lightcards: Headings malformed") + if len(ths) != 2: + raise Exception("lightcards: Headings malformed") # Return a tuple of nested lists return ([clean_text(x) for x in ths], outp[1:])