Spaces:
Runtime error
Runtime error
capitalization variants
Browse files
app.py
CHANGED
|
@@ -103,11 +103,40 @@ def format_result(result, highlight_terms, exact_search, datasets_filter=None):
|
|
| 103 |
return ""
|
| 104 |
|
| 105 |
if exact_search:
|
| 106 |
-
|
| 107 |
-
|
| 108 |
-
|
| 109 |
-
|
| 110 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 111 |
else:
|
| 112 |
tokens = text.split()
|
| 113 |
tokens_html = []
|
|
|
|
| 103 |
return ""
|
| 104 |
|
| 105 |
if exact_search:
|
| 106 |
+
query_variants = [highlight_terms]
|
| 107 |
+
|
| 108 |
+
# lower
|
| 109 |
+
query_variant = highlight_terms.lower()
|
| 110 |
+
if query_variant not in query_variants:
|
| 111 |
+
query_variants.append(query_variant)
|
| 112 |
+
|
| 113 |
+
# upper
|
| 114 |
+
query_variant = highlight_terms.upper()
|
| 115 |
+
if query_variant not in query_variants:
|
| 116 |
+
query_variants.append(query_variant)
|
| 117 |
+
|
| 118 |
+
# first capital
|
| 119 |
+
query_variant = highlight_terms.lower()
|
| 120 |
+
query_variant = query_variant[0].upper() + query_variant[1:].lower()
|
| 121 |
+
if query_variant not in query_variants:
|
| 122 |
+
query_variants.append(query_variant)
|
| 123 |
+
|
| 124 |
+
# camel case
|
| 125 |
+
query_tokens = highlight_terms.split()
|
| 126 |
+
query_variant = " ".join(
|
| 127 |
+
[token[0].upper() + token[1:].lower() for token in query_tokens]
|
| 128 |
+
)
|
| 129 |
+
if query_variant not in query_variants:
|
| 130 |
+
query_variants.append(query_variant)
|
| 131 |
+
|
| 132 |
+
for query_variant in query_variants:
|
| 133 |
+
query_start = text.find(query_variant)
|
| 134 |
+
if query_start >= 0:
|
| 135 |
+
query_end = query_start + len(query_variant)
|
| 136 |
+
tokens_html = text[0:query_start]
|
| 137 |
+
tokens_html += "<b>{}</b>".format(text[query_start:query_end])
|
| 138 |
+
tokens_html += text[query_end:]
|
| 139 |
+
break
|
| 140 |
else:
|
| 141 |
tokens = text.split()
|
| 142 |
tokens_html = []
|