diff --git a/src/discord/queue.py b/src/discord/queue.py index 9777287..dfa56f1 100644 --- a/src/discord/queue.py +++ b/src/discord/queue.py @@ -17,12 +17,12 @@ import re import sys import time import logging -from typing import Optional +from typing import Optional, Union, Tuple import requests from src.configloader import settings -from src.discord.message import DiscordMessage, DiscordMessageMetadata +from src.discord.message import DiscordMessage, DiscordMessageMetadata, DiscordMessageRaw AUTO_SUPPRESSION_ENABLED = settings.get("auto_suppression", {"enabled": False}).get("enabled") if AUTO_SUPPRESSION_ENABLED: @@ -35,7 +35,7 @@ logger = logging.getLogger("rcgcdw.discord.queue") class MessageQueue: """Message queue class for undelivered messages""" def __init__(self): - self._queue = [] + self._queue: list[Tuple[Union[DiscordMessage, DiscordMessageRaw], DiscordMessageMetadata]] = [] def __repr__(self): return self._queue @@ -49,10 +49,10 @@ class MessageQueue: def clear(self): self._queue.clear() - def add_message(self, message): + def add_message(self, message: Tuple[Union[DiscordMessage, DiscordMessageRaw], DiscordMessageMetadata]): self._queue.append(message) - def cut_messages(self, item_num): + def cut_messages(self, item_num: int): self._queue = self._queue[item_num:] @staticmethod diff --git a/src/i18n.py b/src/i18n.py index b2a6e7c..812bcab 100644 --- a/src/i18n.py +++ b/src/i18n.py @@ -14,9 +14,15 @@ # along with RcGcDw. If not, see . import gettext, sys, logging +from typing import Union, Optional from src.configloader import settings logger = logging.getLogger("rcgcdw.i18n") - +rcgcdw: Optional[Union[gettext.GNUTranslations, gettext.NullTranslations]] = None +discussion_formatters: Optional[Union[gettext.GNUTranslations, gettext.NullTranslations]] = None +rc: Optional[Union[gettext.GNUTranslations, gettext.NullTranslations]] = None +formatters_i18n: Optional[Union[gettext.GNUTranslations, gettext.NullTranslations]] = None +misc: Optional[Union[gettext.GNUTranslations, gettext.NullTranslations]] = None +redaction: Optional[Union[gettext.GNUTranslations, gettext.NullTranslations]] = None # Setup translation @@ -27,16 +33,22 @@ def python37_pgettext_backward_compatibility(context: str, string: str): return string return translation -try: - if settings["lang"] != "en": - rcgcdw = gettext.translation('rcgcdw', localedir='locale', languages=[settings["lang"]]) - rc = gettext.translation('rc', localedir='locale', languages=[settings["lang"]]) - formatters_i18n = gettext.translation('formatters', localedir='locale', languages=[settings["lang"]]) - misc = gettext.translation('misc', localedir='locale', languages=[settings["lang"]]) - redaction = gettext.translation('redaction', localedir='locale', languages=[settings["lang"]]) - else: - rcgcdw, discussion_formatters, rc, formatters_i18n, misc, redaction = gettext.NullTranslations(), gettext.NullTranslations(), gettext.NullTranslations(), gettext.NullTranslations(), gettext.NullTranslations(), gettext.NullTranslations() - formatters_i18n.pgettext = python37_pgettext_backward_compatibility -except FileNotFoundError: - logger.critical("No language files have been found. Make sure locale folder is located in the directory.") - sys.exit(1) + +def load_languages(): + global rcgcdw, rc, formatters_i18n, misc, redaction + try: + if settings["lang"] != "en": + rcgcdw = gettext.translation('rcgcdw', localedir='locale', languages=[settings["lang"]]) + rc = gettext.translation('rc', localedir='locale', languages=[settings["lang"]]) + formatters_i18n = gettext.translation('formatters', localedir='locale', languages=[settings["lang"]]) + misc = gettext.translation('misc', localedir='locale', languages=[settings["lang"]]) + redaction = gettext.translation('redaction', localedir='locale', languages=[settings["lang"]]) + else: + rcgcdw, discussion_formatters, rc, formatters_i18n, misc, redaction = gettext.NullTranslations(), gettext.NullTranslations(), gettext.NullTranslations(), gettext.NullTranslations(), gettext.NullTranslations(), gettext.NullTranslations() + formatters_i18n.pgettext = python37_pgettext_backward_compatibility + except FileNotFoundError: + logger.critical("No language files have been found. Make sure locale folder is located in the directory.") + sys.exit(1) + + +load_languages() \ No newline at end of file