From 7c63c76d4a6b4fe0769c341a636b4766035d7110 Mon Sep 17 00:00:00 2001 From: RogerWork Date: Thu, 12 Mar 2026 09:23:17 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=89=8B=E5=8A=A8=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E5=AE=A2=E6=88=B7=E7=AB=AF=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- update/urls.py | 1 + update/utils/client_util_custom.py | 1 + update/views.py | 18 ++++++++++++------ 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/update/urls.py b/update/urls.py index 2496631..3573e01 100644 --- a/update/urls.py +++ b/update/urls.py @@ -30,6 +30,7 @@ urlpatterns = [ path('', include(router.urls)), path('update_user/', update_user), path('get_git_version/', get_git_version), + path('get_client/', get_client), path('get_operation_cmd/', get_operation_cmd), path('update_cine/', update_cine), # re_path(r'^cinema/search/ip/(?P[0-9.]*?)/version/(?P[\S]*?)/$', views.CinemaSearchAPIView.as_view()) diff --git a/update/utils/client_util_custom.py b/update/utils/client_util_custom.py index d2494c7..5676969 100644 --- a/update/utils/client_util_custom.py +++ b/update/utils/client_util_custom.py @@ -59,6 +59,7 @@ class ClientUtilCustom: self.smb_disconnect() # 关闭数据库 db_conn.close() + return self.client_data def handle_client_data_format(self, client_data_list): diff --git a/update/views.py b/update/views.py index ee6ca54..16faab3 100644 --- a/update/views.py +++ b/update/views.py @@ -74,10 +74,12 @@ class UpdateAlterViewSet(CacheResponseMixin, viewsets.ModelViewSet): queryset = UpdateAlter.objects.all() serializer_class = UpdateAlterSerializer + class ClientReleaseViewSet(CacheResponseMixin, viewsets.ModelViewSet): queryset = ClientRelease.objects.filter(is_cached=True).order_by('-id').all() serializer_class = ClientReleaseSerializer + # class CinemaSearchAPIView(APIView, CacheResponseMixin): # @method_decorator(cache_page(60 * 5)) # def get(self, request, *args, **kwargs): @@ -111,11 +113,15 @@ def get_git_version(request): return JsonResponse(serializer.data, safe=False) +def get_client(request): + client_data = ClientUtilCustom().sync_client_db() + return JsonResponse(client_data, safe=False) + def update_cine(request): req = request.GET.dict() cinema_ip = req.get('ip') client_ver = req.get('client_ver') - print('-'*100) + print('-' * 100) print(f'开始更新 {cinema_ip}') # 获取当前版本 @@ -131,7 +137,7 @@ def update_cine(request): cmd_dict[cmd['process']].append(cmd['id']) else: cmd_dict[cmd['process']] = [cmd['id']] - print("cmd_dict",cmd_dict) + print("cmd_dict", cmd_dict) # 增加状态 update_status = { @@ -177,7 +183,7 @@ def update_cine(request): redis_conn.set(redis_key, json.dumps(update_status), 5 * 60) # 获取并写入cine.sql - print('-'*20, '步骤一:获取并写入cine.sql', '-'*20) + print('-' * 20, '步骤一:获取并写入cine.sql', '-' * 20) try: update_status['git']['result'] = 'running' redis_conn.set(redis_key, json.dumps(update_status), 5 * 60) @@ -200,7 +206,7 @@ def update_cine(request): return JsonResponse({'result': 'fail', 'ip': cinema_ip, 'msg': str(e)}) # 执行setup - print('-'*20, '步骤二:执行setup', '-'*20) + print('-' * 20, '步骤二:执行setup', '-' * 20) try: update_status['setup']['result'] = 'running' redis_conn.set(redis_key, json.dumps(update_status), 5 * 60) @@ -229,7 +235,7 @@ def update_cine(request): # 数据库对比 sql_list = list(set(cmd_list) & set(cmd_dict['sql'])) if len(sql_list) > 0: - print('-'*20, '步骤三:数据库对比', '-'*20) + print('-' * 20, '步骤三:数据库对比', '-' * 20) try: update_status['sql']['result'] = 'running' redis_conn.set(redis_key, json.dumps(update_status), 5 * 60) @@ -263,7 +269,7 @@ def update_cine(request): return JsonResponse({'result': 'fail', 'ip': cinema_ip, 'msg': str(e)}) # 修改设置 - print('-'*20, '第四步:执行config(teardown前)', '-'*20) + print('-' * 20, '第四步:执行config(teardown前)', '-' * 20) try: update_status['config']['result'] = 'running' redis_conn.set(redis_key, json.dumps(update_status), 5 * 60)