|
@@ -14,7 +14,7 @@
|
|
|
from var_dump import var_dump
|
|
|
import json
|
|
|
from django.http import HttpResponse
|
|
|
-
|
|
|
+import xlrd
|
|
|
from django.views.generic import TemplateView
|
|
|
from django.views.decorators.csrf import csrf_exempt
|
|
|
from django.utils.decorators import method_decorator
|
|
@@ -30,16 +30,17 @@ class LangWordView(TemplateView):
|
|
|
def post(self, request, *args, **kwargs):
|
|
|
request.encoding = 'utf-8'
|
|
|
operation = kwargs.get('operation', None)
|
|
|
- request_dict = json.loads(request.body.decode('utf-8'))
|
|
|
- return self.validate(request_dict, operation)
|
|
|
+ # request_dict = json.loads(request.body.decode('utf-8'))
|
|
|
+ request_dict = request.POST
|
|
|
+ return self.validate(request, request_dict, operation)
|
|
|
|
|
|
def get(self, request, *args, **kwargs):
|
|
|
request.encoding = 'utf-8'
|
|
|
request_dict = request.GET
|
|
|
operation = kwargs.get('operation', None)
|
|
|
- return self.validate(request_dict, operation)
|
|
|
+ return self.validate(request, request_dict, operation)
|
|
|
|
|
|
- def validate(self, request_dict, operation):
|
|
|
+ def validate(self, request, request_dict, operation):
|
|
|
response = ResponseObject()
|
|
|
print('request_dict:', request_dict)
|
|
|
print('operation:', operation)
|
|
@@ -65,6 +66,8 @@ class LangWordView(TemplateView):
|
|
|
return self.do_query(request_dict, response, userID)
|
|
|
elif operation == 'reset':
|
|
|
return self.do_reset(request_dict, response, userID)
|
|
|
+ elif operation == 'add_new_lang':
|
|
|
+ return self.do_add_new_lang(request, request_dict, response, userID)
|
|
|
else:
|
|
|
return response.json(414)
|
|
|
else:
|
|
@@ -301,3 +304,34 @@ class LangWordView(TemplateView):
|
|
|
return response.json(10, "数据已重置")
|
|
|
else:
|
|
|
return response.json(404)
|
|
|
+
|
|
|
+ def do_add_new_lang(self, request, request_dict, response, userID):
|
|
|
+
|
|
|
+ file = request.FILES.get('file', None)
|
|
|
+ try:
|
|
|
+ data = file.read()
|
|
|
+ workbook = xlrd.open_workbook(file_contents=data)
|
|
|
+ worksheet = workbook.sheet_by_index(0)
|
|
|
+ ar_list = worksheet.col_values(1)
|
|
|
+ en_list = worksheet.col_values(2, 1)
|
|
|
+ lang_key_qs = LangKeyModel.objects.filter(type__in=(1, 3, 5, 7)).values('id', 'word_key')
|
|
|
+ now_time = int(time.time())
|
|
|
+ ar_result = []
|
|
|
+ err_key = []
|
|
|
+ for item in lang_key_qs:
|
|
|
+ try:
|
|
|
+ ar = ar_list[en_list.index(item['word_key'])+1]
|
|
|
+ ar_result.append(ar)
|
|
|
+ except ValueError:
|
|
|
+ err_key.append(item['word_key'])
|
|
|
+ continue
|
|
|
+ lang_val = LangValModel.objects.filter(la__id=27, lk__id=item['id'])
|
|
|
+ if lang_val.exists():
|
|
|
+ lang_val.update(word_val=ar, updTime=now_time)
|
|
|
+ else:
|
|
|
+ LangValModel.objects.create(lk_id=item['id'], la_id=27, word_val=ar, addTime=now_time, updTime=now_time)
|
|
|
+ print(ar_result)
|
|
|
+ print(err_key)
|
|
|
+ return response.json(0)
|
|
|
+ except Exception as e:
|
|
|
+ return response.json(404)
|