royalnet.utils¶
Miscellaneous useful functions and classes.
-
async
royalnet.utils.
asyncify
(function: Callable, *args, **kwargs)¶ Convert a function into a coroutine.
Warning
The coroutine cannot be cancelled, and any attempts to do so will result in unexpected outputs.
-
royalnet.utils.
safeformat
(string: str, **words: str) → str¶ str.format()
something, but ignore missing keys instead of raising an error.- Parameters
string – The base string to be formatted.
words – The words to format the string with.
- Returns
The formatted string.
-
royalnet.utils.
cdj
(class_: Any) → dict¶ Return a dict of the class attributes without the
__module__
,__dict__
,__weakref__
and__doc__
keys, to be used while generating dynamically SQLAlchemy declarative table classes.- Parameters
class_ – The object that you want to dict-ify.
- Returns
The class dict.
Warning
You can’t dict-ify classes with
__slots__
!
-
async
royalnet.utils.
sleep_until
(dt: datetime.datetime) → None¶ Block the call until the specified datetime.
Warning
Accurate only to seconds.
-
royalnet.utils.
plusformat
(i: int) → str¶ Convert an
int
to astr
, prepending a+
if it’s greater than 0.
-
class
royalnet.utils.
NetworkHandler
¶ The NetworkHandler functions are called when a specific Message type is received.
-
message_type
= NotImplemented¶
-
-
royalnet.utils.
andformat
(l: List[str], middle=', ', final=' and ') → str¶ Convert a
list
to astr
by addingfinal
between the last two elements andmiddle
between the others.
-
royalnet.utils.
plusformat
(i: int) → str Convert an
int
to astr
, prepending a+
if it’s greater than 0.
-
royalnet.utils.
fileformat
(string: str) → str¶ Ensure a string can be used as a filename by replacing all non-word characters with underscores.
- Parameters
string – the input string.
- Returns
A valid filename string.
-
royalnet.utils.
ytdldateformat
(string: Optional[str], separator: str = '-') → str¶ Convert the weird date string returned by
youtube-dl
into theYYYY-MM-DD
format.- Parameters
string – the input string, in the
YYYYMMDD
format.separator – the string to add between the years, the months and the days. Defaults to
-
.
- Returns
The resulting string, in the format
YYYY-MM-DD
format.
-
royalnet.utils.
numberemojiformat
(l: List[str]) → str¶
-
royalnet.utils.
telegram_escape
(string: str) → str¶ Escape a string to be sent through Telegram, and format it using RoyalCode.
Warning
Currently escapes everything, even items in code blocks.
-
royalnet.utils.
discord_escape
(string: str) → str¶ Escape a string to be sent through Discord, and format it using RoyalCode.
Warning
Currently escapes everything, even items in code blocks.