Ejemplo n.º 1
0
 def __init__(self):
     # The strict parameter was added in Python 3.2 with a default of True.
     # The default changed to False in Python 3.3 and was deprecated.
     if sys.version_info[:2] == (3, 2):
         HTMLParser.__init__(self, strict=False)
     else:
         HTMLParser.__init__(self)
     self.reset()
     self.fed = []
def email_reminders(log_progress):
    def log(msg='', newline=True):
        if log_progress:
            end = '\n' if newline else ''
            sys.stdout.write(msg + end)
            sys.stdout.flush()

    users = User.objects.filter(logins=None)

    emails = []
    for user in users:
        html_content = render_to_string('email_reminders.html', {'user': user})
        text_content = HTMLParser().unescape(strip_tags(html_content))
        emails.append(
            EmailMultiAlternatives(
                to=[user.email],
                subject='[REMINDER] A Study on Image-Based Password Schemes',
                body=text_content,
                alternatives=[(html_content, 'text/html')],
            ))

    if settings.IS_HEROKU:
        get_connection().send_messages(emails)
    else:
        # if in development, print email to console instead
        print '----- EMAILS SENT -----\n'
        for email in emails:
            print email.message()
        print '-----------------------\n'
Ejemplo n.º 3
0
 def feed(self, data):
     self.istart = 0
     self.istop = 0
     self.filtered_text = ''
     self.raw_text = data
     
     retval = HTMLParser.feed(self, data)
     self.filtered_text += self.raw_text[self.istop:]
     
     return retval
Ejemplo n.º 4
0
def convert_html_to_text(s):
    """ converts html to text. """
    # keep just the block tags
    s = bleach.clean(s, BLOCK_TAGS, [], [], True, True)
    # remove newlines
    s = s.replace('\n', '')
    # replace block ends with newlines
    s = s.replace('/>', '/>\n')
    s = s.replace('<br>', '<br>\n')

    # strip tags
    s = bleach.clean(s, [], [], [], True, True).strip()

    # reconstruct entities
    h = HTMLParser.HTMLParser()
    return h.unescape(s)
Ejemplo n.º 5
0
 def __init__(self):
     self.in_a = False
     self.text = ''
     self.url = ''
     HTMLParser.__init__(self)
Ejemplo n.º 6
0
 def __init__(self):
     self.names = []
     HTMLParser.__init__(self)
Ejemplo n.º 7
0
 def reset(self):
     HTMLParser.reset(self)
     self.names = []
Ejemplo n.º 8
0
 def reset(self):
     HTMLParser.reset(self)
     self.urls = []
Ejemplo n.º 9
0
 def __init__(self):
     self.in_a = False
     self.text = ''
     self.url = ''
     HTMLParser.__init__(self)
Ejemplo n.º 10
0
 def __init__(self):
     self.names = []
     HTMLParser.__init__(self)
Ejemplo n.º 11
0
 def __init__(self):
     HTMLParser.__init__(self)
     self.root = RootElement()
     self.open_tags = []
     self.element_positions = {}
Ejemplo n.º 12
0
 def parse_endtag(self, i):
     self.istart = i
     self.istop = HTMLParser.parse_endtag(self, i)
     return self.istop
Ejemplo n.º 13
0
 def reset(self):
     HTMLParser.reset(self)
     self.names = []
Ejemplo n.º 14
0
 def feed(self, data):
     HTMLParser.feed(self, data)
     self.html = ''.join(self.html)
Ejemplo n.º 15
0
 def __init__(self, func, tags=('a', 'pre', 'span')):
     HTMLParser.__init__(self)
     self.func = func
     self.is_ignored = False
     self.tags = tags
     self.html = []
Ejemplo n.º 16
0
 def unescape(text):
     return HTMLParser().unescape(text)
Ejemplo n.º 17
0
 def __init__(self, *args, **kwargs):
     self.allowed_tags = []
     self.filtered_text = None
     HTMLParser.__init__(self, *args, **kwargs)
Ejemplo n.º 18
0
 def __init__(self):
     HTMLParser.__init__(self)
     self.reset()
     self.fed = []
Ejemplo n.º 19
0
 def reset(self):
     HTMLParser.reset(self)
     self.urls = []
Ejemplo n.º 20
0
 def __init__(self):
     HTMLParser.__init__(self)
     self.root = RootElement()
     self.open_tags = []
     self.element_positions = {}
Ejemplo n.º 21
0
"""