optimize imports

This commit is contained in:
Sergey Lavrinenko 2015-03-11 16:13:37 +03:00
parent d27dcf43a6
commit 6f9bdf7e61
12 changed files with 61 additions and 62 deletions

View File

@ -8,10 +8,11 @@ import logging
from functools import wraps
from .client import SMTPResponse, SMTPClientWithResponse, SMTPClientWithResponse_SSL
from emails.compat import to_bytes
from ...compat import to_bytes
logger = logging.getLogger(__name__)
class SMTPBackend:
"""

View File

@ -2,4 +2,4 @@
import warnings
warnings.warn("emails.django_ module moved to emails.django", DeprecationWarning)
from emails.django import *
from .django import *

View File

@ -1,9 +1,15 @@
# encoding: utf-8
from emails.packages.dkim import DKIMException
from .packages.dkim import DKIMException
class HTTPLoaderError(Exception):
pass
class BadHeaderError(ValueError):
pass
class IncompleteMessage(ValueError):
pass

View File

@ -1,13 +1,13 @@
# encoding: utf-8
import os
import os.path
from emails.loader.local_store import FileNotFound
from emails.compat import to_unicode
from emails.compat import urlparse
from emails import Message
from emails.utils import fetch_url
from emails.loader import local_store
from emails.loader.helpers import guess_charset
from .local_store import (FileSystemLoader, ZipLoader, MsgLoader, FileNotFound)
from .helpers import guess_charset
from ..compat import to_unicode
from ..compat import urlparse
from ..message import Message
from ..utils import fetch_url
class LoadError(Exception):
@ -100,7 +100,7 @@ def _from_filebased_source(store, html_filename=None, skip_text=True, text_filen
def from_directory(directory, loader_cls=None, **kwargs):
loader_cls = loader_cls or local_store.FileSystemLoader
loader_cls = loader_cls or FileSystemLoader
return _from_filebased_source(store=loader_cls(searchpath=directory), **kwargs)
@ -109,13 +109,13 @@ def from_file(filename, **kwargs):
def from_zip(zip_file, loader_cls=None, **kwargs):
loader_cls = loader_cls or local_store.ZipLoader
loader_cls = loader_cls or ZipLoader
return _from_filebased_source(store=loader_cls(file=zip_file), **kwargs)
def from_rfc822(msg, message_params=None):
# Warning: from_rfc822 is for demo purposes only
loader = local_store.MsgLoader(msg=msg)
loader = MsgLoader(msg=msg)
message_params = message_params or {}
message = Message(html=loader.html, text=loader.text, **message_params)
for att in loader.attachments:

View File

@ -5,7 +5,8 @@ __all__ = ['guess_charset', 'fix_content_type']
import re
import cgi
import charade
from emails.compat import to_unicode, to_native
from ..compat import to_unicode, to_native
# HTML page charset stuff

View File

@ -8,8 +8,8 @@ import errno
from zipfile import ZipFile
import email
from emails.compat import to_unicode, string_types, to_native
from emails.loader.helpers import guess_html_charset, decode_text
from ..compat import to_unicode, string_types, to_native
from ..loader.helpers import decode_text
class FileNotFound(Exception):

View File

@ -2,7 +2,6 @@
from __future__ import unicode_literals
import time
from functools import wraps
from email.utils import formatdate, getaddresses
from dateutil.parser import parse as dateutil_parse
@ -10,7 +9,8 @@ from dateutil.parser import parse as dateutil_parse
from .compat import (string_types, is_callable, to_bytes)
from .utils import (SafeMIMEText, SafeMIMEMultipart, sanitize_address,
parse_name_and_email, load_email_charsets,
encode_header as encode_header_)
encode_header as encode_header_,
renderable)
from .exc import BadHeaderError
from .backend import ObjectFactory, SMTPBackend
from .store import MemoryFileStore, BaseFile
@ -20,24 +20,6 @@ from .signers import DKIMSigner
load_email_charsets() # sic!
def renderable(f):
@wraps(f)
def wrapper(self, *args, **kwargs):
r = f(self, *args, **kwargs)
render = getattr(r, 'render', None)
if render:
d = render(**(self.render_data or {}))
return d
else:
return r
return wrapper
class IncompleteMessage(Exception):
pass
class BaseMessage(object):
"""

View File

@ -8,10 +8,10 @@
from __future__ import unicode_literals
import logging
from emails.packages import dkim
from emails.packages.dkim import DKIMException, UnparsableKeyError
from emails.packages.dkim.crypto import parse_pem_private_key
from emails.compat import to_bytes, to_native
from .packages import dkim
from .packages.dkim import DKIMException, UnparsableKeyError
from .packages.dkim.crypto import parse_pem_private_key
from .compat import to_bytes, to_native
class DKIMSigner:

View File

@ -1,23 +1,15 @@
# encoding: utf-8
from __future__ import unicode_literals
from email.header import Header
import uuid
from os.path import basename
import requests
from mimetypes import guess_type
from email.mime.base import MIMEBase
from email.encoders import encode_base64
import emails
from emails.compat import urlparse
from emails.compat import string_types, to_bytes
from emails.utils import fetch_url, encode_header
from os.path import basename
from ..compat import urlparse, string_types, to_bytes
from ..utils import fetch_url, encode_header
# class FileNotFound(Exception):
# pass
MIMETYPE_UNKNOWN = 'application/unknown'

View File

@ -1,8 +1,8 @@
# encoding: utf-8
from __future__ import unicode_literals
from os.path import splitext
from emails.compat import OrderedDict, string_types
from ..compat import OrderedDict, string_types
from .file import BaseFile

View File

@ -1,17 +1,16 @@
# encoding: utf-8
from __future__ import unicode_literals
import posixpath
import os.path
import logging
import posixpath
import re
import warnings
from cssutils import CSSParser
from lxml import etree
from premailer import Premailer
from premailer.premailer import ExternalNotFoundError
import emails
from .compat import urlparse, to_unicode, to_bytes, text_type
from .compat import urlparse, to_unicode
from .store import MemoryFileStore, LazyHTTPFile
from .template.base import BaseTemplate
from .loader.local_store import FileNotFound

View File

@ -1,20 +1,24 @@
# encoding: utf-8
from __future__ import unicode_literals
import os
import socket
from datetime import datetime
import os
from random import randrange
from functools import wraps
import email.charset
from email import generator
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.header import Header, decode_header as decode_header_
from email.utils import formataddr, parseaddr
import requests
import emails
from emails.compat import string_types, to_unicode, NativeStringIO, is_py2, BytesIO
from emails.exc import HTTPLoaderError
from . import USER_AGENT
from .compat import string_types, to_unicode, NativeStringIO, is_py2, BytesIO
from .exc import HTTPLoaderError
_charsets_loaded = False
@ -180,7 +184,7 @@ class SafeMIMEMultipart(MIMEMixin, MIMEMultipart):
DEFAULT_REQUESTS_PARAMS = dict(allow_redirects=True,
verify=False, timeout=10,
headers={'User-Agent': emails.USER_AGENT})
headers={'User-Agent': USER_AGENT})
def fetch_url(url, valid_http_codes=(200, ), requests_args=None):
@ -199,4 +203,18 @@ def encode_header(value, charset='utf-8'):
_r = Header(value, charset)
return str(_r)
else:
return value
return value
def renderable(f):
@wraps(f)
def wrapper(self, *args, **kwargs):
r = f(self, *args, **kwargs)
render = getattr(r, 'render', None)
if render:
d = render(**(self.render_data or {}))
return d
else:
return r
return wrapper