Modulo corpus_admin
¶
Formularios¶
corpus_admin.forms¶
-
class
corpus_admin.forms.
AddDocumentDataForm
(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, field_order=None, use_required_attribute=None, renderer=None)¶ Bases:
django.forms.forms.Form
Clase encargada de generar de forma dinámica el formulario que permite agregar nuevos renglones a un documento particular del corpus
Atributos
- csv: Objeto de django forms que renderea un elemento input de html
- type
form.FileField
-
base_fields
= {'csv': <django.forms.fields.FileField object>}¶
-
declared_fields
= {'csv': <django.forms.fields.FileField object>}¶
-
property
media
¶
-
class
corpus_admin.forms.
DocumentEditForm
(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, field_order=None, use_required_attribute=None, renderer=None)¶ Bases:
django.forms.forms.Form
Clase encargada de generar de forma dinámica el formulario que permite modificar el nombre y el PDF de un documento existente
Atributos
placeholder: Variable que modifica el placeholder del input para el nuevo
- nombre del documento
- type
str
- nombre: Objeto de django forms que renderea un elemento input de html
- type
form.CharField
- pdf: Objeto de django forms que renderea un elemento input de html
- type
form.FileField
-
base_fields
= {'nombre': <django.forms.fields.CharField object>, 'pdf': <django.forms.fields.FileField object>}¶
-
declared_fields
= {'nombre': <django.forms.fields.CharField object>, 'pdf': <django.forms.fields.FileField object>}¶
-
property
media
¶
-
placeholder
= 'Ingresa el nuevo nombre del documento'¶
-
class
corpus_admin.forms.
NewDocumentForm
(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, field_order=None, use_required_attribute=None, renderer=None)¶ Bases:
django.forms.forms.Form
Clase encargada de generar de forma dinámica el formulario que permite cargar nuevos documentos al corpus
Atributos
- VARIANTS: Lista de variantes disponibles con el formato
(KEY, VALUE)
- type
list
- VARIANTS: Lista de variantes disponibles con el formato
- nombre: Objeto de django forms que renderea un elemento input de html
- type
form.CharField
- csv: Objeto de django forms que renderea un elemento input de html
- type
form.FileField
- pdf: Objeto de django forms que renderea un elemento input de html
- type
form.FileField
-
base_fields
= {'csv': <django.forms.fields.FileField object>, 'nombre': <django.forms.fields.CharField object>, 'pdf': <django.forms.fields.FileField object>}¶
-
declared_fields
= {'csv': <django.forms.fields.FileField object>, 'nombre': <django.forms.fields.CharField object>, 'pdf': <django.forms.fields.FileField object>}¶
-
property
media
¶
Funciones auxiliares¶
corpus_admin.helpers¶
-
corpus_admin.helpers.
check_extra_fields
(fields, full=False)¶ Revisa si existen campos adicionales a los default
- Parámetros
fields – Campos del usuario presentes en la cabecera del
csv
full – Bandera opcional si se requieren los campos completos. Por
- Type
list
ejemplo cuando se sube un respaldo de la base de datos :type: bool :return: Los campos adicionales encontrados si existen :rtype: set
-
corpus_admin.helpers.
csv_uploader
(csv_name, doc_name, pdf_file, doc_id='', extra_fields=False)¶ Función encargada de cargar nuevas líneas al corpus
Manipula los archivos mandados desde formulario y los carga al corpus de Tsunkua por medio del API de elasticsearch. Se espera que la primera columna del archivo csv sea el texto en español, la segunda columna sea el texto en otomí y la tercera columna sea la variante(s)
- Parámetros
csv_name – Nombre del archivo csv con el texto alineado
doc_name – Nombre del documento a cargar
pdf_file – Nombre del archivo PDF del documento
- Type
str
- Type
str
- Type
str
- Devuelve
Número de líneas cargadas al corpus
- Tipo del valor devuelto
int
-
corpus_admin.helpers.
csv_writer
(csv_file)¶ Escribe un archivo ``csv`` de forma temporal
Esta función escribe el
csv
en disco para posteriormente subirlo al indice deElasticsearch
- Parámetros
csv_file –
csv
enviado por medio del objetorequest
file_name – Nombre del archivo
csv
- Type
FileField
- Type
str
- Devuelve
True
si se guardo correctamente- Tipo del valor devuelto
bool
-
corpus_admin.helpers.
get_corpus_info
(request)¶ Función que obtiene la información general del corpus
Está función utiliza el framework de
Elasticsearch
llamado aggregations para obtener los ids del corpus. Con cada uno se obtienen los nombres de documentos, nombres de archivos y total:>>.- Devuelve
El total de documentos y una lista con información de los
documentos :rtype: int, list
-
corpus_admin.helpers.
get_document_info
(_id)¶ Obtiene información de un documento de Elasticsearch
Función encargada de obtener el nombre de documento, nombre del archivo asociado al documento e identificador por medio del id
- Parámetros
_id – Identificador del documento
- Type
str
- Devuelve
Diccionario con nombre, archivo e identificador
- Tipo del valor devuelto
dict
-
corpus_admin.helpers.
get_index_config
()¶
-
corpus_admin.helpers.
pdf_uploader
(file, name)¶ Función encargada de cargar y guardar el archivo pdf de un nuevo documento
- Parámetros
file –
pdf
enviado por medio del objetorequest
name – Nombre del archivo PDF
- Type
FileField
- Type
str
- Devuelve
Verdadero si se pudo cargar el archivo, falso en caso contrario
- Tipo del valor devuelto
bool
-
corpus_admin.helpers.
update_config
(config)¶ Actualiza las configuraciones locales de elasticsearch
-
corpus_admin.helpers.
update_index_name
(new_index_name)¶
Rutas del corpus_admin¶
Vistas del corpus_admin¶
corpus_admin.views¶
-
corpus_admin.views.
add_doc_data
(request, _id)¶ Vista que muestra un formulario para añadir líneas a un documento existente
- :param request: Objeto HttpRequets para pasar el estado de la app a
través del sistema
:type: HttpRequest
:param _id: identificador del documento a visualizar
:type: str
:return: Formulario para agregar líneas a un documento existente
-
corpus_admin.views.
delete_doc
(request)¶ Vista encargada de eliminar documentos del corpus
- :param request: Objeto HttpRequets para pasar el estado de la app a
través del sistema
:type: HttpRequest
-
corpus_admin.views.
doc_edit
(request, _id)¶ Vista que muestra el formulario para editar el nombre y pdf de un documento
- :param request: Objeto HttpRequets para pasar el estado de la app a
través del sistema
:type: HttpRequest
:param _id: Identificador de documento
:type: str
:return: Formulario para editar el nombre y pdf de un documento
-
corpus_admin.views.
doc_preview
(request, _id)¶ Vista que muestra el contenido de un documento particular
Muestra los renglones alineados que componen un documento en particular del corpus. Cada renglon tiene dos acciones, eliminar y editar.
- :param request: Objeto HttpRequets para pasar el estado de la app a
través del sistema
:type: HttpRequest
:param _id: identificador del documento a visualizar
:type: str
:return: Contenido de un documento
-
corpus_admin.views.
export_data
(request)¶ Vista que exporta la base de datos completa del índice
Vista llamada desde el botón de exportar en el administrador del corpus. Se genera un respaldo de la base de datos en formato
csv
con el que se puede restaurar en otro índice de Elasticsearch.- :param request: Objeto HttpRequets para pasar el estado de la app a
través del sistema
:type: HttpRequest
-
corpus_admin.views.
extra_fields
(request, csv_file_name, document_name, pdf_file_name)¶ Configura los campos extra detectados en un
CSV
- Parámetros
request (HttpRequest) – Objeto
HttpRequets
de Djangocsv_file_name (str) – Nombre del archivo
csv
document_name (str) – Nombre del documento
pdf_file_name (str) – Nombre del archivo
pdf
- Devuelve
Redirecciona a la vista de nuevo documento
- Tipo del valor devuelto
None
-
corpus_admin.views.
list_docs
(request)¶ Esta vista muestra todos los documentos que conforman el corpus paralelo
- :param request: Objeto HttpRequets para pasar el estado de la app a
través del sistema
:type: HttpRequest
:return: Lista de documentos del corpus con acciones por documento
-
corpus_admin.views.
new_doc
(request)¶ Vista que muestra el formulario para cargar nuevos documentos al corpus
Vista encargada de mostrar el formulario para agregar nuevo documentos al corpus. El documento se compone de archivo CSV alineado, PDF como portada del corpus y el nombre del archivo. En caso de éxito al subir el documento se redirige a la lista de documentos.
- :param request: Objeto HttpRequets para pasar el estado de la app a
través del sistema
:type: HttpRequest
:return: Vista con formulario para nuevos documentos