Common operations documentation

Various useful functions.

poezio.common.find_argument(pos, text, quoted=True)[source]

Split an input into a list of arguments, return the number of the argument selected by pos.

If the position searched is outside the string, or in a space between words, then it will return the position of an hypothetical new argument.

See the doctests of the two methods for example behaviors.

  • pos (int) – The position to search.
  • text (str) – The text to analyze.
  • quoted (bool) – Whether to take quotes into account or not.
Return type:



Check if a message is delayed or not.

Parameters:message (slixmpp.Message) – The message to check.
Returns:A tuple containing (True, the datetime) or (False, None)
Return type:tuple

Construct a string from a dict containing “user gaming” information. (for now, only use address and name)

Parameters:infos (dict) – Gaming information
Returns:The formatted string
Return type:str

Contruct a string from a dict created from an “User tune” event.

Parameters:infos (dict) – Tune information
Returns:The formatted string
Return type:str

Convert the content of a file to base64

Parameters:path (str) – The path of the file to convert.
Returns:A tuple of (encoded data, mime type, sha1 hash) if the file exists and does not exceeds the upper size limit of 16384.
Returns:(None, None, error message) if it fails
Return type:tuple

Get the local time from an UTC time


Returns a detailed and well formated string containing information about the operating system

Return type:str

Get the current UTC time

Parameters:local_time (datetime) – The current local time
Returns:The current UTC time

Do the reverse operation of parse_str_to_secs().

Parse a number of seconds to a human-readable string. The string has the form XdXhXmXs. 0 units are removed.

Parameters:duration (int) – The duration, in seconds.
Returns:A formatted string containing the duration.
Return type:str
>>> parse_secs_to_str(3601)

Parse a string of with a number of d, h, m, s.

Parameters:duration (str) – The formatted string.
Returns:The number of seconds represented by the string
Return type:int
>>> parse_str_to_secs("1d3m1h")
poezio.common.safeJID(*args, **kwargs)[source]

Construct a slixmpp.JID object from a string.

Used to avoid tracebacks during is stringprep fails (fall back to a JID with an empty string).


Split a string correctly according to the quotes around the elements.

Parameters:st (str) – The string to split.
Returns:A list of the different of the string.
Return type:list
>>> shell_split('"sdf 1" "toto 2"')
['sdf 1', 'toto 2']