1
Fork 0
mirror of https://github.com/RYGhub/royalnet.git synced 2024-11-27 13:34:28 +00:00

Move errors to a separate file

This commit is contained in:
Steffo 2018-11-26 14:46:47 +00:00
parent cf86f8c7ea
commit de952401e3
2 changed files with 27 additions and 26 deletions

View file

@ -19,6 +19,7 @@ import errors
import datetime import datetime
import sqlalchemy.exc import sqlalchemy.exc
import coloredlogs import coloredlogs
import errors
logging.getLogger().disabled = True logging.getLogger().disabled = True
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@ -138,26 +139,6 @@ else:
sentry = Succ() sentry = Succ()
class DurationError(Exception):
pass
class InfoNotRetrievedError(Exception):
pass
class FileNotDownloadedError(Exception):
pass
class AlreadyDownloadedError(Exception):
pass
class InvalidConfigError(Exception):
pass
class Video: class Video:
def __init__(self, url: str = None, file: str = None, info: dict = None, enqueuer: discord.Member = None): def __init__(self, url: str = None, file: str = None, info: dict = None, enqueuer: discord.Member = None):
self.url = url self.url = url
@ -188,14 +169,14 @@ class Video:
async def download(self, progress_hooks: typing.List["function"] = None): async def download(self, progress_hooks: typing.List["function"] = None):
# File already downloaded # File already downloaded
if self.downloaded: if self.downloaded:
raise AlreadyDownloadedError() raise errors.AlreadyDownloadedError()
# No progress hooks # No progress hooks
if progress_hooks is None: if progress_hooks is None:
progress_hooks = [] progress_hooks = []
# Check if under max duration # Check if under max duration
self.duration = datetime.timedelta(seconds=self.info.get("duration", 0)) self.duration = datetime.timedelta(seconds=self.info.get("duration", 0))
if self.info is not None and self.duration.total_seconds() > int(config["YouTube"]["max_duration"]): if self.info is not None and self.duration.total_seconds() > int(config["YouTube"]["max_duration"]):
raise DurationError() raise errors.DurationError()
# Download the file # Download the file
logger.info(f"Now downloading {repr(self)}.") logger.info(f"Now downloading {repr(self)}.")
with youtube_dl.YoutubeDL({"noplaylist": True, with youtube_dl.YoutubeDL({"noplaylist": True,
@ -214,7 +195,7 @@ class Video:
def create_audio_source(self) -> discord.PCMVolumeTransformer: def create_audio_source(self) -> discord.PCMVolumeTransformer:
# Check if the file has been downloaded # Check if the file has been downloaded
if not self.downloaded: if not self.downloaded:
raise FileNotDownloadedError() raise errors.FileNotDownloadedError()
return discord.PCMVolumeTransformer(discord.FFmpegPCMAudio(f"{self.file}", **ffmpeg_settings)) return discord.PCMVolumeTransformer(discord.FFmpegPCMAudio(f"{self.file}", **ffmpeg_settings))
@ -241,7 +222,7 @@ class SecretVideo(Video):
def create_audio_source(self) -> discord.PCMVolumeTransformer: def create_audio_source(self) -> discord.PCMVolumeTransformer:
# Check if the file has been downloaded # Check if the file has been downloaded
if not self.downloaded: if not self.downloaded:
raise FileNotDownloadedError() raise errors.FileNotDownloadedError()
return discord.PCMVolumeTransformer(discord.FFmpegPCMAudio(f"./opusfiles/{self.file}", **ffmpeg_settings)) return discord.PCMVolumeTransformer(discord.FFmpegPCMAudio(f"./opusfiles/{self.file}", **ffmpeg_settings))
@ -362,11 +343,11 @@ class RoyalDiscordBot(discord.Client):
# Get the main channel # Get the main channel
self.main_channel = self.get_channel(int(config["Discord"]["main_channel"])) self.main_channel = self.get_channel(int(config["Discord"]["main_channel"]))
if not isinstance(self.main_channel, discord.TextChannel): if not isinstance(self.main_channel, discord.TextChannel):
raise InvalidConfigError("The main channel is not a TextChannel!") raise errors.InvalidConfigError("The main channel is not a TextChannel!")
# Get the main guild # Get the main guild
self.main_guild = self.get_guild(int(config["Discord"]["server_id"])) self.main_guild = self.get_guild(int(config["Discord"]["server_id"]))
if not isinstance(self.main_guild, discord.Guild): if not isinstance(self.main_guild, discord.Guild):
raise InvalidConfigError("The main guild does not exist!") raise errors.InvalidConfigError("The main guild does not exist!")
await self.change_presence(status=discord.Status.online, activity=None) await self.change_presence(status=discord.Status.online, activity=None)
logger.info("Bot is ready!") logger.info("Bot is ready!")
asyncio.ensure_future(self.queue_predownload_videos()) asyncio.ensure_future(self.queue_predownload_videos())

View file

@ -8,3 +8,23 @@ class NotFoundError(Exception):
class AlreadyExistingError(Exception): class AlreadyExistingError(Exception):
pass pass
class DurationError(Exception):
pass
class InfoNotRetrievedError(Exception):
pass
class FileNotDownloadedError(Exception):
pass
class AlreadyDownloadedError(Exception):
pass
class InvalidConfigError(Exception):
pass