Example #1
0
def misspelledCheckIntegrity(misspelledList):
    wordRe = re.compile(wordMatchRe)
    for i, word in enumerate(misspelledList):
        try:
            if not wordRe.match(word):
                raiseError(misspelledFormattingError + str(i))
        except TypeError:
            raiseError(misspelledFormattingError + str(i))
Example #2
0
 def makeJsonReq(self, url, postdata):
     """
     postdata: dict
     """
     cj, content = self.makeHttpReq(url, postdata)
     ret = json.loads(content)
     if ret["error"]:
         errors.raiseError(ret["error"])
     return ret
Example #3
0
def getMisspelledWords(misspelledFilename):
    #read in the input file
    try:
        f = open(misspelledFilename, 'r')
    except IOError:
        raiseError(misspelledFileNotFoundError)

    misspelled = f.read()
    misspelledWordsList = misspelled.split('\n')

    verify.misspelledCheckIntegrity(misspelledWordsList)

    return misspelledWordsList
Example #4
0
def getWordFrequencies(frequenciesFilename):
    try:
        f = open(frequenciesFilename, 'r')
    except IOError:
        raiseError(frequenciesFileNotFoundError)

    frequencies = f.read()

    frequencyList = frequencies.split('\n')
    for i, item in enumerate(frequencyList):
        frequencyList[i] = item.split(',')

    verify.frequenciesCheckIntegrity(frequencyList)

    sorted(frequencyList, key=lambda item: int(item[1]))
    return frequencyList
Example #5
0
def frequenciesCheckIntegrity(frequencyList):
    wordRe = re.compile(wordMatchRe)
    for i, item in enumerate(frequencyList):
        #check that list is formatted correctly
        if not isinstance(item, list) or len(item) != 2:
            raiseError(frequenciesFormattingError + str(i))
        word = item[0]
        frequency = item[1]

        #check that first entry is a word
        if not wordRe.match(word):
            raiseError(frequenciesFormattingError + str(i))

        #check that second entry is an int
        try:
            int(frequency)
        except ValueError:
            raiseError(frequenciesFormattingError + str(i))
Example #6
0
    def onAnyEvent(self, *args, **kw):

        sid = syncer_tls.sid
        if not self.validate(sid):
            errors.raiseError(errors.sessionnotfound)
        return True
Example #7
0
def formatSuggestion(word, suggestedWords):
    return "* " + word + ": " + str(suggestedWords) + "\n"

def suggestWords(misspelledWords, wordFrequencies, suggestionsFilename):

    #open suggestions file
    suggestions = open(suggestionsFilename, 'w')

    for word in misspelledWords:
        #find an array of the suggested words sorted by frequency
        suggestedWords = getSuggestedWords(word, wordFrequencies)
        suggestions.write(formatSuggestion(word, suggestedWords))


if __name__ == "__main__":
    try:
        misspelledFilename = str(sys.argv[1])
    except IndexError:
       raiseError(misspelledFileNotEnteredError)

    #try to read in the misspelled words file
    misspelledWords = parse.getMisspelledWords(misspelledFilename)

    wordFrequenciesFilename = "word_frequency.csv"
    #try to read in the word frequencies file
    wordFrequencies = parse.getWordFrequencies(wordFrequenciesFilename)

    suggestionsFilename = "suggestions.txt"

    suggestWords(misspelledWords, wordFrequencies, suggestionsFilename)