Exemple #1
0
    def __init__ (self, mail_host = None, ** kw) :
        self.smtp = self.SMTP (mail_host = mail_host, ** kw)
    # end def __init__

    def __call__ (self, email, envelope = None) :
        self.smtp.send_message (email, envelope)
    # end def __call__

    def send (self, from_addr, to_addrs, msg, mail_opts = None, rcpt_opts = None) :
        self.smtp.send (from_addr, to_addrs, msg, mail_opts, rcpt_opts)
    # end def send

# end class Sender

class Sender_Logger (Sender) :

    SMTP = TFL.SMTP_Logger

# end class Sender_Logger

class Sender_Tester (Sender) :

    SMTP = TFL.SMTP_Tester

# end class Sender_Tester

if __name__ != "__main__" :
    PMA._Export ("*")
### __END__ PMA.Sender
Exemple #2
0
            pyk.pickle.dump (cls._Table, f, pyk.pickle_protocol)
    # end def save

# end class _Status_C_

class _Status_I_ (_Status_) :

    def load (self, filename) :
        try :
            with open (filename, "rb") as f :
                try :
                    attrs = pyk.pickle.load (f)
                except EOFError :
                    pass
                else :
                    self._set_attr (** attrs)
        except IOError :
            pass
    # end def load

    def save (self, filename) :
        with open (filename, "wb") as f :
            pyk.pickle.dump (self._attr, f, pyk.pickle_protocol)
    # end def save

# end class _Status_I_

if __name__ != "__main__" :
    PMA._Export ("_Status_", "_Status_C_", "_Status_I_")
### __END__ PMA._Status_
Exemple #3
0
            caps = Lib.mailcap.getcaps ()
        self.caps = caps
        self.mct  = {}
    # end def __init__

    def mime_type (self, name) :
        mct    = self.mct
        result = mct.get (name)
        if name not in mct :
            if name in self.caps :
                result = Mailcap_Type (name, self.caps [name])
            else :
                main_type, sub_type = name.split ("/")
                if sub_type != "*" :
                    result = self.mime_type ("/".join ((main_type, "*")))
            mct [name] = result
        return result
    # end def mime_type

    def __getitem__ (self, key) :
        return self.mime_type (key)
    # end def __getitem__

# end class _Mailcap_

Mailcap = _Mailcap_ ()

if __name__ != "__main__" :
    PMA._Export ("*", "Mailcap")
### __END__ PMA.Mailcap
Exemple #4
0
    POP3_class = poplib.POP3

    def __init__ ( self, path, host, user
                 , passwd              = None
                 , prefix              = None
                 , root                = None
                 , port                = 110
                 , poll_interval       = 60 ### in seconds
                 ) :
        self.__super.__init__ (path, prefix, root)
        self.poller = Pop3_Poller \
            (self, host, user, passwd, port, poll_interval, auto_start = True)
    # end def __init__

    def passwd_cb (self) :
        raise NotImplemented ("Must pass passwd to Pop3_Maildir")
    # end def passwd_cb

# end class Pop3_Maildir

class Pop3_Maildir_SSL (Pop3_Maildir) :
    """Model a Pop3_Maildir using a SSL conection to the POP server."""

    POP3_class = poplib.POP3_SSL

# end class Pop3_Maildir_SSL

if __name__ != "__main__" :
    PMA._Export ("*")
### __END__ PMA.Pop3_Maildir
Exemple #5
0
            caps = Lib.mailcap.getcaps ()
        self.caps = caps
        self.mct  = {}
    # end def __init__

    def mime_type (self, name) :
        mct    = self.mct
        result = mct.get (name)
        if name not in mct :
            if name in self.caps :
                result = Mailcap_Type (name, self.caps [name])
            else :
                main_type, sub_type = name.split ("/")
                if sub_type != "*" :
                    result = self.mime_type ("/".join ((main_type, "*")))
            mct [name] = result
        return result
    # end def mime_type

    def __getitem__ (self, key) :
        return self.mime_type (key)
    # end def __getitem__

# end class _Mailcap_

Mailcap = _Mailcap_ ()

if __name__ != "__main__" :
    PMA._Export ("*", "Mailcap")
### __END__ PMA.Mailcap
Exemple #6
0
                s = self._new_subbox (sos.path.join (self.path, b.name))
            s.add_messages (* b.messages)
            if transitive :
                for sb in pyk.itervalues (b._box_dict) :
                    s.add_subbox (sb, transitive)
        self.change_list.append (PMA.SCM.Add_Subbox (s))
        self.change_count += 1
        return s
    # end def add_subbox

    def import_from_mailbox (self, mailbox, transitive = False) :
        self.add_messages (* mailbox.messages)
        if transitive :
            for b in pyk.itervalues (mailbox._box_dict) :
                self.add_subbox (b, transitive)
    # end def import_from_mailbox

    @classmethod
    def md_name (cls, message = None) :
        if message is None :
            return super (Mailbox, cls).md_name ()
        else :
            return message.name
    # end def md_name

# end class Mailbox

if __name__ != "__main__" :
    PMA._Export ("*", "_Mailbox_", "_Mailbox_in_Dir_", "_Mailbox_in_Dir_S_")
### __END__ PMA.Mailbox
Exemple #7
0
    def __init__ (self, matcher) :
        self.matcher = matcher
    # end def __init__

    def match (self, msg) :
        return not self.matcher.match (msg)
    # end def match

    def __repr__ (self) :
        return "not (%s)" % (self.matcher, )
    # end def __repr__

# end class Not_Matcher

class Or_Matcher (And_Matcher) :
    """Or-combination of Matcher instances"""

    def match (self, msg) :
        for m in self.matchers :
            if m.match (msg) :
                return True
        return False
    # end def match

# end class Or_Matcher

if __name__ != "__main__" :
    PMA._Export ("*", "_Matcher_")
### __END__ PMA.Matcher
Exemple #8
0
        @_trainer
        def untrain_spam (self, msg) :
            """Un-Train classifier with spam `msg`"""
            self.hammie.untrain_spam (msg)
        # end def untrain_spam

        def _close (self) :
            if self.hammie is not None and self.mode != "r" :
                self._save ()
            self.hammie = None
        # end def _close

        def _open (self, mode = "c") :
            if self.hammie is None or self.mode != mode :
                self.mode   = mode
                self.hammie = sb.hammie.open (self.dbname, self.usedb, mode)
        # end def _open

        def _save (self) :
            self.hammie.store ()
        # end def _save

    # end class _SB_

    SB = _SB_ ()

if __name__ != "__main__" :
    PMA._Export ("SB")
### __END__ PMA.SB
Exemple #9
0
# -*- coding: utf-8 -*-
# Copyright (C) 2004 Mag. Christian Tanzer. All rights reserved
# Glasauergasse 32, A--1130 Wien, Austria. [email protected]
# ****************************************************************************
#
# This module is licensed under the terms of the BSD 3-Clause License
# <http://www.c-tanzer.at/license/bsd_3c.html>.
# ****************************************************************************
#
#++
# Name
#    PMA.SCM.__init__
#
# Purpose
#    PMA change tracker`
#
# Revision Dates
#    15-Jan-2006 (MG) Creation
#    ««revision-date»»···
#--

from _TFL.Package_Namespace import Package_Namespace
from _PMA import PMA

SCM = Package_Namespace()
PMA._Export("SCM")

del Package_Namespace

### __END__ PMA.SCM.__init__
Exemple #10
0
        self.__super.__init__ \
            ( name      = name
            , prefix    = prefix
            )
    # end def __init__

    def _eligible (self, messages) :
        return messages
    # end def _eligible

# end class V_Mailbox

"""
from _PMA                  import PMA
import _PMA.Mailbox
import _PMA.V_Mailbox
import _PMA.Matcher

mbi = PMA.Maildir    ("/home/glueck/PMA/D/inbox")
mb1 = PMA.Mailbox    ("/home/glueck/PMA/TTTech/planung")
mb2 = PMA.Mailbox    ("/home/glueck/PMA/TTTech/BIKA")
mbs = PMA.MH_Mailbox ("/home/glueck/work/MH/Installscript")
vmb = PMA.V_Mailbox  ("f1", (mb1, mb2))
vmb.messages
m   = mbs.messages [58]
"""

if __name__ != "__main__" :
    PMA._Export ("V_Mailbox", "_V_Mailbox_")
### __END__ PMA.V_Mailbox
Exemple #11
0
# -*- coding: utf-8 -*-
# Copyright (C) 2004 Mag. Christian Tanzer. All rights reserved
# Glasauergasse 32, A--1130 Wien, Austria. [email protected]
# ****************************************************************************
#
# This module is licensed under the terms of the BSD 3-Clause License
# <http://www.c-tanzer.at/license/bsd_3c.html>.
# ****************************************************************************
#
#++
# Name
#    PMA.SCM.__init__
#
# Purpose
#    PMA change tracker`
#
# Revision Dates
#    15-Jan-2006 (MG) Creation
#    ««revision-date»»···
#--

from   _TFL.Package_Namespace import Package_Namespace
from   _PMA                   import PMA

SCM = Package_Namespace ()
PMA._Export ("SCM")

del Package_Namespace

### __END__ PMA.SCM.__init__
Exemple #12
0
                s = self._new_subbox (sos.path.join (self.path, b.name))
            s.add_messages (* b.messages)
            if transitive :
                for sb in pyk.itervalues (b._box_dict) :
                    s.add_subbox (sb, transitive)
        self.change_list.append (PMA.SCM.Add_Subbox (s))
        self.change_count += 1
        return s
    # end def add_subbox

    def import_from_mailbox (self, mailbox, transitive = False) :
        self.add_messages (* mailbox.messages)
        if transitive :
            for b in pyk.itervalues (mailbox._box_dict) :
                self.add_subbox (b, transitive)
    # end def import_from_mailbox

    @classmethod
    def md_name (cls, message = None) :
        if message is None :
            return super (Mailbox, cls).md_name ()
        else :
            return message.name
    # end def md_name

# end class Mailbox

if __name__ != "__main__" :
    PMA._Export ("*", "_Mailbox_", "_Mailbox_in_Dir_", "_Mailbox_in_Dir_S_")
### __END__ PMA.Mailbox
Exemple #13
0
            , prefix    = prefix
            )

    # end def __init__

    def _eligible(self, messages):
        return messages

    # end def _eligible


# end class V_Mailbox
"""
from _PMA                  import PMA
import _PMA.Mailbox
import _PMA.V_Mailbox
import _PMA.Matcher

mbi = PMA.Maildir    ("/home/glueck/PMA/D/inbox")
mb1 = PMA.Mailbox    ("/home/glueck/PMA/TTTech/planung")
mb2 = PMA.Mailbox    ("/home/glueck/PMA/TTTech/BIKA")
mbs = PMA.MH_Mailbox ("/home/glueck/work/MH/Installscript")
vmb = PMA.V_Mailbox  ("f1", (mb1, mb2))
vmb.messages
m   = mbs.messages [58]
"""

if __name__ != "__main__":
    PMA._Export("V_Mailbox", "_V_Mailbox_")
### __END__ PMA.V_Mailbox