pyterato

Python application to lint Spanish literary language from LibreOffice


License
GPL-3.0
Install
pip install pyterato==0.6.0

Documentation

(Spanish language, since this script is intended for writers, tldr; this is an OpenOffice linter for Spanish literary language).

Intro

Pyterato es un sencillo script que comprueba errores comunes en textos literarios en Espa帽ol.

Instalaci贸n

Compilador de D

Pyterato implementa los chequeos en el lenguage de programaci贸n D. 脡sto permite incrementar el rendimiento 24 veces m谩s sobre el nativo en Python, de modo que para poder instalarlo antes hay que tener el compilador de D, llamado "dmd" en el sistema.

Puedes descargar el compilador en esta web:

https://dlang.org/download.html

Despu茅s ya puedes instalar Pyterato con:

pip3 install pyterato

Para que pueda analizar textos de una instancia abierta de Open/LibreOffice, hay que instalar varias dependencias relaccionadas con el mismo. En Ubuntu eso se har铆a de la siguiente forma:

sudo apt install libreoffice libreoffice-script-provider-python uno-libs3 python3-uno python3

pip3 install unotools

Uso

Opci贸n 1: Fichero de texto plano

  • Ejecuta: pyterato [nombre_de_fichero.txt].

Tambi茅n puede leer de la entrada est谩ndar:

cat fichero.txt | pyterato

Opci贸n 2: LibreOffice

  • Abre LibreOffice con el siguiente comando:
soffice --accept='socket,host=localhost,port=8100;urp;StarOffice.Service'
  • En LibreOffice, abre el documento que quieres examinar.

  • Ejecuta pyterato --libreoffice (con Python3):

Sobre los resultados

Considera la mayor铆a de los mensajes como advertencias o consejos; actualmente el script est谩 en un estado muy inicial y simplemente comprueba usos de palabras (no tiene a煤n procesado de lenguaje natural) por lo que en muchas ocasiones producir谩 falsos positivos. Usa tu sentido com煤n para determinar si las correcciones indicadas se aplican al texto.

Problemas

Si al ejecutarlo te da un error similar a 茅ste:

Traceback (most recent call last):
  File "cli.py", line 9, in <module>
    import uno
  File "/usr/local/lib/python3.6/dist-packages/uno/__init__.py", line 4, in <module>
    from base import Element, Css, Payload, UnoBaseFeature, UnoBaseField
ModuleNotFoundError: No module named 'base'

Sigue estos pasos:

  1. Desistala los m贸dulos uno y unotools de pip:

pip3 uninstall uno unotools

  1. Instala o reinstala los paquetes de tu distribuci贸n (ver m谩s arriba para Ubuntu). Si usas apt, a帽ade el par谩metro --reinstall.

  2. Reinstala el paquete:

pip3 install pyterato