Skip to content

Commit 0803e65

Browse files
committed
Code refactoring
1 parent d115f0d commit 0803e65

File tree

2 files changed

+19
-17
lines changed

2 files changed

+19
-17
lines changed

postgrest_py/request_builder.py

+15-17
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
from httpx import AsyncClient, Response
44

5-
from postgrest_py.utils import sanitize_param
5+
from postgrest_py.utils import sanitize_param, sanitize_pattern_param
66

77

88
class RequestBuilder:
@@ -76,12 +76,22 @@ def is_(self, column: str, value: str):
7676
return self.filter(column, "is", sanitize_param(value))
7777

7878
def like(self, column: str, pattern: str):
79-
pattern = pattern.replace("%", "*")
80-
return self.filter(column, "like", pattern)
79+
return self.filter(column, "like", sanitize_pattern_param(pattern))
8180

8281
def ilike(self, column: str, pattern: str):
83-
pattern = pattern.replace("%", "*")
84-
return self.filter(column, "ilike", pattern)
82+
return self.filter(column, "ilike", sanitize_pattern_param(pattern))
83+
84+
def fts(self, column: str, query: str):
85+
return self.filter(column, "fts", sanitize_param(query))
86+
87+
def plfts(self, column: str, query: str):
88+
return self.filter(column, "plfts", sanitize_param(query))
89+
90+
def phfts(self, column: str, query: str):
91+
return self.filter(column, "phfts", sanitize_param(query))
92+
93+
def wfts(self, column: str, query: str):
94+
return self.filter(column, "wfts", sanitize_param(query))
8595

8696
def in_(self, column: str, values: Iterable[str]):
8797
values = map(sanitize_param, values)
@@ -103,18 +113,6 @@ def ov(self, column: str, values: Iterable[str]):
103113
values = ",".join(values)
104114
return self.filter(column, "ov", f"{{values}}")
105115

106-
def fts(self, column: str, query: str):
107-
return self.filter(column, "fts", sanitize_param(query))
108-
109-
def plfts(self, column: str, query: str):
110-
return self.filter(column, "plfts", sanitize_param(query))
111-
112-
def phfts(self, column: str, query: str):
113-
return self.filter(column, "phfts", sanitize_param(query))
114-
115-
def wfts(self, column: str, query: str):
116-
return self.filter(column, "wfts", sanitize_param(query))
117-
118116
def sl(self, column: str, range: Tuple[int, int]):
119117
return self.filter(column, "sl", f"({range[0]},{range[1]})")
120118

postgrest_py/utils.py

+4
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,7 @@ def sanitize_param(param: str) -> str:
33
if any(char in param for char in reserved_chars):
44
return f'"{param}"'
55
return param
6+
7+
8+
def sanitize_pattern_param(pattern: str) -> str:
9+
return sanitize_param(pattern.replace("%", "*"))

0 commit comments

Comments
 (0)