From 2c300223d7d49254a6e7b719d0b87d47a0807ee8 Mon Sep 17 00:00:00 2001 From: Thierry Parmentelat Date: Wed, 7 Feb 2024 13:48:41 +0100 Subject: [PATCH] replace old-school formatting in Filter.py with f-strings --- PLC/Filter.py | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/PLC/Filter.py b/PLC/Filter.py index 41f89a6..29accf1 100644 --- a/PLC/Filter.py +++ b/PLC/Filter.py @@ -155,7 +155,7 @@ class Filter(Parameter, dict): # filter on fields if not modifiers['-']: if field not in self.fields: - raise PLCInvalidArgument("Invalid filter field '%s'" % field) + raise PLCInvalidArgument(f"Invalid filter field '{field}'") # handling array fileds always as compound values if modifiers['&'] or modifiers['|']: @@ -198,10 +198,10 @@ class Filter(Parameter, dict): operator = "=" value = "'{}'" else: - field="" - operator="" + field = "" + operator = "" value = "FALSE" - clause = "%s %s %s" % (field, operator, value) + clause = f"{field} {operator} {value}" else: vals = {} for val in value: @@ -213,25 +213,26 @@ class Filter(Parameter, dict): subclauses = [] for operator in list(vals.keys()): if operator == '=': + expanded = ",".join(vals[operator]) if modifiers['&']: - subclauses.append("(%s @> ARRAY[%s])" % (field, ",".join(vals[operator]))) + subclauses.append(f"({field} @> ARRAY[{expanded}])") elif modifiers['|']: - subclauses.append("(%s && ARRAY[%s])" % (field, ",".join(vals[operator]))) + subclauses.append(f"({field} && ARRAY[{expanded}])") else: - subclauses.append("(%s IN (%s))" % (field, ",".join(vals[operator]))) + subclauses.append(f"({field} IN ({expanded}))") elif operator == 'IS': - subclauses.append("(%s IS NULL)" % field) + subclauses.append(f"({field} IS NULL)") else: for value in vals[operator]: - subclauses.append("(%s %s %s)" % (field, operator, value)) + subclauses.append(f"({field} {operator} {value})") clause = "(" + " OR ".join(subclauses) + ")" else: operator, value = get_op_and_val(value) - clause = "%s %s %s" % (field, operator, value) + clause = f"{field} {operator} {value}" if modifiers['~']: - clause = " ( NOT %s ) " % (clause) + clause = f" ( NOT {clause} ) " conditionals.append(clause) # sorting and clipping @@ -251,7 +252,7 @@ class Filter(Parameter, dict): order = 'DESC' if field not in self.fields: raise PLCInvalidArgument("Invalid field %r in SORT filter"%field) - sorts.append("%s %s"%(field,order)) + sorts.append(f"{field} {order}") # clipping elif field == 'OFFSET': clips.append("OFFSET %d"%value) @@ -259,13 +260,12 @@ class Filter(Parameter, dict): elif field == 'LIMIT' : clips.append("LIMIT %d"%value) - where_part = (" %s " % join_with).join(conditionals) + where_part = f" {join_with} ".join(conditionals) clip_part = "" if sorts: clip_part += " ORDER BY " + ",".join(sorts) if clips: clip_part += " " + " ".join(clips) if Filter.debug: - logger.debug('Filter.sql: where_part={} - clip_part={}' - .format(where_part, clip_part)) + logger.debug(f"Filter.sql: {where_part=} - {clip_part=}") return where_part, clip_part -- 2.43.0