Merge pull request #504 from evandroforks/fix_beautiful_soup

Fixed BeautifulSoup breaking string paths
This commit is contained in:
Damien Elmes 2020-03-13 19:33:10 +10:00 committed by GitHub
commit e65873c0e4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 5 deletions

View File

@ -150,6 +150,11 @@ class SupermemoXmlImporter(NoteImporter):
# my sm2004 also ecaped & char in escaped sequences.
html = re.sub("&", "&", html)
# https://anki.tenderapp.com/discussions/ankidesktop/39543-anki-is-replacing-the-character-by-when-i-exit-the-html-edit-mode-ctrlshiftx
if html.find(">") < 0:
return html
# unescaped solitary chars < or > that were ok for minidom confuse btfl soup
# html = re.sub(u'>',u'&gt;',html)
# html = re.sub(u'<',u'&lt;',html)

View File

@ -495,6 +495,8 @@ class Editor:
form.textEdit.moveCursor(QTextCursor.End)
d.exec_()
html = form.textEdit.toPlainText()
# https://anki.tenderapp.com/discussions/ankidesktop/39543-anki-is-replacing-the-character-by-when-i-exit-the-html-edit-mode-ctrlshiftx
if html.find(">") > -1:
# filter html through beautifulsoup so we can strip out things like a
# leading </div>
with warnings.catch_warnings() as w:
@ -806,6 +808,10 @@ to a cloze type first, via Edit>Change Note Type."""
removeTags = ["script", "iframe", "object", "style"]
def _pastePreFilter(self, html, internal):
# https://anki.tenderapp.com/discussions/ankidesktop/39543-anki-is-replacing-the-character-by-when-i-exit-the-html-edit-mode-ctrlshiftx
if html.find(">") < 0:
return html
with warnings.catch_warnings() as w:
warnings.simplefilter("ignore", UserWarning)
doc = BeautifulSoup(html, "html.parser")