From 853271259a82ce71992e1d051fcae1d94f3bc48c Mon Sep 17 00:00:00 2001 From: Kaaninchen <124433727+kaaninchen@users.noreply.github.com> Date: Fri, 17 Jul 2026 13:12:23 +0200 Subject: [PATCH] Code cleanup --- main.py | 2 +- src/data/operators.py | 7 ++++++- src/embeds.py | 34 +++++++++++++++------------------- src/{state.py => handlers.py} | 15 +++++---------- src/utils.py | 11 +++++++++-- 5 files changed, 36 insertions(+), 33 deletions(-) rename src/{state.py => handlers.py} (65%) diff --git a/main.py b/main.py index 82e157b..aa7e68d 100644 --- a/main.py +++ b/main.py @@ -2,7 +2,7 @@ import discord import random from discord.ext import tasks from config import config -from src.state import rename_vc +from handlers import rename_vc from src.commands import setup_commands from src.embeds import build_error_embed from src.data.status import discord_status diff --git a/src/data/operators.py b/src/data/operators.py index 507c6e7..afccff5 100644 --- a/src/data/operators.py +++ b/src/data/operators.py @@ -26,5 +26,10 @@ OPERATORS = { "logo": db_logo, "color": 0xEC0016, "slogan": db_slogans - } + }, + "NBE": { + "name": "Nordbahn", + "logo": "https://upload.wikimedia.org/wikipedia/commons/b/b5/Logo_Nordbahn_NAH.SH_Blau_positiv_final.png", + "color": 0x1A2848 + } } \ No newline at end of file diff --git a/src/embeds.py b/src/embeds.py index 353f709..b4fdb20 100644 --- a/src/embeds.py +++ b/src/embeds.py @@ -1,7 +1,7 @@ import random import discord from datetime import datetime -import src.state as state +import handlers as handlers from src.utils import operator_infos, format_via_list def format_timestamp(timestr): @@ -15,32 +15,28 @@ def format_timestamp(timestr): return discord.utils.format_dt(final_datetime, style="t") def build_info_embed() -> discord.Embed | None: - if state.name is None: + if handlers.current is None: return None - operator = operator_infos(state.train) - - if len(state.via) == 0: - embed = discord.Embed( - title=state.name, - description=f"Abfahrt von {state.station} um {format_timestamp(state.departure)}", - color=operator["color"] - ) - else: - embed = discord.Embed( - title=state.name, - description=f"Abfahrt **{format_timestamp(state.departure)}** von **{state.station}**", - color=operator["color"] - ) - embed.add_field(name="Über", value=format_via_list(state.via), inline=False) + conn = handlers.current + operator = operator_infos(conn["train"]) + name = f"{conn['train']} nach {conn['destination']}" + embed = discord.Embed( + title=name, + description=f"Abfahrt von {conn['station']} um {format_timestamp(conn['departure'])}", + color=operator["color"] + ) + + if len(conn['via']) > 0: + embed.add_field(name="Über", value=format_via_list(conn['via']), inline=False) embed.set_author(name=operator["name"]) embed.set_thumbnail(url=operator["logo"]) route_lines = [] - for stop in state.route: + for stop in conn['route']: stop_name = stop["name"] - if stop_name == state.station: + if stop_name == conn['station']: route_lines.append(f"• **{stop_name}**") else: route_lines.append(f"• {stop_name}") diff --git a/src/state.py b/src/handlers.py similarity index 65% rename from src/state.py rename to src/handlers.py index 14cbd34..63f3c55 100644 --- a/src/state.py +++ b/src/handlers.py @@ -2,15 +2,10 @@ import discord from config import config from src.utils import random_connection -name = None -train = None -route = None -departure = None -via = None -station = None +current = None async def rename_vc(bot: discord.Bot) -> bool: - global name, train, route, departure, via, station + global current, name guild = bot.get_guild(int(config["server"])) if guild is None: @@ -22,10 +17,10 @@ async def rename_vc(bot: discord.Bot) -> bool: print(f"Unable to find voice-Channel {config['vc']} on the server") return False - train, destination, route, departure, via, station = random_connection() - name = f"{train} nach {destination}" + current = random_connection() + name = f"{current['train']} nach {current['destination']}" - print(f"Info: {name} from {station}\n via: {via}") + print(f"Info: {name} from {current['station']} \n via: {current['via']}") await channel.edit(name=f"{config['formatting']}{name}") return True \ No newline at end of file diff --git a/src/utils.py b/src/utils.py index 57f9fe0..170db15 100644 --- a/src/utils.py +++ b/src/utils.py @@ -24,12 +24,19 @@ def random_connection(): continue dep = random.choice(departures) - return [dep['train'], dep['destination'], dep['route'], dep['scheduledDeparture'], dep['via'], station] + return { + "train": dep['train'], + "destination": dep['destination'], + "route": dep['route'], + "departure": dep['scheduledDeparture'], + "via": dep['via'], + "station": station + } def operator_infos(train): if not train: - return OPERATORS["Fallback"] + return OPERATORS["fallback"] train_type = train.split()[0]