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'
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
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)
def __init__(self): self.in_a = False self.text = '' self.url = '' HTMLParser.__init__(self)
def __init__(self): self.names = [] HTMLParser.__init__(self)
def reset(self): HTMLParser.reset(self) self.names = []
def reset(self): HTMLParser.reset(self) self.urls = []
def __init__(self): self.in_a = False self.text = '' self.url = '' HTMLParser.__init__(self)
def __init__(self): self.names = [] HTMLParser.__init__(self)
def __init__(self): HTMLParser.__init__(self) self.root = RootElement() self.open_tags = [] self.element_positions = {}
def parse_endtag(self, i): self.istart = i self.istop = HTMLParser.parse_endtag(self, i) return self.istop
def reset(self): HTMLParser.reset(self) self.names = []
def feed(self, data): HTMLParser.feed(self, data) self.html = ''.join(self.html)
def __init__(self, func, tags=('a', 'pre', 'span')): HTMLParser.__init__(self) self.func = func self.is_ignored = False self.tags = tags self.html = []
def unescape(text): return HTMLParser().unescape(text)
def __init__(self, *args, **kwargs): self.allowed_tags = [] self.filtered_text = None HTMLParser.__init__(self, *args, **kwargs)
def __init__(self): HTMLParser.__init__(self) self.reset() self.fed = []
def reset(self): HTMLParser.reset(self) self.urls = []
def __init__(self): HTMLParser.__init__(self) self.root = RootElement() self.open_tags = [] self.element_positions = {}
"""