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 http://www.gnu.org/licenses/.
Para mayor comodidad se recomienda utilizar un virtualenv.
sudo apt-get install python-virtualenv
en Debian/Ubuntu).virtualenv libreqda
.cd libreqda
y luego source 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.
build-essential
: sudo apt-get install build-essential
.sudo apt-get install mysql-server libmysqlclient-dev libevent-dev libxml2-dev libxslt1-dev
.requirements.txt
contiene una lista de dependencias a instalar. Es posible instalar todas de forma automática con el comando pip install -r requirements.txt
.Para poder extraer el texto de archivos `docx
es necesario instalar python-docx
.
git clone https://github.com/mikemaccana/python-docx.git
.cd python-docx
.python setup.py install
.CREATE DATABASE libreqda CHARACTER SET utf8 COLLATE utf8_general_ci;
local_settings.py.template
que se encuentra junto al código a local_settings.py
.local_settings.py
y editar según sea necesario.python manage.py syncdb
.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.validators.py
.SUPPORTED_FILETYPES
agregar un string
con el tipo de archivo. Por ejemplo, para archivos Postscript, agregar '.ps'
a la tupla.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
.