Пример #1
0
    def getSearchValueList(self):
        searchValue = str(self.leSearch.text())
        if searchValue != "":
            searchValueList = [searchValue]
            clearedSearchValues = []
            if self.cckbIsNormalizeUTF8Chars.checkState() == Mt.Checked or self.cckbIsNormalizeUTF8CharsAndClearVowels.checkState() == Mt.Checked:
                clearedSearchValue = ''.join(c for c in unicodedata.normalize('NFKD', uni.trUnicode(searchValue)) if
                                             unicodedata.category(c) != 'Mn')
                clearedSearchValue = str(uni.trEncode(clearedSearchValue, "utf-8", "ignore"))
                clearedSearchValues = [clearedSearchValue]
                t = clearedSearchValue.replace(uni.getUtf8Data("little+I"), "i")
                if t not in clearedSearchValues:
                    clearedSearchValues.append(t)
                t = clearedSearchValue.replace("i", uni.getUtf8Data("little+I"))
                if t not in clearedSearchValues:
                    clearedSearchValues.append(t)

            if self.cckbIsNormalizeUTF8Chars.checkState() == Mt.Checked:
                for csValue in clearedSearchValues:
                    if csValue not in searchValueList:
                        searchValueList.append(csValue)

            if self.cckbIsClearDigits.checkState() == Mt.Checked:
                clearedSearchValue1 = ""
                for char in searchValue:
                    if char.isdigit() is False:
                        clearedSearchValue1 += char
                if clearedSearchValue1 not in searchValueList:
                    searchValueList.append(clearedSearchValue1)

            if self.cckbIsOnlyDigitsAndLetters.checkState() == Mt.Checked:
                clearedSearchValue2 = ""
                for char in uni.trUnicode(searchValue):
                    if char.isdigit() or char.isalpha():
                        clearedSearchValue2 += char
                if clearedSearchValue2 not in searchValueList:
                    searchValueList.append(clearedSearchValue2)

            vowels = ["a", "e", "i", "o", "u", "A", "E", "I", "O", "U"]
            if self.cckbIsClearVowels.checkState() == Mt.Checked:
                clearedSearchValue3 = ""
                for char in uni.trUnicode(searchValue):
                    clearedChar = ''.join(c for c in unicodedata.normalize('NFKD', uni.trUnicode(char)) if
                                          unicodedata.category(c) != 'Mn')
                    clearedChar = str(uni.trEncode(clearedChar, "utf-8", "ignore")).replace(uni.getUtf8Data("little+I"),
                                                                                            "i")
                    if clearedChar not in vowels:
                        clearedSearchValue3 += char
                if clearedSearchValue3 not in searchValueList:
                    searchValueList.append(clearedSearchValue3)

            if self.cckbIsNormalizeUTF8CharsAndClearVowels.checkState() == Mt.Checked:
                for csValue in clearedSearchValues:
                    clearedSearchValue4 = ""
                    for char in csValue:
                        if char not in vowels:
                            clearedSearchValue4 += char
                    if clearedSearchValue4 not in searchValueList:
                        searchValueList.append(clearedSearchValue4)
            return searchValueList
        else:
            return []
Пример #2
0
import unicodedata
import string
import math
import re
from Core.MyObjects import *
from Core import Universals as uni
import FileUtils as fu

if uni.isPython3k:
    from urllib.parse import unquote as ounquote
    from urllib.parse import quote as oquote
else:
    from urllib import unquote as ounquote
    from urllib import quote as oquote

utf8ReplacementChars = uni.getUtf8Data("replacementChars")
utf8LittleI = uni.getUtf8Data("little+I")


def unquote(_inputString):
    return ounquote(_inputString)


def quote(_inputString):
    return oquote(_inputString)


def emend(_inputString,
          _type="text",
          _isCorrectCaseSensitive=True,
          _isRichText=False):
Пример #3
0
    def getSearchValueList(self):
        searchValue = str(self.leSearch.text())
        if searchValue != "":
            searchValueList = [searchValue]
            clearedSearchValues = []
            if self.cckbIsNormalizeUTF8Chars.checkState(
            ) == Mt.Checked or self.cckbIsNormalizeUTF8CharsAndClearVowels.checkState(
            ) == Mt.Checked:
                clearedSearchValue = ''.join(
                    c for c in unicodedata.normalize(
                        'NFKD', uni.trUnicode(searchValue))
                    if unicodedata.category(c) != 'Mn')
                clearedSearchValue = str(
                    uni.trEncode(clearedSearchValue, "utf-8", "ignore"))
                clearedSearchValues = [clearedSearchValue]
                t = clearedSearchValue.replace(uni.getUtf8Data("little+I"),
                                               "i")
                if t not in clearedSearchValues:
                    clearedSearchValues.append(t)
                t = clearedSearchValue.replace("i",
                                               uni.getUtf8Data("little+I"))
                if t not in clearedSearchValues:
                    clearedSearchValues.append(t)

            if self.cckbIsNormalizeUTF8Chars.checkState() == Mt.Checked:
                for csValue in clearedSearchValues:
                    if csValue not in searchValueList:
                        searchValueList.append(csValue)

            if self.cckbIsClearDigits.checkState() == Mt.Checked:
                clearedSearchValue1 = ""
                for char in searchValue:
                    if char.isdigit() is False:
                        clearedSearchValue1 += char
                if clearedSearchValue1 not in searchValueList:
                    searchValueList.append(clearedSearchValue1)

            if self.cckbIsOnlyDigitsAndLetters.checkState() == Mt.Checked:
                clearedSearchValue2 = ""
                for char in uni.trUnicode(searchValue):
                    if char.isdigit() or char.isalpha():
                        clearedSearchValue2 += char
                if clearedSearchValue2 not in searchValueList:
                    searchValueList.append(clearedSearchValue2)

            vowels = ["a", "e", "i", "o", "u", "A", "E", "I", "O", "U"]
            if self.cckbIsClearVowels.checkState() == Mt.Checked:
                clearedSearchValue3 = ""
                for char in uni.trUnicode(searchValue):
                    clearedChar = ''.join(c for c in unicodedata.normalize(
                        'NFKD', uni.trUnicode(char))
                                          if unicodedata.category(c) != 'Mn')
                    clearedChar = str(
                        uni.trEncode(clearedChar, "utf-8", "ignore")).replace(
                            uni.getUtf8Data("little+I"), "i")
                    if clearedChar not in vowels:
                        clearedSearchValue3 += char
                if clearedSearchValue3 not in searchValueList:
                    searchValueList.append(clearedSearchValue3)

            if self.cckbIsNormalizeUTF8CharsAndClearVowels.checkState(
            ) == Mt.Checked:
                for csValue in clearedSearchValues:
                    clearedSearchValue4 = ""
                    for char in csValue:
                        if char not in vowels:
                            clearedSearchValue4 += char
                    if clearedSearchValue4 not in searchValueList:
                        searchValueList.append(clearedSearchValue4)
            return searchValueList
        else:
            return []