Copyright (C) 2013 Tryolabs
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.
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/tryolabs/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 comandopip 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.
CREATE 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
. - Abrir el nuevo archivo,
local_settings.py
y editar según sea necesario. - Crear la base de datos con django:
python manage.py syncdb
. - 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
.