| 69 | return re.sub("(,[0-9]+)+$", "", query) |
| 70 | |
| 71 | def _parse_query(query): |
| 72 | topic = query |
| 73 | keyword = None |
| 74 | search_options = "" |
| 75 | |
| 76 | keyword = None |
| 77 | if "~" in query: |
| 78 | topic = query |
| 79 | pos = topic.index("~") |
| 80 | keyword = topic[pos + 1 :] |
| 81 | topic = topic[:pos] |
| 82 | |
| 83 | if "/" in keyword: |
| 84 | search_options = keyword[::-1] |
| 85 | search_options = search_options[: search_options.index("/")] |
| 86 | keyword = keyword[: -len(search_options) - 1] |
| 87 | |
| 88 | return topic, keyword, search_options |
| 89 | |
| 90 | query = _sanitize_query(query) |
| 91 | query = _add_section_name(query) |