From e87dac6773f1c2cb2bd191e96fa91f167d3949e4 Mon Sep 17 00:00:00 2001 From: Sascha Klawohn <sascha.klawohn@physik.hu-berlin.de> Date: Wed, 24 Jul 2024 11:41:42 +0200 Subject: [PATCH] Make get_by_ids accept str --- nomad/groups.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/nomad/groups.py b/nomad/groups.py index ba834cbd4b..c0637226a4 100644 --- a/nomad/groups.py +++ b/nomad/groups.py @@ -17,7 +17,7 @@ # import operator from functools import reduce -from typing import Iterable, List, Optional +from typing import Iterable, Optional, Union from mongoengine import Document, ListField, StringField from mongoengine.queryset.visitor import Q @@ -40,10 +40,12 @@ class UserGroup(Document): meta = {'indexes': ['group_name', 'owner', 'members']} @classmethod - def get_by_ids(cls, group_ids: Iterable[str]): + def get_by_ids(cls, group_ids: Union[str, Iterable[str]]): """ Returns UserGroup objects with group_ids. """ + if not isinstance(group_ids, Iterable): + group_ids = [group_ids] user_groups = cls.objects(group_id__in=group_ids) return user_groups @@ -58,7 +60,7 @@ class UserGroup(Document): return user_groups @classmethod - def get_ids_by_user_id(cls, user_id: Optional[str], include_all=True) -> List[str]: + def get_ids_by_user_id(cls, user_id: Optional[str], include_all=True) -> list[str]: """ Returns ids of all user groups where user_id is owner or member. Does include special group 'all', even if user_id is missing or not a user. -- GitLab