초기 커밋: Docker/PostgreSQL 이관, 구글 OAuth 제거, Gitea 푸시 스크립트 추가
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
import re
|
||||
|
||||
|
||||
_NON_DIGIT_RE = re.compile(r"\D+")
|
||||
_NON_ALNUM_RE = re.compile(r"[^0-9A-Za-z]+")
|
||||
|
||||
|
||||
def normalize_phone(value: str | None) -> str | None:
|
||||
if not value:
|
||||
return None
|
||||
normalized = _NON_DIGIT_RE.sub("", str(value))
|
||||
return normalized or None
|
||||
|
||||
|
||||
def normalize_tracking(value: str | None) -> str | None:
|
||||
if not value:
|
||||
return None
|
||||
normalized = _NON_ALNUM_RE.sub("", str(value)).upper()
|
||||
return normalized or None
|
||||
|
||||
|
||||
def fts_phrase(value: str) -> str:
|
||||
escaped = str(value).strip().replace('"', '""')
|
||||
return f'"{escaped}"'
|
||||
|
||||
|
||||
def can_use_trigram_fts(value: str | None) -> bool:
|
||||
if not value:
|
||||
return False
|
||||
return len(str(value).strip()) >= 3
|
||||
|
||||
|
||||
def prefix_upper_bound(value: str) -> str | None:
|
||||
if not value:
|
||||
return None
|
||||
last = value[-1]
|
||||
if last == "\uffff":
|
||||
return None
|
||||
return value[:-1] + chr(ord(last) + 1)
|
||||
Reference in New Issue
Block a user