isbg.isbg.ISBG
- class isbg.isbg.ISBG
Main ISBG class.
See also
isbg.__main__
for command line usage.Examples
>>> import isbg >>> sbg = isbg.ISBG() >>> sbg.imapsets.host = "imap.example.org" >>> sbg.imapsets.port = 993 >>> sbg.imapsets.user = "example@example.org" >>> sbg.imapsets.passwd = "xxxxxxxx" >>> sbg.imapsets.inbox = "INBOX" >>> sbg.imapsets.spaminbox = "INBOX.Spam" >>> sbg.imapsets.learnspambox = "INBOX.Spam" >>> sbg.imapsets.learnhambox = "NOSPAM" >>> # Set the number of mails to chech >>> sbg.partialrun = 4 # Only check 4 mails for every proc. >>> sbg.verbose = True # Show more info >>> sbg.ignorelockfile = True # Ignore lock file >>> sbg.removelock() # if there is a lock file >>> sbg.do_isbg() # Connects to the imap and checks for spam
- imap
class that take care of connection and communication with the IMAP server. It’s initialized calling
do_imap_login()
and every time that callingdo_isbg()
.- Type:
- imapsets
Object to store the IMAP settings. It’s initialized when ISBG is initialized and also stores the IMAP folders used by ISBG.
- It also stores the command line args for:
user
(imapuser),passwd
(imappasswd),host
(imaphost),port
(imapport),nossl
(nossl),inbox
(imapinbox),spaminbox
(spaminbox),learnspambox
(learnspambox) andlearnhambox
(learnhambox).
- logger
Object used to output info. It’s initialized when ISBG is initialized.
- Type:
logging.Logger
These are attributes derived from the command line and needed for normal operations:
- exitcodes
If True returns more exit codes. Defaults to
True
.- Type:
bool
- imaplist
If True shows the folder list. Default to
False
.- Type:
bool
- noreport
If True not adds SpamAssassin report to mails. Default to
False
.- Type:
bool
- nostats
If True no shows stats. Default to
False
.- Type:
bool
- verbose_mails
If True shows the email content. Default to
False
.- Type:
bool
- verbose
a property that if it’s set to True show more information. Default to
False
.
These are attributes derived for the command line, and needed for SpamAssassin operations:
- dryrun
If True don’t do changes in the IMAP account. Default to
False
.- Type:
bool
- maxsize
Max file size to process. Default to
120,000
.- Type:
int
- teachonly
If True don’t search spam, only learn. Default to
False
.- Type:
bool
- spamc
If True use spamc instead of standalone SpamAssassin. Default to
False
.- Type:
bool
- gmail
If True Delete by copying to [Gmail]/Trash folder. Default to
False
.- Type:
bool
- deletehigherthan
If it’s not None, the minimum score from a mail to be deleted. Default to
None
.- Type:
float
- delete
If True the spam mails will be marked for deletion. Default to
False
.- Type:
bool
- expunge
If True causes marked for deletion messages to also be deleted (only useful if deleted is True. Default to
None
.- Type:
bool
- flag
If True the spams will be flagged in your INBOX. Default to
False
.- Type:
bool
- learnflagged
If True only learn flagged messages. Default to
False
.- Type:
bool
- learnunflagged
If True only learn unflagged messages. Default to
False
.- Type:
bool
- learnthendestroy
If True mark learned messages for deletion. Default to
False
.- Type:
bool
- learnthenflag
If True flag learned messages. Default to
False
.- Type:
bool
- movehamto
If it’s not None, IMAP folder where the ham mail will be moved. Default to
None
.- Type:
str
These are attributes derived from the command line and related to the lock file:
- ignorelockfile
If True and there is the lock file a error is raised.
- Type:
bool
- lockfile
Full path and name of the lock file.
The path it’s initialized with the xdg cache home specification plus /isbg/ and with the name
lock
.- Type:
str
- lockfilegrace
Lifetime of the lock file in seconds. Default to 240.0
- Type:
float
These are attributes derived for the command line, related to the IMAP password and files:
- passwdfilename
The fill name where the password will be stored. Defaults to
None
. It only have use if savepw is True.- Type:
str
- savepw
If True a obfuscated password will be stored into a file.
- Type:
bool
- trackfile
Base name where the processed
uids
will be stored to not reprocess them. Default toNone
when initialized and initialized the first time that is needed.- Type:
str
- __init__()
Initialize a ISBG object.
Methods
__init__
()Initialize a ISBG object.
assertok
(res, *args)Check that the return code is OK.
Login to the imap.
Sign off from the imap connection.
do_isbg
()Execute the main isbg process.
List the imap boxes.
Do the spamassassin procesing.
pastuid_read
(uidvalidity[, folder])Read the uids stored in a file for a folder.
pastuid_write
(uidvalidity, origpastuids, ...)Write the uids in a file for the folder.
Remove the lockfile.
set_filename
(imapsets, filetype)Set the filename of cached created files.
Attributes
Get the verbose property.
a logger