def clean_html(self, ids):
     try:
         entries = Entry.query.filter(Entry.id.in_(ids)).all()
         app.logger.info(
             "Admin Cleaning HTML for Entries: %s", stringify_list(entries)
         )
         for entry in entries:
             entry.content = Entry.clean_content(entry.content)
             entry.summary = Entry.clean_content(entry.summary)
             entry.title = Entry.clean_title(entry.title)
             entry.create_summary()
             db.session.add(entry)
         db.session.commit()
         flash(f"HTML was successfully cleaned for {len(ids)} Entries.", "success")
     except Exception as ex:
         if not self.handle_view_exception(ex):
             raise
         flash(f"Failed to clean Entry HTML. {ex}", "error")
Exemple #2
0
def test_clean_content(client):
    with open(TEST_FILES_DIR + "entry_content.xml", "r") as f:
        content = f.read()

    cleaned = Entry.clean_content(content, parser=bs4_parser())
    assert cleaned.replace("\n", "").strip() == "<div><p>Testing</p></div>"