from typing import Optional from server.constants.playlists.v0.misc import ELASTICSEARCH_ESCAPING_CHARACTERS def escape_elastic_query(query: Optional[str]) -> Optional[str]: """Fix elastic query special symbols. Args: query: Search query. Returns: Escaped query. """ if not query: return query escaped_query = "" for char in query.lower().strip(): escaped_query += f"\\{char}" if char in ELASTICSEARCH_ESCAPING_CHARACTERS else char return escaped_query