Changeset 63
- Timestamp:
- 11/07/07 01:11:02 (1 year ago)
- Location:
- branches/3.0/turbomail
- Files:
-
- 9 modified
-
__init__.py (modified) (1 diff)
-
api.py (modified) (1 diff)
-
exceptions.py (modified) (1 diff)
-
managers/demand.py (modified) (2 diffs)
-
managers/immediate.py (modified) (2 diffs)
-
providers/debug.py (modified) (1 diff)
-
providers/smtp.py (modified) (2 diffs)
-
release.py (modified) (1 diff)
-
util.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/3.0/turbomail/__init__.py
r52 r63 18 18 from turbomail.message import Message 19 19 from turbomail.control import interface 20 from turbomail.util import send20 from turbomail.util import Address, AddressList, send 21 21 22 import pkg_resources 23 24 __all__ = ['exceptions', 'extensions', 'managers', 'providers', 'release', 'manager', 'provider', 'config', 'Message', 'interface', 'send'] 25 22 __all__ = [ 23 'Address', 24 'AddressList', 25 'interface', 26 'Message', 27 'send', 28 29 'api', 30 'exceptions', 31 'extensions', 32 'managers', 33 'providers', 34 'release', 35 'smime', 36 37 'config', 38 'manager', 39 'provider', 40 ] 26 41 27 42 manager = None -
branches/3.0/turbomail/api.py
r40 r63 3 3 """TurboMail extension API.""" 4 4 5 __version__ = "$Revision: 1 $" 6 __all__ = ['Extension', 'ProviderFactory', 'Provider', 'Manager'] 7 5 8 6 9 class Extension(object): 10 name = "GenericExtension" 11 version = "0.1" 12 url = "http://www.python-turbomail.org/wiki/3.0/Extensions" 13 7 14 def __init__(self): 8 15 super(Extension, self).__init__() -
branches/3.0/turbomail/exceptions.py
r40 r63 3 3 """Exceptions used by TurboMail to report common errors.""" 4 4 5 5 __version__ = "$Revision: 1 $" 6 6 __all__ = ['MailException', 'MailNotEnabledError', 'MailConfigurationError', 'ProviderException', 'ProviderExhaustedException', 'ManagerException'] 7 7 -
branches/3.0/turbomail/managers/demand.py
r52 r63 2 2 3 3 """TurboMail extension API.""" 4 5 __version__ = "$Revision: 1 $" 4 6 5 7 import logging … … 25 27 name = "Demand" 26 28 version = "1.0" 27 url = "http://www.python-turbomail.org/wiki/ DemandManager"29 url = "http://www.python-turbomail.org/wiki/3.0/DemandManager" 28 30 29 31 def __init__(self): -
branches/3.0/turbomail/managers/immediate.py
r52 r63 2 2 3 3 """TurboMail extension API.""" 4 5 __version__ = "$Revision: 1 $" 4 6 5 7 import logging … … 20 22 name = "Immediate" 21 23 version = "1.0" 22 url = "http://www.python-turbomail.org/wiki/ ImmediateManager"24 url = "http://www.python-turbomail.org/wiki/3.0/ImmediateManager" 23 25 24 26 def __init__(self): -
branches/3.0/turbomail/providers/debug.py
r52 r63 2 2 3 3 """TurboMail extension API.""" 4 5 __version__ = "$Revision: 1 $" 4 6 5 7 import logging -
branches/3.0/turbomail/providers/smtp.py
r52 r63 2 2 3 3 """TurboMail extension API.""" 4 5 __version__ = "$Revision: 1 $" 4 6 5 7 import logging … … 70 72 log.info("Attempting delivery of message %s." % message.id) 71 73 deliverylog.info("%s DELIVER" % message.id) 72 deliverylog.debug("%s SUBJECT \"%s\"" % (message.id, message.subject))73 deliverylog.debug("%s FROM%s %s" % (message.id, len(message.author) != 1 and "S" or "", str(message.author.addresses).replace("\n", "")))74 if message.senders:75 deliverylog.debug("%s SENDER%s %s" % (message.id, len(message.sender) != 1 and "S" or "", str(message.sender.addresses).replace("\n", "")))76 deliverylog.debug("%s RECIPIENTS %s" % (message.id, str(message.recipients.addresses).replace("\n", "")))77 74 78 75 if self.count == 0: -
branches/3.0/turbomail/release.py
r52 r63 1 1 # encoding: utf-8 2 2 3 """Release information about the Turbo-Mail mail queue.""" 3 """Release information about TurboMail.""" 4 5 __version__ = "$Revision: 1 $" 4 6 5 7 name = "TurboMail" 6 8 version = "3.0" 9 api_version = "1.0" 7 10 description = "TurboMail is a multi-threaded mail delivery subsystem and MIME message generation framework for Python." 8 long_description = "TurboMail is a TurboGears extension, meaning that it starts up and shuts down alongside any TurboGears applications you write, in the same way that visit tracking and identity do. TurboMail uses built-in Python modules for SMTP communication and MIME e-mail creation, but greatly simplifies these tasks by performing the grunt-work for you. Additionally, TurboMail is multi-threaded, allowing for single or batch enqueueing and background delivery of mail." 11 long_description = """TurboMail 3 offers: 12 13 * Simplified creation of complex messages, including rich text, attachments, and more. 14 * Modular delivery managers including the blocking immediate manager, or the two threading managers: on-demand, and polling. 15 * Modular back-ends including SMTP, Sendmail, or on-disk. 16 * Easier debugging when using the debug back-end in concert with the immediate manager. 17 * A plugin architecture with a sample plugin for altered message encoding 18 * S/MIME encryption and digital signatures. 19 * Automatic integration into TurboGears 1.x. 20 21 Python includes several standard packages for handling e-mail. These libraries are independent of each-other, their documentation is hard-to-follow, and their examples are hardly real-world. TurboMail ties these dispersant elements together with an elegant and extensible API, freeing you (the developer) from drudge-work, strained eyes, and loss of hair, even for the most complicated use-cases. 22 """ 9 23 author = "Alice Bevan-McGregor" 10 24 email = "alice+turbomail@gothcandy.com" -
branches/3.0/turbomail/util.py
r41 r63 3 3 """MIME-encoded electronic mail message classes.""" 4 4 5 import re, turbomail 5 __version__ = "$Revision: 1 $" 6 7 import re 8 import turbomail 6 9 from turbomail.exceptions import MailNotEnabledError 7 10 from email.Header import Header 8 11 from email.utils import parseaddr, formataddr 9 12 10 __all__ = ['Address', 'AddressList', ' protected', 'send']13 __all__ = ['Address', 'AddressList', 'send'] 11 14 12 15
