Este es el repositorio OFICIAL de LibreQDA: https://github.com/libreqda/libreQDA
Para mayor comodidad se recomienda utilizar un virtualenv.
- Instalar Virtualenv: (
sudo apt-get install python-virtualenv
en Debian/Ubuntu). - Una vez instalado, crear un Virtualenv:
virtualenv libreqda
. - Activar el Virtualenv:
cd libreqda
y luegosource bin/activate
.
Probablemente tengas que instalar git: sudo apt-get install git
Luego debes obtener el código de LibreQDA: git clone https://github.com/libreqda/libreQDA.git
.
Antes de poder comenzar es necesario instalar algunas dependencias.
- Instalar
build-essential
:sudo apt-get install build-essential
. - Instalar MySQL:
sudo apt-get install mysql-server libmysqlclient-dev libevent-dev libxml2-dev libxslt1-dev
. - El archivo
requirements.txt
contiene una lista de dependencias a instalar. Es posible instalar todas de forma automática con el comandocd libreQDA
pip install -r requirements.txt
.
Para poder extraer el texto de archivos ``docxes necesario instalar
python-docx`.
Obtener el código desde su repositorio en Github:git clone https://github.com/mikemaccana/python-docx.git
.Ir al directorio con el código:cd python-docx
.Instalar con:python setup.py install
.
- Crear una base de datos para LibreQDA. El encoding de la base de datos debe ser UTF-8 para evitar problemas al subir documentos.
mysql -u root -p
para activar mysql como usuario 'root' y solicitar contraseña de usuarioCREATE DATABASE libreqda CHARACTER SET utf8 COLLATE utf8_general_ci;
- Copiar el archivo
local_settings.py.template
que se encuentra junto al código alocal_settings.py
(en libreQDA/libreqda). - Abrir el nuevo archivo,
local_settings.py
y editar según sea necesario (cambiar 'USER' y 'PASSWORD' por los datos de usuario y contraseña de mysql ). - Crear la base de datos con django:
python manage.py syncdb
. Durante el proceso, se solicitará un nombre de usuario y contraseña, que serán los datos de acceso a tu instalación de libreQDA - Ejecutar con:
python manage.py runserver
Para actualizar LibreQDA simplemente es necesario hacer un pull del repositorio con git pull
y luego actualizar la base de datos con python manage.py reset libreqda
.
También es necesario actualziar las dependencias con: pip install -r requirements.txt
.
NOTA: Los datos son eliminados de la base de datos cuando se hace un reset
. Es posible utilizar
dumpdata
y
loaddata
para exportar e importar datos fácilmente.
FIXME: Ojo, hice un dumpdata y un loaddata y me da error: Problem installing fixture 'proyectos': dump is not a known serialization format.
Agregar soporte para otros tipos de archivos es relativamente simple. Existen dos archivos a modificar:
validators.py
: Contiene código para permitir o no la subida de un tipo de archivo en particular.text_extraction.py
: Contiene el código para extraer el texto de cada uno de los distintos tipos de archivo permitidos.
- Abrir el archivo
validators.py
. - En la tupla
SUPPORTED_FILETYPES
agregar unstring
con el tipo de archivo. Por ejemplo, para archivos Postscript, agregar'.ps'
a la tupla. - Abrir el archivo `tex_extraction.py.
- Agregar una nueva función con la extensión de archivo como nombre. Por ejemplo, para procesar archivos Postscript, agregar una función llamada
ps
.
La nueva función va a recibir un solo parámetro, siendo éste el path al nuevo archivo subido.
La función debe abrir el archivo y extraer el texto, para finalmente retornar un objeto del tipo string
con el contenido de archivo. Éste valor será el que se guarde en la base de datos.
Actualmente para determinar el tipo de archivo, LibreQDA se basa en la extensión. La dentificación de tipos de archivos debería realizarse utilizando python-magic
.