|
16 | 16 | limitations under the License. |
17 | 17 | ----------------------------------------------------------------- |
18 | 18 | """ |
| 19 | +fromtypingimportUnion |
19 | 20 |
|
20 | 21 | fromapp.converter.backends.logscale.constimportlogscale_query_details |
21 | 22 | fromapp.converter.backends.logscale.mappingimportLogScaleMappings,logscale_mappings |
|
28 | 29 | classLogScaleFieldValue(BaseQueryFieldValue): |
29 | 30 | details:PlatformDetails=logscale_query_details |
30 | 31 |
|
| 32 | +defapply_value(self,value:Union[str,int]): |
| 33 | +ifisinstance(value,str)and'"'invalue: |
| 34 | +value=value.translate(str.maketrans({'"':r'\"'})) |
| 35 | +returnvalue |
| 36 | + |
31 | 37 | defequal_modifier(self,field,value): |
32 | 38 | ifisinstance(value,list): |
33 | 39 | returnf"({self.or_token.join(self.equal_modifier(field=field,value=v)forvinvalue)})" |
34 | | -returnf'{field}="{value}"' |
| 40 | +returnf'{field}="{self.apply_value(value)}"' |
35 | 41 |
|
36 | 42 | defcontains_modifier(self,field,value): |
37 | 43 | ifisinstance(value,list): |
38 | 44 | returnf"({self.or_token.join(self.contains_modifier(field=field,value=v)forvinvalue)})" |
39 | | -returnf'{field}="*{value}*"' |
| 45 | +returnf'{field}="*{self.apply_value(value)}*"' |
40 | 46 |
|
41 | 47 | defendswith_modifier(self,field,value): |
42 | 48 | ifisinstance(value,list): |
43 | 49 | returnf"({self.or_token.join(self.endswith_modifier(field=field,value=v)forvinvalue)})" |
44 | | -returnf'{field}="*{value}"' |
| 50 | +returnf'{field}="*{self.apply_value(value)}"' |
45 | 51 |
|
46 | 52 | defstartswith_modifier(self,field,value): |
47 | 53 | ifisinstance(value,list): |
48 | 54 | returnf"({self.or_token.join(self.startswith_modifier(field=field,value=v)forvinvalue)})" |
49 | | -returnf'{field}="{value}*"' |
| 55 | +returnf'{field}="{self.apply_value(value)}*"' |
50 | 56 |
|
51 | 57 | defregex_modifier(self,field,value): |
52 | 58 | ifisinstance(value,list): |
53 | 59 | returnf"({self.or_token.join(self.regex_modifier(field=field,value=v)forvinvalue)})" |
54 | | -returnf'{field}="/{value}/"' |
| 60 | +returnf'{field}="/{self.apply_value(value)}/"' |
55 | 61 |
|
56 | 62 | defkeywords(self,field,value): |
57 | 63 | ifisinstance(value,list): |
58 | 64 | returnf"({self.or_token.join(self.keywords(field=field,value=v)forvinvalue)})" |
59 | | -returnf'"{value}"' |
| 65 | +returnf'"{self.apply_value(value)}"' |
60 | 66 |
|
61 | 67 |
|
62 | 68 | classLogScaleQueryRender(BaseQueryRender): |
|