Conjunto de cambios 0adbe8b en modelado_topicos para topic_explorer/views.py


Ignorar:
Fecha y hora:
14/02/2017 12:50:05 (hace 7 años)
Autor:
rudmanmrrod <rudman22@…>
Branches:
master, v1.0
Children:
dba583e
Parents:
0a59649
Mensaje:

Agregado pre-procesamiento vía web

Fichero:
1 editado

Leyenda

No modificado
Añadido
Eliminado
  • topic_explorer/views.py

    r0a59649 r0adbe8b  
    1 # coding: utf-8
     1# -*- coding: utf-8 -*-
     2"""
     3Sistema de Modelado de Tópicos
     4
     5Copyleft (@) 2014 CENDITEL nodo Mérida - https://planificacion.cenditel.gob.ve/trac/
     6"""
     7## @package django_topic_explorer.topic_explorer
     8#
     9# Métodos de la Vista, para visualizar los tópicos
     10# @author Jorge Redondo (jredondo at cenditel.gob.ve)
     11# @author <a href='http://www.cenditel.gob.ve'>Centro Nacional de Desarrollo e Investigación en Tecnologías Libres
     12# (CENDITEL) nodo Mérida - Venezuela</a>
     13# @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     14# @version 1.3
    215
    316from django.shortcuts import render
     
    518from django.conf import settings
    619
    7 from django.http import HttpResponse, HttpResponseRedirect, HttpResponseServerError, StreamingHttpResponse
     20from django.http import HttpResponse, HttpResponseServerError
    821
    922import json
    1023
    11 from utils import colorlib
    1224from utils.ldac2vsm import *
    1325from utils.json_data import *
    14 import itertools
    15 from vsm.corpus import Corpus
    16 from vsm.model.ldacgsmulti import LdaCgsMulti as LCM
     26#from vsm.corpus import Corpus
     27#from vsm.model.ldacgsmulti import LdaCgsMulti as LCM
    1728from vsm.viewer.ldagibbsviewer import LDAGibbsViewer as LDAViewer
    1829from vsm.viewer.wrappers import doc_label_name
    19 from django.core import serializers
    2030
    2131from django.views.generic import TemplateView
     
    2535import csv
    2636
    27 from django.utils.safestring import mark_safe
    2837from django_topic_explorer.settings import FILES_PATH
    29 
    3038from django_topic_explorer.settings import LDA_DATA_PATH
    3139from django_topic_explorer.settings import LDA_CORPUS_FILE
     
    3543
    3644#path = settings.PATH
    37 corpus_file = settings.CORPUS_FILE
     45#corpus_file = settings.CORPUS_FILE
    3846#context_type = settings.CONTEXT_TYPE
    3947context_type = 'propesta'
     
    4149topics = settings.TOPICS
    4250#corpus_name = settings.CORPUS_NAME
    43 icons = settings.ICONS
    4451
    4552corpus_link = settings.CORPUS_LINK
     
    6572
    6673def dump_exception():
     74    """!
     75    Función para captar los errores e imprimirlos
     76
     77    @author Jorge Redondo (jredondo at cenditel.gob.ve)
     78    @copyright GNU/GPLv2
     79    @param request <b>{object}</b> Objeto que mantiene la peticion
     80    @return Retorna una respuesta http con el error
     81    """
    6782    import sys,traceback
    6883    exc_type, exc_value, exc_traceback = sys.exc_info()
     
    7590
    7691def doc_topic_csv(request, doc_id):
     92    """!
     93    Función para retornar un documento en csv
     94
     95    @author Jorge Redondo (jredondo at cenditel.gob.ve)
     96    @copyright GNU/GPLv2
     97    @param request <b>{object}</b> Objeto que mantiene la peticion
     98    @param doc_id <b>{string}</b> Recibe el número del documento
     99    @return Retorna los datos del documento
     100    """
    77101    global lda_v
    78102    try:
     
    89113
    90114def doc_csv(request, k,doc_id,threshold=0.2):
     115    """!
     116    Función para retornar la data de los tópicos en csv
     117
     118    @author Jorge Redondo (jredondo at cenditel.gob.ve)
     119    @copyright GNU/GPLv2
     120    @param request <b>{object}</b> Objeto que mantiene la peticion
     121    @param k <b>{int}</b> Recibe el número de tópicos a mostrar
     122    @param doc_id <b>{string}</b> Recibe el número de tópicos
     123    @param threshold <b>{int}</b> Recibe el limite estadístico
     124    @return Retorna el render de la vista
     125    """
    91126    global k_param, lda_c, lda_m, lda_v
    92127    try:
     
    98133                               LDA_CORPUS_DIR)
    99134            lda_v = LDAViewer(lda_c, lda_m)
    100         #lda_m = LCM.load(model_pattern.format(k_param))
    101         #lda_v = LDAViewer(lda_c, lda_m)
    102135        data = lda_v.sim_doc_doc(doc_id)
    103136
     
    112145
    113146def topic_json(request,k,topic_no, N=40):
     147    """!
     148    Función para retornar la data de los tópicos en json
     149
     150    @author Jorge Redondo (jredondo at cenditel.gob.ve)
     151    @copyright GNU/GPLv2
     152    @param request <b>{object}</b> Objeto que mantiene la peticion
     153    @param k <b>{int}</b> Recibe el número de tópicos a mostrar
     154    @param topic_no <b>{string}</b> Recibe el número de tópicos
     155    @param N <b>{int}</b> Recibe la cantidad
     156    @return Retorna el render de la vista
     157    """
    114158    global k_param, lda_c, lda_m, lda_v
    115159    try:
     
    121165                               LDA_CORPUS_DIR)
    122166            lda_v = LDAViewer(lda_c, lda_m)
    123         #global lda_v
    124         #lda_m = LCM.load(model_pattern.format(k_param))
    125         #lda_v = LDAViewer(lda_c, lda_m)
    126167        try:
    127168            N = int(request.query.n)
     
    148189
    149190def doc_topics(request,doc_id, N=40):
     191    """!
     192    Función para retornar la data de los documentos en json
     193
     194    @author Jorge Redondo (jredondo at cenditel.gob.ve)
     195    @copyright GNU/GPLv2
     196    @param request <b>{object}</b> Objeto que mantiene la peticion
     197    @param doc_id <b>{string}</b> Recibe el número del documento
     198    @param N <b>{int}</b> Recibe la cantidad
     199    @return Retorna el render de la vista
     200    """
    150201    global lda_v
    151202    try:
     
    167218   
    168219def topics(request):
     220    """!
     221    Función para servir los tópicos como un json
     222
     223    @author Jorge Redondo (jredondo at cenditel.gob.ve)
     224    @copyright GNU/GPLv2
     225    @param request <b>{object}</b> Objeto que mantiene la peticion
     226    @return Retorna el objeto json
     227    """
    169228    global lda_v
    170229    try:
    171         #lda_c,lda_m = corpus_model(k_param,LDA_DATA_PATH.format(k_param),
    172         #                       LDA_CORPUS_FILE,
    173         #                       LDA_VOCAB_FILE,
    174         #                       LDA_CORPUS_DIR)
    175         #lda_v = LDAViewer(lda_c, lda_m)
    176230        js=populateJson(lda_v)
    177231        return HttpResponse(json.dumps(js))
     
    181235
    182236def docs(request):
     237    """!
     238    Función para servir los documentos como un json
     239
     240    @author Jorge Redondo (jredondo at cenditel.gob.ve)
     241    @copyright GNU/GPLv2
     242    @param request <b>{object}</b> Objeto que mantiene la peticion
     243    @return Retorna el objeto json
     244    """
    183245    global lda_v
    184246    try:
    185         #lda_c,lda_m = corpus_model(k_param,LDA_DATA_PATH.format(k_param),
    186         #                       LDA_CORPUS_FILE,
    187         #                       LDA_VOCAB_FILE,
    188         #                       LDA_CORPUS_DIR)
    189         #lda_v = LDAViewer(lda_c, lda_m)
    190247        docs = lda_v.corpus.view_metadata(context_type)[doc_label_name(context_type)]
    191248        js = list()
     
    201258
    202259def index(request):
    203     try:
    204         #global lda_m,lda_v
    205         #lda_m = LCM.load(model_pattern.format(10))
    206         #lda_v = LDAViewer(lda_c, lda_m)
     260    """!
     261    Función para visualizar el index del proyecto
     262
     263    @author Jorge Redondo (jredondo at cenditel.gob.ve)
     264    @copyright GNU/GPLv2
     265    @param request <b>{object}</b> Objeto que mantiene la peticion
     266    @return Retorna el render de la vista
     267    """
     268    try:
    207269        template_name = 'topic_explorer/index.html'
    208270        return render(request,template_name,
    209271            {'filename':None,
    210              #'corpus_name' : corpus_name,
    211272             'corpus_link' : corpus_link,
    212273             'context_type' : context_type,
     
    218279
    219280def visualize(request,k,filename=None,topic_no=None):
     281    """!
     282    Función para visualizar los tópicos
     283
     284    @author Jorge Redondo (jredondo at cenditel.gob.ve)
     285    @copyright GNU/GPLv2
     286    @param request <b>{object}</b> Objeto que mantiene la peticion
     287    @param k <b>{int}</b> Recibe el número de tópicos a mostrar
     288    @param filename <b>{string}</b> Recibe el nombre del  archivo
     289    @param topic_no <b>{int}</b> Recibe el número de tópico
     290    @return Retorna el render de la vista
     291    """
    220292    global k_param,lda_c,lda_m,lda_v
    221293    try:
     
    227299                               LDA_CORPUS_DIR)
    228300            lda_v = LDAViewer(lda_c, lda_m)
    229         #lda_m = LCM.load(model_pattern.format(k_param))
    230         #lda_v = LDAViewer(lda_c, lda_m)
    231301        template_name = 'topic_explorer/index.html'
    232302        return render(request,template_name,
     
    234304             'k_param':k_param,
    235305             'topic_no':topic_no,
    236              #'corpus_name' : corpus_name,
    237306             'corpus_link' : corpus_link,
    238307             'context_type' : context_type,
     
    244313
    245314class IrTopic(TemplateView):
     315    """!
     316    Clase que permite la visualización de un archivo en particular
     317    @author Rodrigo Boet (rboet at cenditel.gob.ve)
     318    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     319    @date 31-07-2015
     320    """
     321   
    246322    template_name='topic_explorer/verTopico.html'
     323   
     324   
    247325    def get(self, request, propuesta = None):
     326        """!
     327        Metodo que permite procesar las peticiones por get, con el fin de mostrar el documento
     328   
     329        @author Rodrigo Boet (rboet at cenditel.gob.ve)
     330        @copyright GNU/GPLv2
     331        @date 31-07-2015
     332        @param self <b>{object}</b> Objeto que instancia el método
     333        @param request <b>{object}</b> Objeto que mantiene la peticion
     334        @param propuesta <b>{int}</b> Recibe el número de la propuesta
     335        @return Retorna el render de la vista
     336        """
    248337        global lda_v
    249         #global k_param
    250         #lda_c,lda_m = corpus_model(k_param,LDA_DATA_PATH.format(k_param),
    251         #                       LDA_CORPUS_FILE,
    252         #                       LDA_VOCAB_FILE,
    253         #                       LDA_CORPUS_DIR)
    254         #lda_v = LDAViewer(lda_c, lda_m)
    255338        #Obtnener json
    256339        Topic_Json = populateJson(lda_v)
     
    266349        mi_color = json.dumps(mi_color)
    267350        topicos = json.dumps(topicos)
    268         #print topicos
    269351        #carga el pre-procesado del archivo en una variable
    270352        texto=''
     
    285367   
    286368    def obtenerValores(self,topicos):#funcion para obtener los colores del json
     369        """!
     370        Metodo para obtener los colores del json
     371   
     372        @author Rodrigo Boet (rboet at cenditel.gob.ve)
     373        @copyright GNU/GPLv2
     374        @date 31-07-2015
     375        @param self <b>{object}</b> Objeto que instancia el método
     376        @param topicos <b>{dict}</b> Recibe un diccionario con los topicos
     377        @return Retorna un diccionario con los colores
     378        """
    287379        my_topic=[]
    288380        for x in topicos:
     
    291383   
    292384    def obtenerDocumento(self,docs,propuesta):
    293         #document = {}
     385        """!
     386        Metodo para obtener un documento
     387   
     388        @author Rodrigo Boet (rboet at cenditel.gob.ve)
     389        @copyright GNU/GPLv2
     390        @date 03-02-2016
     391        @param self <b>{object}</b> Objeto que instancia el método
     392        @param docs <b>{dict}</b> Recibe un diccionario con los documentos
     393        @param propuesta <b>{int}</b> Recibe el número de la propuesta
     394        @return Retorna un diccionario con los colores
     395        """
    294396        for x in docs:
    295397            if(x['doc']==propuesta):
Nota: Vea TracChangeset para ayuda en el uso del visor de conjuntos de cambios.