Commit 4e827ba4 authored by 钟尚武's avatar 钟尚武

Merge branch 'shangwu/hotfix-tag-set' into 'master'

新增标签词集功能

See merge request alpha/sun!341
parents 4e374248 a7598508
......@@ -6,6 +6,7 @@
import json
from utils.base import APIView, get_offset_count
from utils.logger import error_logger
from alpha_types.venus.error import ERROR
class TagListView(APIView):
......@@ -48,7 +49,7 @@ class TagUpdateOrCreateView(APIView):
return {'data': data}
def post(self, request):
id = request.POST.get('id')
down_tags = list(set(map(lambda x: x.split(":")[0], json.loads((request.POST.get('down_tags', '[]'))))))
up_tags = list(set(map(lambda x: x.split(":")[0], json.loads((request.POST.get('up_tags', '[]'))))))
......@@ -246,3 +247,74 @@ class SearchDefaultKeyword(APIView):
error_logger.error(u'更新搜索默认关键字失败%s', e)
raise
return data
class TagSetListView(APIView):
def get(self, request):
offset = int(request.GET.get('offset', 1))
limit = int(request.GET.get('limit', 10))
q = request.GET.get('q', "")
type_ = request.GET.get('type', "")
try:
data = self.rpc['venus/sun/tag_set/list'](offset=(offset - 1) * limit, limit=limit, q=q, type_=type_).unwrap()
except Exception as e:
error_logger.error(u'获取词集列表失败%s', e)
raise
return data
class TagSetDeleteView(APIView):
def post(self, request):
tag_set_id = request.POST.get("id")
try:
data = self.rpc['venus/sun/tag_set/delete'](tag_set_id=tag_set_id).unwrap()
except Exception as e:
error_logger.error(u'删除词集失败%s', e)
raise
return {
"message": "删除成功",
"code": 200
}
class TagSetUpdateOrCreateView(APIView):
def post(self, request):
tag_set_id = int(request.POST.get("id", 0) or 0)
name = request.POST.get("name", "")
tag_ids = json.loads(request.POST.get("tag_ids", '[]'))
if tag_set_id:
try:
data = self.rpc['venus/sun/tag_set/update'](tag_set_id=tag_set_id, name=name, tag_ids=tag_ids).unwrap()
except Exception as e:
if e.error == ERROR.TAG_SET_HAD_EXIST:
return {
'message': e.message,
'code': 500
}
else:
error_logger.error(u'更新词集失败%s', e)
raise
return {
"message": "更新成功",
"code": 200
}
else:
try:
data = self.rpc['venus/sun/tag_set/create'](name=name, tag_ids=tag_ids).unwrap()
except Exception as e:
if e.error == ERROR.TAG_SET_HAD_EXIST:
return {
'message': e.message,
'code': 500
}
else:
error_logger.error(u'创建词集失败%s', e)
raise
return {
"message": "创建成功",
"code": 200
}
......@@ -110,6 +110,10 @@ urlpatterns = [
url(r'^tag/tagtype/create$', TagTypeUpdateOrCreateView.as_view()),
url(r'^tag/tagtype/detail$', TagTypeUpdateOrCreateView.as_view()),
url(r'^tag_set/list$', TagSetListView.as_view()),
url(r'^tag_set/create$', TagSetUpdateOrCreateView.as_view()),
url(r'^tag_set/delete$', TagSetDeleteView.as_view()),
# 扫脸相关
url(r'^face/star/create$', FaceStarEdit.as_view()),
url(r'^face/star/list$', StarListView.as_view()),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment