mirror of
https://github.com/kaaninchen/Gleiswechsel.git
synced 2026-09-17 16:52:47 +00:00
transitous rewrite: channel formatting
This commit is contained in:
@@ -1,8 +1,7 @@
|
||||
import json
|
||||
import requests
|
||||
import random
|
||||
|
||||
from src.utils import logger, config
|
||||
from src.utils import logger, config, get_train_name
|
||||
|
||||
stations = config["stations"]
|
||||
blacklist = config["blacklist"]
|
||||
@@ -92,9 +91,12 @@ def get_trip_details(trip_id: str) -> dict:
|
||||
trip_to = legs["tripTo"]["name"]
|
||||
start_time = legs["startTime"]
|
||||
end_time = legs["endTime"]
|
||||
mode = legs["mode"]
|
||||
train_name = get_train_name(display_name, mode)
|
||||
|
||||
|
||||
trip_details = {
|
||||
"long_name": f"{display_name} nach {trip_to} von {trip_from}",
|
||||
"long_name": f"{train_name} nach {trip_to} von {trip_from}",
|
||||
"short_name": display_name,
|
||||
"from": trip_from,
|
||||
"to": trip_to,
|
||||
@@ -103,7 +105,7 @@ def get_trip_details(trip_id: str) -> dict:
|
||||
"duration": legs["duration"],
|
||||
"start_time": start_time,
|
||||
"end_time": end_time,
|
||||
"mode": legs["mode"],
|
||||
"mode": mode,
|
||||
"stops": {}
|
||||
}
|
||||
|
||||
|
||||
+5
-16
@@ -1,18 +1,7 @@
|
||||
emoji_list = {
|
||||
"Fallback": "🚉",
|
||||
"Nahverkehr": "🚃",
|
||||
"Höchstgeschwindigkeit": "🚄",
|
||||
"Bus": "🚎"
|
||||
}
|
||||
|
||||
train_types = { # Unvollständig!
|
||||
"ICE": emoji_list["Höchstgeschwindigkeit"],
|
||||
"TGV": emoji_list["Höchstgeschwindigkeit"],
|
||||
|
||||
"RE": emoji_list["Nahverkehr"],
|
||||
"RB": emoji_list["Nahverkehr"],
|
||||
"ARV": emoji_list["Nahverkehr"],
|
||||
"BRB": emoji_list["Nahverkehr"],
|
||||
|
||||
"Bus": emoji_list["Bus"]
|
||||
"Fallback": "💺",
|
||||
"BUS": "🚎",
|
||||
"Tram": "🚈",
|
||||
"REGIONAL_RAIL": "🚊",
|
||||
"HIGHSPEED_RAIL": "🚅"
|
||||
}
|
||||
+11
-6
@@ -1,8 +1,9 @@
|
||||
import discord
|
||||
import asyncio
|
||||
from datetime import datetime
|
||||
|
||||
from src.api import transitous
|
||||
from src.utils import logger
|
||||
from src.utils import logger, channel_formatting
|
||||
|
||||
_scheduled_task: asyncio.Task | None = None
|
||||
|
||||
@@ -14,13 +15,17 @@ async def rename_vc(bot: discord.Bot, voice_channel, from_scheduler: bool = Fals
|
||||
trip_id = transitous.get_random_connection(station_id)
|
||||
trip = transitous.get_trip_details(trip_id)
|
||||
|
||||
train_name = trip["long_name"]
|
||||
|
||||
arrival = datetime.fromisoformat(trip["end_time"])
|
||||
long_name = trip["long_name"]
|
||||
|
||||
print("-----------------")
|
||||
logger(f"Umstieg: {train_name}")
|
||||
logger(f"Umstieg: {long_name}, Ankunft: {arrival}")
|
||||
logger(f"Betreiber: {trip["agency"]}, Typ: {trip["mode"]}")
|
||||
logger(f"Sprachkanal wird geändert, wenn nichts passiert bin ich im cooldown (warte einen moment!)")
|
||||
logger(f"Versuche Namen zu ändern, wenn nichts passiert bin ich im cooldown... (warte bis zu 10min!)")
|
||||
|
||||
formatting = channel_formatting(trip["mode"])
|
||||
await voice_channel.edit(name=f"{formatting}{long_name}")
|
||||
await voice_channel.set_status(f"Ankunft um {arrival.strftime('%H:%M')}")
|
||||
|
||||
await voice_channel.edit(name=train_name)
|
||||
logger(f"Name geändert!")
|
||||
|
||||
|
||||
+21
-1
@@ -2,6 +2,8 @@ import json
|
||||
import os
|
||||
from datetime import datetime
|
||||
|
||||
from src.data.emojis import emoji_list
|
||||
|
||||
with open("config.json", "r") as file:
|
||||
config = json.load(file)
|
||||
|
||||
@@ -10,4 +12,22 @@ def logger(msg, log_type="info") -> str:
|
||||
current_time = datetime.now().strftime('%X')
|
||||
print(f"{current_time}: {status}: {msg}")
|
||||
if status == "FATAL":
|
||||
os._exit(1)
|
||||
os._exit(1)
|
||||
|
||||
def channel_formatting(mode: str) -> str:
|
||||
formatting = config.get("formatting", "")
|
||||
|
||||
if config.get("emojis", True):
|
||||
emoji = emoji_list.get(mode)
|
||||
if emoji is None:
|
||||
emoji = emoji_list.get("Fallback")
|
||||
|
||||
return f"{emoji}{formatting}"
|
||||
|
||||
def get_train_name(train_name: str, mode: str) -> str:
|
||||
if train_name.isdigit():
|
||||
train = f"{mode.capitalize()} {train_name}"
|
||||
else:
|
||||
train = train_name
|
||||
|
||||
return train
|
||||
Reference in New Issue
Block a user