def df_split(dff, on, on_contains=None, Operator=None, condition=None,
    on_condition=None, on_not_condition=False):
    """
    After divide df DataFrame in two parts acording either a condition or str.contains or
    check for empty string in the column 'on':
    The pair of returned dataframes corresponds to
    * on_contains='text' -> True,False
    * Operator='operator' (e.g: '=='); condition='text'
          -> True (e.g == 'text'), False (e.g != 'text')
    * on_not_condition or on_not_conditions are deprecated usage
    """
    import sys
    import operator
    otrue = {'>': operator.gt, '>=': operator.ge, '<': operator.lt, '<=':
        operator.le, '!=': operator.ne, '==': operator.eq}
    ofalse = {'>': operator.le, '>=': operator.lt, '<': operator.ge, '<=':
        operator.gt, '!=': operator.eq, '==': operator.ne}
    if on_not_condition:
        Operator = '!='
        condition = ''
    elif on_condition is not None:
        Operator = '=='
        condition = condition
    df = dff.copy()
    if on_contains is not None:
        df_pureLEFT = df[df[on].str.contains(on_contains)].reset_index(drop
            =True)
        df_pureRIGHT = df[~df[on].str.contains(on_contains)].reset_index(drop
            =True)
    elif Operator is not None and condition is not None:
        df_pureLEFT = df[otrue[Operator](df[on], condition)].reset_index(drop
            =True)
        df_pureRIGHT = df[ofalse[Operator](df[on], condition)].reset_index(drop
            =True)
    else:
        sys.exit('on_contains or Operator conditions must be given')
    return df_pureLEFT, df_pureRIGHT
