X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=o2common%2Fviews%2Froute.py;h=0941f5814c1e5755e1120d5927044a83745952dc;hb=refs%2Fchanges%2F45%2F9445%2F2;hp=2c93d775b871762e57592b0be040d2de3a1f48e1;hpb=49dc99721ca628d0f75f332f9dbdf0d8e6452241;p=pti%2Fo2.git diff --git a/o2common/views/route.py b/o2common/views/route.py index 2c93d77..0941f58 100644 --- a/o2common/views/route.py +++ b/o2common/views/route.py @@ -130,7 +130,9 @@ class o2_marshal_with(marshal_with): all_fields_without_space = kwargs['all_fields'].replace(" ", "") all_fields = all_fields_without_space.lower() if 'true' == all_fields: - mask_val = '' + selector = self.__gen_selector_from_model_with_value( + self.fields) + mask_val = self.__gen_mask_from_selector(selector) elif 'fields' in kwargs and kwargs['fields'] != '': fields_without_space = kwargs['fields'].replace(" ", "") @@ -148,6 +150,7 @@ class o2_marshal_with(marshal_with): selector = {} self.__update_selector_value(selector, fields_without_space, True) + self.__set_default_mask(selector) mask_val = self.__gen_mask_from_selector(selector) @@ -160,6 +163,7 @@ class o2_marshal_with(marshal_with): self.__update_selector_value( selector, exclude_fields_without_space, False) + self.__set_default_mask(selector) mask_val = self.__gen_mask_from_selector(selector) elif 'exclude_default' in kwargs and kwargs['exclude_default'] != '': @@ -200,14 +204,14 @@ class o2_marshal_with(marshal_with): selector[i] = default_val return selector - def __update_selector_value(self, default_selector: dict, filter: str, + def __update_selector_value(self, selector: dict, filter: str, val: bool): fields = filter.split(',') for f in fields: if '/' in f: - self.__update_selector_tree_value(default_selector, f, val) + self.__update_selector_tree_value(selector, f, val) continue - default_selector[f] = val + selector[f] = val def __update_selector_tree_value(self, m: dict, filter: str, val: bool): filter_list = filter.split('/', 1) @@ -230,3 +234,7 @@ class o2_marshal_with(marshal_with): mask_li.append(k) return '{%s}' % ','.join(mask_li) + + def __set_default_mask(self, selector: dict, val: bool = True): + default_selector = str(getattr(self.fields, "__mask__"))[1:-1] + self.__update_selector_value(selector, default_selector, val)