From 670635562388a4a00fa9f45f28b37301c76d976f Mon Sep 17 00:00:00 2001 From: JJ Date: Thu, 20 Mar 2025 14:11:14 +0000 Subject: readme --- src/tube_stat/__init__.py | 0 src/tube_stat/cli.py | 77 ----------------------------------------------- 2 files changed, 77 deletions(-) delete mode 100644 src/tube_stat/__init__.py delete mode 100644 src/tube_stat/cli.py (limited to 'src/tube_stat') diff --git a/src/tube_stat/__init__.py b/src/tube_stat/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/src/tube_stat/cli.py b/src/tube_stat/cli.py deleted file mode 100644 index c408804..0000000 --- a/src/tube_stat/cli.py +++ /dev/null @@ -1,77 +0,0 @@ -import click -import json -import requests - -with open("./config.json", "r") as e: - config = json.load(e) - -TUBE_LINES = ( - "bakerloo", "victoria", "central", "circle", "district", "hammersmith-city", - "jubilee", "metropolitan", "northern", "piccadilly", "waterloo-city", "dlr", - "overground", "tram" -) -APP = config["APP"] -KEY = config["KEY"] - -def get_line_color(line: str) -> tuple[int, int, int]: - match line: - case "bakerloo": - return (179, 99, 5) - case "victoria": - return (0, 152, 212) - case "central": - return (227, 32, 23) - case "circle": - return (255, 211, 0) - case "district": - return (0, 120, 42) - case "hammersmith-city": - return (243, 169, 187) - case "jubilee": - return (160, 165, 169) - case "metropolitan": - return (155, 0, 86) - case "northern": - return (0, 0, 0) - case "piccadilly": - return (0, 54, 136) - case "waterloo-city": - return (149, 205, 186) - case "dlr": - return (0, 164, 167) - case "overground": - return (238, 124, 14) - case "tram": - return (132, 184, 23) - case _: - return (128, 128, 128) - -@click.command() -@click.option("--line", default=None, help="comma separated tube lines, e.g bakerloo,central") -def cli(line): - if line: - requested_lines = line.split(",") - invalid_lines = [l for l in requested_lines if l not in TUBE_LINES] - if invalid_lines: - raise click.ClickException(f'Invalid tube lines: {', '.join(invalid_lines)}') - else: - requested_lines = ','.join(TUBE_LINES) - req_url = f'https://api.tfl.gov.uk/Line/{requested_lines}/Status?app_id={APP}&app_key={KEY}' - res = requests.get(req_url) - res_json = json.loads(res.text) - print_str = "" - for i, r in enumerate(res_json): - if len(res_json) - 1 != i: - line_break = "\n" - else: - line_break = "" - line_colour = get_line_color(r["id"]) - print_str += f'{click.style(r["name"], bg=line_colour)}: {r["lineStatuses"][0]["statusSeverityDescription"]}{line_break}' - click.echo(print_str) - -if __name__ == "__main__": - try: - cli() - except click.ClickException as e: - click.echo(str(e), err=True) - raise click.exceptions.Exit(1) -- cgit v1.2.3