Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/dictionary.py
diff options
context:
space:
mode:
Diffstat (limited to 'dictionary.py')
-rw-r--r--dictionary.py123
1 files changed, 0 insertions, 123 deletions
diff --git a/dictionary.py b/dictionary.py
deleted file mode 100644
index fd4e4da..0000000
--- a/dictionary.py
+++ /dev/null
@@ -1,123 +0,0 @@
-#!/bin/env python
-import sys
-# Provides the API to control the dictionary.
-
-global __debug
-global DBname
-global word_list
-
-
-__debug = True
-DBname = "dict.db"
-word_list = []
-#strings which are tag in XML
-
-class dictionary:
-
- def __init__(self, DBname):
-
- import sqlite3
- self.conn = sqlite3.connect(DBname, isolation_level=None)
- # Turn on autocommit mode
- # Set isolation_level to "IMMEDIATE"
- self.conn.isolation_level = "IMMEDIATE"
- self.cur = self.conn.cursor()
- self.numwords = -1
- self.wordid_list = []
- self.level = 0
-
- def getnumwords(self, level = 0):
- if self.numwords == -1:
- if level == 0:
- self.cur.execute("SELECT COUNT(wordid) from las_word")
- else:
- self.cur.execute("SELECT COUNT(wordid) from las_word where length = ?", (level, ))
- self.numwords = self.cur.fetchone()
- return self.numwords
-
-
- def getrandomwordid(self, level=0):
- if self.wordid_list == [] or self.level != level:
- if level == 0:
- self.cur.execute("SELECT wordid from las_word")
- else:
- self.level = level
- self.cur.execute("SELECT wordid from las_word where length = ?", (level, ))
- self.wordid_list = self.cur.fetchall()
- #count = self.wordid_list.count
- count = len(self.wordid_list)
- import random
- randid = random.randint(0,count)
- (id,) = self.wordid_list[randid]
- return id
-
-class word:
-
- def __init__(self, identifier, value):
- import sqlite3
- self.conn = sqlite3.connect(DBname, isolation_level=None)
- # Turn on autocommit mode
- # Set isolation_level to "IMMEDIATE"
- self.conn.isolation_level = "IMMEDIATE"
- self.cur = self.conn.cursor()
- if identifier == "las_word_id":
- self.las_word_id = value
- self.cur.execute("SELECT * from las_word where laswid = ?", (value,))
- elif identifier == "wordid":
- self.wordid = value
- self.cur.execute("SELECT * from las_word where wordid = ?", (value,))
- elif identifier == "word":
- self.word = value
- self.cur.execute("SELECT * from las_word where lemma = ?", (value,))
- else:
- return "Invalid Usage"
-
- (laswid, wordid, lemma, length) = self.cur.fetchone()
- self.las_word_id = laswid
- self.wordid = wordid
- self.word = lemma
- self.length = length
-
- def getword(self):
- return self.word
-
- def getsynsetid(self):
- self.synsetid_list = []
- self.cur.execute("SELECT * from las_sense where wordid = ?", (self.wordid,))
- for (wordid, synsetid, rank) in self.cur:
- self.synsetid_list.append(synsetid)
- return self.synsetid_list
-
- def getdef(self):
- self.def_list = []
- if self.synsetid_list == []:
- self.getsynsetid()
- for synsetid in self.synsetid_list:
- self.cur.execute("SELECT * from las_synset where synsetid = ?", (synsetid,) )
- for (synsetid, pos, defination) in self.cur:
- self.def_list.append( (synsetid, pos, defination))
- return self.def_list
-
- def getusage(self):
- if self.synsetid_list == []:
- self.getsynsetid()
- self.usage_list = []
- for synsetid in self.synsetid_list:
- self.cur.execute("SELECT * from las_sample where synsetid = ?", (synsetid,))
- for (synsetid, sampleid, sample) in self.cur:
- self.usage_list.append( (synsetid, sampleid, sample))
- return self.usage_list
-
-
-if __name__ == "__main__":
- k = dictionary("dict.db")
- num_words = k.getnumwords()
- print num_words
-
- wordid = k.getrandomwordid(15) #will return word of length 15
- l = word("wordid", wordid )
-
- print l.getword()
- l.getsynsetid()
- print l.getdef()
- print l.getusage() \ No newline at end of file