diff --git a/last_bus_times.py b/last_bus_times.py index d159110..d18db01 100644 --- a/last_bus_times.py +++ b/last_bus_times.py @@ -9,10 +9,6 @@ import numpy as np from plotly_calplot import calplot import plotly - -date_format = "%Y-%m-%d" -yesterday = datetime.today() - timedelta(days=1) -yesterday = yesterday.strftime(date_format) delay_csv = "delays.csv" delay_html = "output/delays.html" delay_png = "output/delays.png" @@ -29,15 +25,17 @@ def get_delay(date_string: str) -> int: int: The delay in minutes. """ + vehicles = requests.get( f"https://bustimes.org/services/632-wigan-bus-station-bus-station/vehicles?date={date_string}").text + last_joruney = re.findall( r'\#journeys\/(\d+)">([\d\:]+)<\/a>\s+<\/td>\s+Chorley Town Centre', vehicles, )[-1] if last_joruney[1] != "23:20" and last_joruney[1] != "22:45": - print(f"No last bus at 23:20 or 22:45, last bus was at {last_joruney[1]}") + #print(f"No last bus at 23:20 or 22:45, last bus was at {last_joruney[1]}") return 60 else: journey_info = requests.get( @@ -51,6 +49,9 @@ def get_delay(date_string: str) -> int: def output_csv(): + yesterday = datetime.today() - timedelta(days=1) + yesterday = yesterday.strftime("%Y-%m-%d") + # Check if the file exists try: with open(delay_csv, "r") as file: @@ -58,11 +59,14 @@ def output_csv(): for row in reader: if row[0] == yesterday: break + # If the entry for yesterday already exists, do nothing + else: # Add a new entry for yesterday with open(delay_csv, "a", newline="") as file: writer = csv.writer(file) writer.writerow([yesterday, get_delay(yesterday)]) + except FileNotFoundError: # Create a new file and add the entry for yesterday with open(delay_csv, "w", newline="") as file: @@ -70,6 +74,7 @@ def output_csv(): writer.writerow(["Date", "Minutes Late"]) writer.writerow([yesterday, get_delay(yesterday)]) + def make_plot(): df = pd.read_csv(delay_csv) df["Date"] = pd.to_datetime(df["Date"])