rom/util.py
def FULL_TEXT(val):
    '''
    This is a basic full-text index keygen function. Words are lowercased, split
    by whitespace, and stripped of punctuation from both ends before an inverted
    index is created for term searching.
    '''
    if isinstance(val, float):
        val = repr(val)
    elif val in (None, ''):
        return None
    elif not isinstance(val, six.string_types):
        if six.PY3 and isinstance(val, bytes):
            val = val.decode('latin-1')
        else:
            val = str(val)
    r = sorted(set([x for x in [s.lower().strip(string.punctuation) for s in val.split()] if x]))
    if not isinstance(val, str):  # unicode on py2k
        return [s.encode('utf-8') for s in r]
    return r
def FULL_TEXT(val):
    '''
    This is a basic full-text index keygen function. Words are lowercased, split
    by whitespace, and stripped of punctuation from both ends before an inverted
    index is created for term searching.
    '''
    if isinstance(val, float):
        val = repr(val)
    elif val in (None, ''):
        return None
    elif not isinstance(val, six.string_types):
        if six.PY3 and isinstance(val, bytes):
            val = val.decode('latin-1')
        else:
            val = str(val)
    r = sorted(set([x for x in [s.lower().strip(string.punctuation) for s in val.split()] if x]))
    if not isinstance(val, str):  # unicode on py2k
        return [s.encode('utf-8') for s in r]
    return r
def FULL_TEXT ( val ) : if isinstance ( val , float ) : val = repr ( val ) elif val in ( None , '' ) : return None elif not isinstance ( val , six . string_types ) : if six . PY3 and isinstance ( val , bytes ) : val = val . decode ( 'latin-1' ) else : val = str ( val ) r = sorted ( set ( [ x for x in [ s . lower ( ) . strip ( string . punctuation ) for s in val . split ( ) ] if x ] ) ) if not isinstance ( val , str ) : # unicode on py2k return [ s . encode ( 'utf-8' ) for s in r ] return r
This is a basic full-text index keygen function. Words are lowercased, split
    by whitespace, and stripped of punctuation from both ends before an inverted
    index is created for term searching.
This is a basic full - text index keygen function . Words are lowercased split by whitespace and stripped of punctuation from both ends before an inverted index is created for term searching .