forked from OrudoCA/qBitDownload-Bot
23 lines
574 B
Python
23 lines
574 B
Python
# -*- coding: utf-8 -*-
|
|
|
|
####################
|
|
# Static functions #
|
|
####################
|
|
|
|
# Imports
|
|
from tubot.static.abc import IValidatable
|
|
from tubot.static.exceptions import ValidationError
|
|
|
|
|
|
async def validate(obj: IValidatable, msg: str | None = None) -> bool:
|
|
"""
|
|
Throws an exception if the object has not been validated
|
|
|
|
:return: Object validity boolean
|
|
"""
|
|
if await obj.__validate__():
|
|
return True
|
|
if msg is None:
|
|
raise ValidationError("Object validation failed")
|
|
raise ValidationError(f"Object validation failed: {msg}")
|