[MIG] html_text: Migration to 13.0

pull/2590/head
Víctor Martínez 2021-02-19 10:52:54 +01:00 committed by dsolanki
parent f5cab2b92f
commit 8f3b44bdac
7 changed files with 40 additions and 6 deletions

View File

@ -24,7 +24,6 @@ examples and read the docs inside the code.
Python example:: Python example::
@api.multi
def some_method(self): def some_method(self):
# Get truncated text from an HTML field. It will 40 words and 100 # Get truncated text from an HTML field. It will 40 words and 100
# characters at most, and will have "..." appended at the end if it # characters at most, and will have "..." appended at the end if it

View File

@ -4,7 +4,7 @@
{ {
"name": "Text from HTML field", "name": "Text from HTML field",
"summary": "Generate excerpts from any HTML field", "summary": "Generate excerpts from any HTML field",
"version": "12.0.1.0.0", "version": "13.0.1.0.0",
"category": "Tools", "category": "Tools",
"website": "https://github.com/OCA/server-tools", "website": "https://github.com/OCA/server-tools",
"author": "Grupo ESOC Ingeniería de Servicios, " "author": "Grupo ESOC Ingeniería de Servicios, "
@ -14,6 +14,6 @@
"license": "AGPL-3", "license": "AGPL-3",
"application": False, "application": False,
"installable": True, "installable": True,
"external_dependencies": {"python": ["lxml",],}, "external_dependencies": {"python": ["lxml"]},
"depends": ["base",], "depends": ["base"],
} }

View File

@ -0,0 +1,6 @@
* Dennis Sluijk <d.sluijk@onestein.nl>
* `Tecnativa <https://www.tecnativa.com>`_:",
* Jairo Llopis
* Vicent Cubells
* Víctor Martínez

View File

@ -0,0 +1,7 @@
This module provides some technical features that allow to extract text from
any chunk of HTML, without HTML tags or attributes. You can chose either:
* To truncate the result by amount of words or characters.
* To append an ellipsis (or any character(s)) at the end of the result.
It can be used to easily generate excerpts.

View File

@ -0,0 +1,2 @@
* An option could be added to try to respect the basic HTML tags inside the
excerpt (``<b>``, ``<i>``, ``<p>``, etc.).

View File

@ -0,0 +1,21 @@
This module just adds a technical utility, but nothing for the end user.
If you are a developer and need this utility for your module, see these
examples and read the docs inside the code.
Python example::
def some_method(self):
# Get truncated text from an HTML field. It will 40 words and 100
# characters at most, and will have "..." appended at the end if it
# gets truncated.
truncated_text = self.env["ir.fields.converter"].text_from_html(
self.html_field, 40, 100, "...")
QWeb example::
<t t-esc="env['ir.fields.converter'].text_from_html(doc.html_field)"/>
.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
:alt: Try me on Runbot
:target: https://runbot.odoo-community.org/runbot/149/11.0

View File

@ -7,7 +7,7 @@ from odoo.tools import mute_logger
class ExtractorCase(TransactionCase): class ExtractorCase(TransactionCase):
def setUp(self): def setUp(self):
super(ExtractorCase, self).setUp() super().setUp()
# Shortcut # Shortcut
self.text_from_html = self.env["ir.fields.converter"].text_from_html self.text_from_html = self.env["ir.fields.converter"].text_from_html
@ -24,7 +24,6 @@ class ExtractorCase(TransactionCase):
</body> </body>
</html> </html>
""" """
self.assertEqual( self.assertEqual(
self.text_from_html(html), self.text_from_html(html),
u"I'm a title I'm a paragraph ¡Pues yo soy español!", u"I'm a title I'm a paragraph ¡Pues yo soy español!",