Exemple #1
0
 def test_str2tags(self):
     self.assertEqual(data.str2tags(""), [])
     self.assertEqual(data.str2tags("Abc"), ["abc"])
     self.assertEqual(data.str2tags("abc"), ["abc"])
     self.assertEqual(data.str2tags("abc4"), ["abc4"])
     self.assertEqual(data.str2tags("a,b"), ["a", "b"])
     self.assertEqual(data.str2tags("a, b"), ["a", "b"])
     self.assertEqual(data.str2tags("a,  b"), ["a", "b"])
     self.assertEqual(data.str2tags("a,  b,c  d a"), ["a", "b", "c", "d"])
     self.assertEqual(data.str2tags("a b c a"), ["a", "b", "c"])
     self.assertRaises(TypeConversionError, data.str2tags, "a;b")
     self.assertRaises(TypeConversionError, data.str2tags, "a+b")
     self.assertRaises(TypeConversionError, data.str2tags, "a!b")
     self.assertRaises(TypeConversionError, data.str2tags, "I'd")
     self.assertRaises(TypeConversionError, data.str2tags, 4)
     self.assertRaises(TypeConversionError, data.str2tags, None)
Exemple #2
0
 def test_str2tags(self):
     self.assertEqual(data.str2tags(''), [])
     self.assertEqual(data.str2tags('Abc'), ['abc'])
     self.assertEqual(data.str2tags('abc'), ['abc'])
     self.assertEqual(data.str2tags("abc4"), ['abc4'])
     self.assertEqual(data.str2tags('a,b'), ['a','b'])
     self.assertEqual(data.str2tags('a, b'), ['a','b'])
     self.assertEqual(data.str2tags('a,  b'), ['a','b'])
     self.assertEqual(data.str2tags('a,  b,c  d a'), ['a','b','c','d'])
     self.assertEqual(data.str2tags('a b c a'), ['a','b','c'])
     self.assertRaises(TypeConversionError, data.str2tags, 'a;b')
     self.assertRaises(TypeConversionError, data.str2tags, 'a+b')
     self.assertRaises(TypeConversionError, data.str2tags, 'a!b')
     self.assertRaises(TypeConversionError, data.str2tags, "I'd")
     self.assertRaises(TypeConversionError, data.str2tags, 4)
     self.assertRaises(TypeConversionError, data.str2tags, None)
Exemple #3
0
def ctags(input_):
    """
    Returns a string safe for use in a sql statement

    @param: input_
    @type input_: Anything
    @return: 'NULL', or input_ string
    
    >>> print ctags('')
    NULL
    >>> print ctags('linux git foo')
    'foo git linux'
    """

    if input_ in [None, '']:
        return 'NULL'
    
    if isinstance(input_, list):
        input_ = ' '.join(input_)

    tags = data.tags2str(data.str2tags(input_))
    return "'%s'" % tags.lower()
Exemple #4
0
def ctags(string):
    """
    Returns a string safe for use in a sql statement

    :param: string
    :type string: Anything
    :rtype: ``NULL``, or :class:`str`

    >>> from chula.db import functions
    >>> print functions.ctags('')
    NULL
    >>> print functions.ctags('linux git foo')
    'foo git linux'
    """

    if string in [None, '']:
        return 'NULL'

    if isinstance(string, list):
        string = ' '.join(string)

    tags = data.tags2str(data.str2tags(string))
    return "'%s'" % tags.lower()