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")
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>"