def text_concat(*args, **kwargs):
 separator = text_value(kwargs.get(u'separator', u''))
 values = filter(None, [text_value(v) for v in args])
 return separator.join(values)

def text_concat ( * args , ** kwargs ) : separator = text_value ( kwargs . get ( u'separator' , u'' ) ) values = filter ( None , [ text_value ( v ) for v in args ] ) return separator . join ( values )
concatenate several values as a text string with an optional separator .