From 1eff33f3f7bac91e2ddb1c47eeeba0d0ebc0c614 Mon Sep 17 00:00:00 2001 From: wangruidong <940853815@qq.com> Date: Tue, 12 Dec 2023 10:32:42 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E5=90=8C=E5=90=8D=E6=96=87=E4=BB=B6=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/ops/api/job.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/apps/ops/api/job.py b/apps/ops/api/job.py index b3b421da4..41822b970 100644 --- a/apps/ops/api/job.py +++ b/apps/ops/api/job.py @@ -99,15 +99,15 @@ class JobViewSet(OrgBulkModelViewSet): lambda: run_ops_job_execution.apply_async((str(execution.id),), task_id=str(execution.id))) @staticmethod - def get_same_filenames(files): - filename_set = set() - same_filenames = [] + def get_duplicates_filenames(files): + seen = set() + duplicates = set() for file in files: - filename = file.name - if filename in filename_set: - same_filenames.append(filename) - filename_set.add(filename) - return same_filenames + if file in seen: + duplicates.add(file) + else: + seen.add(file) + return list(duplicates) @action(methods=[POST], detail=False, serializer_class=FileSerializer, permission_classes=[IsValidUser, ], url_path='upload') @@ -119,7 +119,7 @@ class JobViewSet(OrgBulkModelViewSet): msg = 'Upload data invalid: {}'.format(serializer.errors) return Response({'msg': msg}, status=400) - same_filenames = self.get_same_filenames(uploaded_files) + same_filenames = self.get_duplicates_filenames(uploaded_files) if same_filenames: return Response({'msg': _("Duplicate file exists")}, status=400)