Skip to content

Commit 03c5898

Browse files
committed
fix(scenes): fixed my_scenes sort to handle None values safely
1 parent 9208b85 commit 03c5898

1 file changed

Lines changed: 14 additions & 8 deletions

File tree

users/views.py

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -502,9 +502,10 @@ def list_my_namespaces(request):
502502
merged_list = edit_namespaces + view_namespaces
503503
merged_dict = {}
504504
for entry in merged_list:
505-
merged_dict[entry["name"]] = {"name": entry["name"]}
505+
if entry.get("name"):
506+
merged_dict[entry["name"]] = {"name": entry["name"]}
506507

507-
output_list = sorted(list(merged_dict.values()), key=lambda d: d.get("name") or "")
508+
output_list = sorted(list(merged_dict.values()), key=itemgetter("name"))
508509
return JsonResponse(output_list, safe=False)
509510

510511

@@ -532,9 +533,10 @@ def list_my_scenes(request):
532533
merged_list = edit_scenes + view_scenes
533534
merged_dict = {}
534535
for entry in merged_list:
535-
merged_dict[entry["name"]] = {"name": entry["name"]}
536+
if entry.get("name"):
537+
merged_dict[entry["name"]] = {"name": entry["name"]}
536538

537-
output_list = sorted(list(merged_dict.values()), key=lambda d: d.get("name") or "")
539+
output_list = sorted(list(merged_dict.values()), key=itemgetter("name"))
538540
return JsonResponse(output_list, safe=False)
539541

540542

@@ -577,7 +579,8 @@ def get_my_edit_namespaces(user, version):
577579
for ns in ns_out:
578580
ns["account"] = ns["name"] in existing_users
579581

580-
return sorted(ns_out, key=lambda d: d.get("name") or "")
582+
ns_out = [ns for ns in ns_out if ns.get("name")]
583+
return sorted(ns_out, key=itemgetter("name"))
581584

582585

583586
def get_my_view_namespaces(user):
@@ -593,7 +596,8 @@ def get_my_view_namespaces(user):
593596
serializer = NamespaceSerializer(viewer_namespaces, many=True)
594597
ns_out = serializer.data
595598

596-
return sorted(ns_out, key=lambda d: d.get("name") or "")
599+
ns_out = [ns for ns in ns_out if ns.get("name")]
600+
return sorted(ns_out, key=itemgetter("name"))
597601

598602

599603
def get_my_edit_scenes(user, version):
@@ -644,7 +648,8 @@ def get_my_edit_scenes(user, version):
644648
for sc in sc_out:
645649
sc["persisted"] = sc["name"] in p_scenes_set
646650

647-
return sorted(sc_out, key=lambda d: d.get("name") or "")
651+
sc_out = [sc for sc in sc_out if sc.get("name")]
652+
return sorted(sc_out, key=itemgetter("name"))
648653

649654

650655
def get_my_view_scenes(user, version):
@@ -682,7 +687,8 @@ def get_my_view_scenes(user, version):
682687
sc_out.append(vars(SceneDefault(name=p_scene)))
683688
existing_names.add(p_scene)
684689

685-
return sorted(sc_out, key=lambda d: d.get("name") or "")
690+
sc_out = [sc for sc in sc_out if sc.get("name")]
691+
return sorted(sc_out, key=itemgetter("name"))
686692

687693

688694
def get_my_devices(user):

0 commit comments

Comments
 (0)