|
@@ -71,6 +71,22 @@ class SXNGPlugin(Plugin):
|
|
|
# replace commonly used math operators with their proper Python operator
|
|
|
query = query.replace("x", "*").replace(":", "/")
|
|
|
|
|
|
+ # Is this a term that can be calculated?
|
|
|
+ word, constants = "", set()
|
|
|
+ for x in query:
|
|
|
+ # Alphabetic characters are defined as "Letters" in the Unicode
|
|
|
+ # character database and are the constants in an equation.
|
|
|
+ if x.isalpha():
|
|
|
+ word += x.strip()
|
|
|
+ elif word:
|
|
|
+ constants.add(word)
|
|
|
+ word = ""
|
|
|
+
|
|
|
+ # In the term of an arithmetic operation there should be no other
|
|
|
+ # alphabetic characters besides the constants
|
|
|
+ if constants - set(math_constants):
|
|
|
+ return results
|
|
|
+
|
|
|
# use UI language
|
|
|
ui_locale = babel.Locale.parse(request.preferences.get_value("locale"), sep="-")
|
|
|
|