diff --git a/src/main.py b/src/main.py index b4db9c0..e44aaf8 100644 --- a/src/main.py +++ b/src/main.py @@ -1,12 +1,13 @@ from asyncio import wait, create_task import logging -from services.discord import start_discord_sevice -from services.twitch.twitch import start_twitch_service -from services.scheduler_sync import start_synchronizer +from modules.games_list import start as start_games_list_module +from modules.scheduler_sync import start as start_scheduler_sync_module +from modules.stream_notifications import start as start_stream_notifications_module from core.mongo import mongo_manager + logging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__) @@ -19,9 +20,9 @@ async def main(): await mongo_manager.init() await wait([ - create_task(start_discord_sevice()), - create_task(start_twitch_service()), - create_task(start_synchronizer()) + create_task(start_games_list_module()), + create_task(start_scheduler_sync_module()), + create_task(start_stream_notifications_module()) ], return_when="FIRST_COMPLETED") diff --git a/src/modules/games_list/__init__.py b/src/modules/games_list/__init__.py new file mode 100644 index 0000000..0789d5a --- /dev/null +++ b/src/modules/games_list/__init__.py @@ -0,0 +1,7 @@ +from .discord import start_discord_sevice + + +start = start_discord_sevice + + +__all__ = ["start"] diff --git a/src/services/discord.py b/src/modules/games_list/discord.py similarity index 98% rename from src/services/discord.py rename to src/modules/games_list/discord.py index 7963057..145283b 100644 --- a/src/services/discord.py +++ b/src/modules/games_list/discord.py @@ -5,7 +5,7 @@ from discord.abc import Messageable from discord import Object from discord import app_commands -from services.games_list import GameList, GameItem +from modules.games_list.games_list import GameList, GameItem from core.config import config diff --git a/src/services/games_list.py b/src/modules/games_list/games_list.py similarity index 100% rename from src/services/games_list.py rename to src/modules/games_list/games_list.py diff --git a/src/modules/scheduler_sync/__init__.py b/src/modules/scheduler_sync/__init__.py new file mode 100644 index 0000000..620aedc --- /dev/null +++ b/src/modules/scheduler_sync/__init__.py @@ -0,0 +1,7 @@ +from .synchronizer import start_synchronizer + + +start = start_synchronizer + + +__all__ = ["start"] diff --git a/src/services/scheduler_sync/comparators.py b/src/modules/scheduler_sync/comparators.py similarity index 96% rename from src/services/scheduler_sync/comparators.py rename to src/modules/scheduler_sync/comparators.py index 77a80b3..5e98991 100644 --- a/src/services/scheduler_sync/comparators.py +++ b/src/modules/scheduler_sync/comparators.py @@ -1,7 +1,7 @@ from datetime import datetime import logging -from services.scheduler_sync.discord_events import DiscordEvent, CreateDiscordEvent, RecurrenceRule +from .discord_events import DiscordEvent, CreateDiscordEvent, RecurrenceRule logger = logging.getLogger(__name__) diff --git a/src/services/scheduler_sync/discord_events.py b/src/modules/scheduler_sync/discord_events.py similarity index 98% rename from src/services/scheduler_sync/discord_events.py rename to src/modules/scheduler_sync/discord_events.py index 87e8c8c..4b9ac9c 100644 --- a/src/services/scheduler_sync/discord_events.py +++ b/src/modules/scheduler_sync/discord_events.py @@ -7,7 +7,7 @@ from pydantic import BaseModel, field_serializer, SerializationInfo from core.config import config -from services.scheduler_sync.twitch_events import TwitchEvent +from .twitch_events import TwitchEvent logger = logging.getLogger(__name__) diff --git a/src/services/scheduler_sync/synchronizer.py b/src/modules/scheduler_sync/synchronizer.py similarity index 95% rename from src/services/scheduler_sync/synchronizer.py rename to src/modules/scheduler_sync/synchronizer.py index 099282f..e1909c3 100644 --- a/src/services/scheduler_sync/synchronizer.py +++ b/src/modules/scheduler_sync/synchronizer.py @@ -2,16 +2,16 @@ from asyncio import sleep import logging from datetime import datetime -from services.scheduler_sync.twitch_events import get_twitch_events, TwitchEvent -from services.scheduler_sync.discord_events import ( +from core.config import config, TwitchConfig + +from .twitch_events import get_twitch_events, TwitchEvent +from .discord_events import ( get_discord_events, DiscordEvent, delete_discord_event, create_discord_event, CreateDiscordEvent, edit_discord_event, UpdateDiscordEvent ) -from services.scheduler_sync.comparators import compare - -from core.config import config, TwitchConfig +from .comparators import compare logger = logging.getLogger(__name__) diff --git a/src/services/scheduler_sync/twitch_events.py b/src/modules/scheduler_sync/twitch_events.py similarity index 100% rename from src/services/scheduler_sync/twitch_events.py rename to src/modules/scheduler_sync/twitch_events.py diff --git a/src/modules/stream_notifications/__init__.py b/src/modules/stream_notifications/__init__.py new file mode 100644 index 0000000..ee583fb --- /dev/null +++ b/src/modules/stream_notifications/__init__.py @@ -0,0 +1,7 @@ +from .twitch.twitch import start_twitch_service + + +start = start_twitch_service + + +__all__ = ["start"] diff --git a/src/services/notification.py b/src/modules/stream_notifications/notification.py similarity index 98% rename from src/services/notification.py rename to src/modules/stream_notifications/notification.py index cca4e8a..afb5507 100644 --- a/src/services/notification.py +++ b/src/modules/stream_notifications/notification.py @@ -4,7 +4,8 @@ from typing import Literal from httpx import AsyncClient from core.config import config, StreamerConfig -from services.twitch_state import State + +from .twitch.state import State logger = logging.getLogger(__name__) diff --git a/src/services/twitch_state.py b/src/modules/stream_notifications/twitch/state.py similarity index 100% rename from src/services/twitch_state.py rename to src/modules/stream_notifications/twitch/state.py diff --git a/src/services/twitch/token_storage.py b/src/modules/stream_notifications/twitch/token_storage.py similarity index 100% rename from src/services/twitch/token_storage.py rename to src/modules/stream_notifications/twitch/token_storage.py diff --git a/src/services/twitch/twitch.py b/src/modules/stream_notifications/twitch/twitch.py similarity index 97% rename from src/services/twitch/twitch.py rename to src/modules/stream_notifications/twitch/twitch.py index 94635d2..0961474 100644 --- a/src/services/twitch/twitch.py +++ b/src/modules/stream_notifications/twitch/twitch.py @@ -9,9 +9,10 @@ from twitchAPI.type import AuthScope from twitchAPI.object.eventsub import StreamOnlineEvent, ChannelUpdateEvent from core.config import config, StreamerConfig -from services.notification import notify -from services.twitch_state import State -from services.twitch.token_storage import TokenStorage +from modules.stream_notifications.notification import notify + +from .state import State +from .token_storage import TokenStorage logger = logging.getLogger(__name__) diff --git a/src/services/scheduler_sync/__init__.py b/src/services/scheduler_sync/__init__.py deleted file mode 100644 index 2c66b8b..0000000 --- a/src/services/scheduler_sync/__init__.py +++ /dev/null @@ -1,4 +0,0 @@ -from services.scheduler_sync.synchronizer import start_synchronizer - - -__all__ = ["start_synchronizer"]