import os
from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage
from django.http import HttpResponse
from django.shortcuts import render
from django.template import Template, Context
from hanlp import *
import jiagu
from index.models import WeiboData
# class testClass:
# def Web_name(self):
# return "这是一个类"
#
#
# def return_hello():
# return "欢迎来到C语言中文网"
#
#
# def test_html(request):
# a = {'name': '大西瓜',
# 'course': ['Python', 'Java', 'C++'],
# 'b': {"name": "fuckyou", "address": "映雪三208"},
# 'test_hello': return_hello(),
# 'class_obj': testClass()
# }
# return render(request, 'testHtml.html', a)
#
#
# def test_if(request):
# dic = {'x': -5}
# return render(request, 'testIf.html', dic)
#
#
# def test_Web(request):
# t = Template(
# """
# {% if web.name == 'C语言中文网' %}
# {% if printable %}
#
{{ printable }}
# Hello C语言中文网
# {% else %}
# {{ printable }}
# 欢迎您下次访问
# {% endif %}
# {% endif %}
# """)
# # Context必须是字典类型的对象,用于给模板传递数据
# c = Context({'web': {'name': "C语言中文网"}, 'printable': True})
# html = t.render(c)
# return HttpResponse(html)
#
#
# def test_for(request):
# dic = {'list': ["XMU", "PKU", "TSU"]}
# return render(request, 'testFor.html', dic)
#
#
# def test_url(request):
# return render(request, 'test_url.html')
#
#
# def weibodataShow(request):
# weibodataList = WeiboData.objects.all()
# paginator = Paginator(weibodataList, 20)
# totalPages = paginator.num_pages
# page = request.GET.get('page')
# datalist = []
# if page:
# datalist = paginator.page(page).object_list
# else:
# datalist = paginator.page(1).object_list
# page = 1
#
# try:
# page_object = paginator.page(page)
# except PageNotAnInteger:
# page_object = paginator.page(1)
# except EmptyPage:
# page_object = paginator.page(paginator.num_pages)
# return render(request, 'weiboDataShow.html', {
# 'page_object': page_object,
# 'data_list': datalist,
# 'page': page,
# 'total': totalPages
# })
def index(request):
weibodataList = WeiboData.objects.all()[:1000]
return render(request, 'index.html', {
'data_list': weibodataList,
})
# def returnImage(request):
# selected = request.GET.get('cluster')
# if selected is not None:
# imgUrl = 'images/cluster=' + selected + ".png"
# else:
# imgUrl = ''
# return render(request, 'clusterResult.html', {
# 'imgUrl': imgUrl,
# 'currentOption': selected
# })
# def returnWordCloudImg(request):
# selected = request.GET.get('type')
# print(selected)
# if selected is not None:
# imgUrl = 'images/wordCloud' + selected + ".png"
# else:
# imgUrl = ''
# return render(request, 'wordCloud.html', {
# 'imgUrl': imgUrl,
# 'currentOption': selected
# })
def goToCountLDA(request):
return render(request, 'count_lda_pass5.html')
def goToTFIDF(request):
return render(request, 'tfidf_lda_pass5.html')
# def getText(request):
# request.encoding='utf-8'
#
# ctx ={}
#
# if request.POST.get('q'):
# text = request.POST.get('q')
# else:
# text=' '
#
# ctx['input'] =text
#
# #hanlp 命名实体识别
# segment = HanLP.newSegment()
# hanlp = segment.seg(text)
# print(hanlp)
# hanlpNer = {}
# hPname = []
# hLname = []
# hIname = []
# for i in hanlp:
# strN = str(i)
# res = strN.split("/")
# hanlpNer[res[0]] = res[1]
# for key in hanlpNer:
# temp = hanlpNer.get(key)
# if temp.startswith('nr'):
# hPname.append(key)
# if temp.startswith('ns'):
# hLname.append(key)
# if temp.startswith('ni') or temp.startswith('nt'):
# hIname.append(key)
# ctx['hPname'] = hPname
# ctx['hLname'] = hLname
# ctx['hIname'] = hIname
#
# #jiagu
# words = jiagu.seg(text) # 分词
# print(words)
# pos = jiagu.pos(words) # 词性标注
# print(pos)
# ner = jiagu.ner(words) # 命名实体识别
# print(ner)
# knowledge = jiagu.knowledge(text) #关系抽取
# print(knowledge)
# relationExtraction = []
# for i in knowledge:
# strR = ''
# strR = strR+str(i[0])+'的'+str(i[1])+'是'+str(i[2])
# relationExtraction.append(strR)
#
#
# dictionary = dict(zip(words,ner))
# Pname = []
# Lname = []
# Iname = []
#
# for key in dictionary:
# if dictionary.get(key) == 'B-PER' or dictionary.get(key) == 'B-IER':
# Pname.append(key)
# if dictionary.get(key) == 'B-LOC' or dictionary.get(key) == 'I-LOC':
# Lname.append(key)
# if dictionary.get(key) == 'B-ORG' or dictionary.get(key) == 'I-ORG':
# Iname.append(key)
# ctx['Pname'] = Pname
# ctx['Lname'] = Lname
# ctx['Iname'] = Iname
#
# if request.POST:
# ctx['text'] = request.POST['q']
# ctx['views_list'] = relationExtraction
#
# return render(request, "get_form.html", ctx)
def goToSentiment(request):
return render(request, 'sentiment.html')