X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=o2common%2Fdomain%2Ffilter.py;fp=o2common%2Fdomain%2Ffilter.py;h=de89cea2acfd80da69cab96af869f49fa5aaf0cd;hb=356dc5488966c011e8a49fc87a8b824fba39b18b;hp=80fe322c46a6159f35bda8c276133590eab430fa;hpb=5f6c39c6bfb90907a289be7d02210be7f2ea22dd;p=pti%2Fo2.git diff --git a/o2common/domain/filter.py b/o2common/domain/filter.py index 80fe322..de89cea 100644 --- a/o2common/domain/filter.py +++ b/o2common/domain/filter.py @@ -22,45 +22,46 @@ logger = o2logging.get_logger(__name__) def gen_orm_filter(obj: ColumnElement, filter_str: str): if not filter_str: return [] - filter_without_space = filter_str.replace(" ", "") + # filter_without_space = filter_str.replace(" ", "") + filter_without_space = filter_str.strip(' ()') items = filter_without_space.split(';') filter_list = list() for i in items: - if '(' in i: - i = i.replace("(", "") - if ')' in i: - i = i.replace(")", "") + # if '(' in i: + # i = i.replace("(", "") + # if ')' in i: + # i = i.replace(")", "") filter_expr = i.split(',') if len(filter_expr) < 3: continue - filter_op = filter_expr[0] - filter_key = filter_expr[1] + filter_op = filter_expr[0].strip() + filter_key = filter_expr[1].strip() filter_vals = filter_expr[2:] filter_list.extend(toFilterArgs( filter_op, obj, filter_key, filter_vals)) - logger.info('Filter list length: %d' % len(filter_list)) + logger.debug('Filter list length: %d' % len(filter_list)) return filter_list def toFilterArgs(operation: str, obj: ColumnElement, key: str, values: list): - if not hasattr(obj, key): - logger.warning('Filter attrName %s not in Object %s.' % - (key, str(obj))) - raise KeyError( - 'Filter attrName {} not in the Object'.format(key)) + # if not hasattr(obj, key): + # logger.warning('Filter attrName %s not in Object %s' % + # (key, str(obj))) + # raise KeyError( + # 'Filter attrName {} not in the Object'.format(key)) - if operation in ['eq', 'neq', 'gt', 'lt', 'gte', 'lte']: - if len(values) != 1: - raise KeyError( - 'Filter operation one {} is only support one value.'. - format(operation)) - elif operation in ['in', 'nin', 'cont', 'ncont']: - if len(values) == 0: - raise KeyError('Filter operation {} value is needed.'. - format(operation)) - else: - raise KeyError('Filter operation {} not support.'.format(operation)) + # if operation in ['eq', 'neq', 'gt', 'lt', 'gte', 'lte']: + # if len(values) != 1: + # raise KeyError( + # 'Filter operation one {} is only support one value'. + # format(operation)) + # elif operation in ['in', 'nin', 'cont', 'ncont']: + # if len(values) == 0: + # raise KeyError('Filter operation {} value is needed'. + # format(operation)) + # else: + # raise KeyError('Filter operation {} not support'.format(operation)) ll = list() if operation == 'eq':