Esempio n. 1
0
def separatewords(text, minWordReturnSize):    
    words = []
    for singleWord in splitter.split(text):
        currWord = singleWord.strip().lower()
        # leave numbers in phrase, but don't count as words, since they tend to invlate scores of their phrases
        if len(currWord) > minWordReturnSize and currWord != '' and not isnum(currWord): 
            words.append(currWord)
    return words
Esempio n. 2
0
        def pre_deal(operator, value):
            if operator == '$set': 
                value = {'value': value}

            elif operator == '$addToSet':
                if isinstance(value, dict) and '$each' in value:
                    if len(value.items()) > 1:
                        raise SyntaxError(
                            "There cant't be other keys except '$each'.")

                    value = value['$each']
                    if not isinstance(value, (list, tuple)):
                        raise TypeError(
                            "Value of '$each' should be list or tuple type.")

                    value = {'value': value, 'each': True}
                else:
                    value = {'value': [value], 'each': False}

            elif operator == '$inc':
                if not util.isnum(value):
                    raise ValueError("Value in '$inc' must be number.")

                value = {'value': value}

            elif operator == '$pushAll':
                if not isinstance(value, (list, tuple)):
                    raise TypeError(
                        "Value in '$pushAll' should be list or tuple.")

                value = {'value': value}

            elif operator == '$push':
                if isinstance(value, dict) and '$each' in value:
                    if len(value.items()) > 1:
                        raise SyntaxError(
                            "There cant't be other keys except '$each'.")

                    value = value['$each']
                    if not isinstance(value, (list, tuple)):
                        raise TypeError(
                            "Value of '$each' should be list or tuple type.")
                    value = {'value': value, 'each': True}
                else:
                    value = {'value': [value], 'each': False}

            elif operator == '$bit':
                if not isinstance(value, dict):
                    raise TypeError(
                        "The field value of '$bit' shoud be dict type.")

                if len(value.items()) != 1:
                    raise ValueError(
                        "Can't have other key except 'and' and 'or' in '$bit'")

                key = value.keys()[0]
                if key != 'and' and key != 'or':
                    raise ValueError("Key in '$bit' should be 'and' or 'or'.")

                if not isinstance(value[key], (int, long)):
                    raise TypeError("Value in '$bit' should be int or long type.")

                value = {'value': value[key]}
            return value
Esempio n. 3
0
        def pre_deal(operator, value):
            if operator == '$set':
                value = {'value': value}

            elif operator == '$addToSet':
                if isinstance(value, dict) and '$each' in value:
                    if len(value.items()) > 1:
                        raise SyntaxError(
                            "There cant't be other keys except '$each'.")

                    value = value['$each']
                    if not isinstance(value, (list, tuple)):
                        raise TypeError(
                            "Value of '$each' should be list or tuple type.")

                    value = {'value': value, 'each': True}
                else:
                    value = {'value': [value], 'each': False}

            elif operator == '$inc':
                if not util.isnum(value):
                    raise ValueError("Value in '$inc' must be number.")

                value = {'value': value}

            elif operator == '$pushAll':
                if not isinstance(value, (list, tuple)):
                    raise TypeError(
                        "Value in '$pushAll' should be list or tuple.")

                value = {'value': value}

            elif operator == '$push':
                if isinstance(value, dict) and '$each' in value:
                    if len(value.items()) > 1:
                        raise SyntaxError(
                            "There cant't be other keys except '$each'.")

                    value = value['$each']
                    if not isinstance(value, (list, tuple)):
                        raise TypeError(
                            "Value of '$each' should be list or tuple type.")
                    value = {'value': value, 'each': True}
                else:
                    value = {'value': [value], 'each': False}

            elif operator == '$bit':
                if not isinstance(value, dict):
                    raise TypeError(
                        "The field value of '$bit' shoud be dict type.")

                if len(value.items()) != 1:
                    raise ValueError(
                        "Can't have other key except 'and' and 'or' in '$bit'")

                key = value.keys()[0]
                if key != 'and' and key != 'or':
                    raise ValueError("Key in '$bit' should be 'and' or 'or'.")

                if not isinstance(value[key], (int, long)):
                    raise TypeError(
                        "Value in '$bit' should be int or long type.")

                value = {'value': value[key]}
            return value