Example #1
0
 def test_tags2str(self):
     self.assertEqual(data.tags2str(["a"]), "a")
     self.assertEqual(data.tags2str(["a", "b"]), "a b")
     self.assertEqual(data.tags2str(["b", "a"]), "a b")
     self.assertRaises(ValueError, data.tags2str, "")
     self.assertRaises(ValueError, data.tags2str, None)
     self.assertRaises(ValueError, data.tags2str, 4)
     self.assertRaises(ValueError, data.tags2str, ("a", "b"))
     self.assertRaises(TypeConversionError, data.tags2str, ["a", "!"])
     self.assertRaises(TypeConversionError, data.tags2str, ["-", "*"])
Example #2
0
 def test_tags2str(self):
     self.assertEqual(data.tags2str(['a']), 'a')
     self.assertEqual(data.tags2str(['a','b']), 'a b')
     self.assertEqual(data.tags2str(['b','a']), 'a b')
     self.assertRaises(ValueError, data.tags2str, '')
     self.assertRaises(ValueError, data.tags2str, None)
     self.assertRaises(ValueError, data.tags2str, 4)
     self.assertRaises(ValueError, data.tags2str, ('a','b'))
     self.assertRaises(TypeConversionError, data.tags2str, ['a','!'])
     self.assertRaises(TypeConversionError, data.tags2str, ['-','*'])
Example #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()
Example #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()