def test_real_example(self): inline = u'''If you need spreadsheet support, check out Google Docs and Trello integration with Zapier: <div class="notranslate url">https://zapier.com/zapbook/google-docs/trello/</div>''' # noqa patt = re.compile(ur'\w*<div class=.*?>(?P<name>.*?)<.*?>', re.UNICODE | re.DOTALL) text, markup, wrappers = inline_to_annotation(inline, [ lambda x: default_wrapper_func(x, patt)]) self.assertEqual(markup, {}) self.assertEqual(len(wrappers), 1)
def recover_url(text, url): text = re.sub(url_replace_patt, url, text) return text email_replace_patt = re.compile( u'''<div class="notranslate email".*?>(?P<email>.*?)</div>''') def recover_email(text, email): text = re.sub(email_replace_patt, email, text) return text umtf_wrapper_funcs = [ lambda x: default_wrapper_func(x, gloss_patt, "gloss"), lambda x: default_wrapper_func(x, url_replace_patt, "url"), lambda x: default_wrapper_func(x, email_replace_patt, "email"), ] def replace_url_umtf_func(tag, part): new_part = u'<div class="notranslate %s">%s</div>' % ("url", part) return new_part def replace_email_umtf_func(tag, part): new_part = u'<div class="notranslate %s">%s</div>' % ("email", part) return new_part