Source code for tocoli.join

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from tocoli.type import to_string
from tocoli.map import recursive_map

[docs]def join_strings_by_keywords(list, keywords, join=' '): """Join strings by keywords. Returns a new list with joined strings.""" res = [] append = False for i, elem in enumerate(list): if (append): try: res[-1] = res[-1] + join + elem except: res.append(elem) append = False continue else: if any(elem.lower() in s.lower() for s in keywords): if (i > 0 and i < len(list)-1): append = True else: if(i == 0): append = True else: if (i < len(list)-1): append = True else: res.append(elem) return res
[docs]def join_values_as_string(*args, **kwargs): """Concatenates all values as one string. Returns a string.""" return u''.join(recursive_map( args + tuple(kwargs[k] for k in sorted(kwargs)), to_string))