summaryrefslogtreecommitdiffstats
path: root/input-methods/ibus-sulekha/engine/autocomplete.py
diff options
context:
space:
mode:
Diffstat (limited to 'input-methods/ibus-sulekha/engine/autocomplete.py')
-rw-r--r--input-methods/ibus-sulekha/engine/autocomplete.py53
1 files changed, 53 insertions, 0 deletions
diff --git a/input-methods/ibus-sulekha/engine/autocomplete.py b/input-methods/ibus-sulekha/engine/autocomplete.py
new file mode 100644
index 0000000..fbc1694
--- /dev/null
+++ b/input-methods/ibus-sulekha/engine/autocomplete.py
@@ -0,0 +1,53 @@
+# vim:set et sts=4 sw=4:
+#
+# ibus-sulekha - The Sulekha engine for IBus
+#
+# Copyright(c) 2009 Santhosh Thottingal <santhosh.thottingal@gmail.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+import sqlite3
+import re
+import os
+import sys
+tz = re.compile('-[0-2]\d:00$')
+class Autocomplete():
+ def __init__(self, language="en_US"):
+ database=os.path.dirname(__file__) +'/sulekha.db'
+ self.__connection = sqlite3.connect(database)
+ # Create a cursor object to do the interacting.
+ self.__cursor = self.__connection.cursor()
+ self.__language=language
+ def get_autocompletion_suggestions(self, string):
+ wordlist=[]
+ records =self.__cursor.execute("select word from words_"+ self.__language + \
+ " where language = '"+ self.__language +"' \
+ and word like '"+ string + "%' \
+ order by frequency desc limit 5 " )
+ for record in records:
+ word = tz.sub('', record[0])
+ wordlist.append(word)
+ return wordlist
+
+ def set_langauge(self, language) :
+ self.language=language
+
+
+if __name__ == '__main__':
+ autocomplete= Autocomplete()
+ candidate_list= autocomplete.get_autocompletion_suggestions(sys.argv[1])
+ for candidate in candidate_list:
+ print candidate
+