7.1.1.1.7. isbg.utils module
Utils for isbg - IMAP Spam Begone.
- isbg.utils.detect_enc(byte_sring)
Try to detect a encoding.
It uses the
cchardet
andchardet
modules to detect the encoding. If none of them are installed, it returns None.- Parameters:
byte_string (str | bytes) – the byte string to detect.
- Returns:
- with at least the ‘encoding’ informed as returned by
cchardet.detect()
andchardet.detect()
.
- Return type:
dict
- isbg.utils.hexdigit(char)
Tanslate a hexadecimal character his decimal (int) value.
- Parameters:
char (str) – A hexadecimal number in base 16.
- Returns:
the base 10 representation of the number.
- Return type:
int
- Raises:
ValueError – if char is not a valid hexadecimal character.
- isbg.utils.hexof(string)
Translate a string to a string with its hexadecimal value.
- Parameters:
string (str) – A string to be translated.
- Returns:
The translated string.
- Return type:
str
Examples
>>> isbg.utils.hexof('isbg') '69736267'
- isbg.utils.dehexof(string)
Tanslate a hexadecimal string to his string value.
- Parameters:
string (str) – A string containing a hexadecimal.
- Returns:
The translated string.
- Return type:
str
- isbg.utils.get_ascii_or_value(value)
Try to convert the contents of value to ascii string.
When the value cannot be converted to an ascii string, it returns the value.
- Parameters:
value (dict, list, str) – The value to convert.
- Returns:
The value object with its contents translated if it was possible.
Note
We get the
uids
info as binary when using the methods ofisbg.imaputils.IsbgImap4
.Examples
>>> get_ascii_or_value('isbg - IMAP Spam Begone') 'isbg - IMAP Spam Begone' >>> d = {'isbg': (u'IMAP', [b'Spam', r'Begone'])} >>> get_ascii_or_value(d) {'isbg': ('IMAP', ['Spam', 'Begone'])}
- isbg.utils.popen(cmd)
Create a
subprocess.Popen
instance.It calls Popen(cmd, stdin=PIPE, stdout=PIPE, close_fds=True).
- Parameters:
cmd (str) – The command to use in the call to Popen.
- Returns:
The Popen object.
- Return type:
subprocess.Popen
- isbg.utils.score_from_mail(mail)
Search the spam score from a mail as a string.
The returning format is
d.d/d.d<br>
and it contains the score found in the email.- Parameters:
mail (str) – A email.message.Message decoded.
- Returns:
The score found in the mail message.
- Return type:
str
- isbg.utils.shorten(inp, length)
Short a dict or a list a tuple or a string to a maximus length.
- Parameters:
inp (dict, list, tuple, str) – The object to short.
length (int) – The length.
- Returns:
the shorted object.
- isbg.utils.truncate(inp, length)
Truncate a string to a maximum length.
- Parameters:
inp (str) – The string to be shortened to his maximum length.
length (int) – The length.
- Returns:
the shorted string.
It adds
…
at the end if it is shortened.- Return type:
(str)
- Raises:
ValueError – If length is low than 1.
- class isbg.utils.BraceMessage(fmt, *args, **kwargs)
Bases:
object
Comodity class to format a string.
You can call it using: py: class: ~__
Example
>> > from isbg.utils import __ >> > __(“ffoo, boo {}”.format(a))
- __init__(fmt, *args, **kwargs)
Initialize the object.
- fmt
The string to be formated.
- args
The *args
- kwargs
The **kwargs**
- __str__()
Return the string formated.
- __repr__()
Return the representation formated.
- isbg.utils.__
alias of
BraceMessage