@staticmethod
def _convert_comparator(comparator):
    """ convert comparator alias to uniform name and expression
        """
    comparator = comparator.lower()
    if comparator in ['eq', 'equal', 'equals', '==', '=']:
        return ['equals',
            "${{self._simple_assert('==', first=__FIRST__, second=__SECOND__)}}"
            ]
    elif comparator in ['neq', 'not_equal', 'not_equals', '!=', '<>']:
        return ['not_equals',
            "${{self._simple_assert('!=', first=__FIRST__, second=__SECOND__)}}"
            ]
    elif comparator in ['lt', 'less', 'less_than']:
        return ['less_than',
            "${{self._simple_assert('<', first=__FIRST__, second=__SECOND__)}}"
            ]
    elif comparator in ['gt', 'greater', 'greater_than']:
        return ['greater_than',
            "${{self._simple_assert('>', first=__FIRST__, second=__SECOND__)}}"
            ]
    elif comparator in ['le', 'less_equal', 'less_equals',
        'less_than_or_equal', 'less_than_or_equals', 'ngt', 'not_greater_than'
        ]:
        return ['less_than_or_equals',
            "${{self._simple_assert('<=', first=__FIRST__, second=__SECOND__)}}"
            ]
    elif comparator in ['ge', 'greater_equal', 'greater_equals',
        'greater_than_or_equal', 'greater_than_or_equals', 'nlt',
        'not_less_than']:
        return ['greater_than_or_equals',
            "${{self._simple_assert('>=', first=__FIRST__, second=__SECOND__)}}"
            ]
    elif comparator in ['str_eq', 'str_equal', 'str_equals', 'string_equal',
        'string_equals']:
        return ['string_equals',
            "${{self._simple_assert('==', first=str(__FIRST__), second=str(__SECOND__))}}"
            ]
    elif comparator in ['len_eq', 'len_equal', 'len_equals', 'length_equal',
        'length_equals', 'count_eq', 'count_equal', 'count_equals',
        'cnt_eq', 'cnt_equal', 'cnt_equals']:
        return ['length_equals',
            "${{self._length_assert('==', first=__FIRST__, second=int(__SECOND__))}}"
            ]
    elif comparator in ['len_neq', 'len_not_equal', 'len_not_equals',
        'length_not_equal', 'length_not_equals', 'cnt_neq', 'cnt_not_equal',
        'cnt_not_equals', 'count_not_equal', 'count_not_equals']:
        return ['length_not_equals',
            "${{self._length_assert('!=', first=__FIRST__, second=int(__SECOND__))}}"
            ]
    elif comparator in ['len_gt', 'len_greater', 'len_greater_than',
        'length_greater_than', 'length_greater', 'cnt_gt', 'count_gt',
        'cnt_greater_than', 'count_greater_than', 'count_greater']:
        return ['length_greater_than',
            "${{self._length_assert('>', first=__FIRST__, second=int(__SECOND__))}}"
            ]
    elif comparator in ['len_lt', 'len_less', 'len_less_than',
        'length_less_than', 'length_less', 'cnt_lt', 'count_lt',
        'cnt_less_than', 'count_less_than', 'count_less']:
        return ['length_less_than',
            "${{self._length_assert('<', first=__FIRST__, second=int(__SECOND__))}}"
            ]
    elif comparator in ['len_ge', 'len_greater_than_or_equals',
        'length_greater_than_or_equals', 'cnt_ge', 'count_ge',
        'cnt_greater_than_or_equals', 'count_greater_than_or_equals',
        'len_greater_or_equals', 'length_greater_or_equals',
        'cnt_greater_or_equals', 'count_greater_or_equals']:
        return ['length_greater_than_or_equals',
            "${{self._length_assert('>=', first=__FIRST__, second=int(__SECOND__))}}"
            ]
    elif comparator in ['len_le', 'len_less_than_or_equals',
        'length_less_than_or_equals', 'cnt_le', 'count_le',
        'cnt_less_than_or_equals', 'count_less_than_or_equals',
        'len_less_or_equals', 'length_less_or_equals', 'cnt_less_or_equals',
        'count_less_or_equals']:
        return ['length_less_than_or_equals',
            "${{self._length_assert('<=', first=__FIRST__, second=int(__SECOND__))}}"
            ]
    elif comparator in ['time_eq', 'time_equal', 'time_equals']:
        return ['time_equals',
            "${{self._simple_assert('==', first=__FIRST__, second=float(__SECOND__))}}"
            ]
    elif comparator in ['time_neq', 'time_not_equal', 'time_not_equals']:
        return ['time_not_equals',
            "${{self._simple_assert('!=', first=__FIRST__, second=float(__SECOND__))}}"
            ]
    elif comparator in ['time_lt', 'time_less', 'time_less_than']:
        return ['time_less_than',
            "${{self._simple_assert('<', first=__FIRST__, second=float(__SECOND__))}}"
            ]
    elif comparator in ['time_gt', 'time_greater', 'time_greater_than']:
        return ['time_greater_than',
            "${{self._simple_assert('>', first=__FIRST__, second=float(__SECOND__))}}"
            ]
    elif comparator in ['time_le', 'time_less_equal', 'time_less_equals',
        'time_less_than_or_equal', 'time_less_than_or_equals']:
        return ['time_less_than_or_equals',
            "${{self._simple_assert('<=', first=__FIRST__, second=float(__SECOND__))}}"
            ]
    elif comparator in ['time_ge', 'time_greater_equal',
        'time_greater_equals', 'time_greater_than_or_equal',
        'time_greater_than_or_equals']:
        return ['time_greater_than_or_equals',
            "${{self._simple_assert('>=', first=__FIRST__, second=float(__SECOND__))}}"
            ]
    elif comparator in ['contain', 'contains', 'str_contain',
        'str_contains', 'string_contain', 'string_contains', 'list_contain',
        'list_contains', 'dict_contain', 'dict_contains']:
        return ['contains',
            '${{self._contain_assert(first=__FIRST__, second=__SECOND__)}}']
    elif comparator in ['not_contain', 'not_contains', 'str_not_contain',
        'str_not_contains', 'string_not_contain', 'string_not_contains',
        'list_not_contain', 'list_not_contains', 'dict_not_contain',
        'dict_not_contains']:
        return ['not_contains',
            '${{bool(1-self._contain_assert(first=__FIRST__, second=__SECOND__))}}'
            ]
    elif comparator in ['in', 'in_str', 'in_string', 'in_list', 'in_set',
        'in_tuple', 'in_dict']:
        return ['in',
            '${{self._contain_assert(first=__FIRST__, second=__SECOND__, reverse=True)}}'
            ]
    elif comparator in ['nin', 'not_in', 'not_in_str', 'not_in_string',
        'not_in_list', 'not_in_tuple', 'not_in_set', 'not_in_dict']:
        return ['not_in',
            '${{bool(1-self._contain_assert(first=__FIRST__, second=__SECOND__, reverse=True))}}'
            ]
    elif comparator in ['is', 'instance', 'is_instance', 'type', 'is_type']:
        return ['is_instance',
            '${{self._instance_assert(first=__FIRST__, second=__SECOND__)}}']
    elif comparator in ['is_not', 'not_instance', 'is_not_instance',
        'not_type', 'is_not_type']:
        return ['is_not_instance',
            '${{bool(1-self._instance_assert(first=__FIRST__, second=__SECOND__))}}'
            ]
    elif comparator in ['em', 'empty', 'none', 'is_none', 'null', 'is_null',
        'false', 'is_false']:
        return ['is_false', '${{self._false_assert(first=__FIRST__)}}']
    elif comparator in ['nem', 'not_empty', 'not_none', 'not_null',
        'not_false', 'true', 'is_true']:
        return ['is_true', '${{bool(1-self._false_assert(first=__FIRST__))}}']
    elif comparator in ['ex', 'exist', 'exists', 'defined']:
        return ['exists', '${{bool(1-self._false_assert(first=__FIRST__))}}']
    elif comparator in ['nex', 'not_exist', 'not_exists', 'undefined',
        'not_defined']:
        return ['not_exists', '${{self._false_assert(first=__FIRST__)}}']
    elif comparator in ['re', 'reg', 'regex']:
        return ['regex',
            '${{self._regex_assert(first=__FIRST__, second=__SECOND__)}}']
    elif comparator in ['nre', 'not_re', 'not_reg', 'not_regex']:
        return ['not_regex',
            '${{bool(1-self._regex_assert(first=__FIRST__, second=__SECOND__))}}'
            ]
    elif comparator in ['json', 'is_json']:
        return ['is_json', '${{self._json_assert(first=__FIRST__)}}']
    elif comparator in ['njson', 'not_json', 'is_not_json']:
        return ['is_not_json',
            '${{bool(1-self._json_assert(first=__FIRST__))}}']
    else:
        return [comparator, None]
