def shorten_line(tokens, source, indentation, indent_word, max_line_length, aggressive=False, experimental=False, previous_line=u''):
 for candidate in _shorten_line(tokens=tokens, source=source, indentation=indentation, indent_word=indent_word, aggressive=aggressive, previous_line=previous_line):
  (yield candidate)
 if aggressive:
  for key_token_strings in SHORTEN_OPERATOR_GROUPS:
   shortened = _shorten_line_at_tokens(tokens=tokens, source=source, indentation=indentation, indent_word=indent_word, key_token_strings=key_token_strings, aggressive=aggressive)
   if ((shortened is not None) and (shortened != source)):
    (yield shortened)
 if experimental:
  for shortened in _shorten_line_at_tokens_new(tokens=tokens, source=source, indentation=indentation, max_line_length=max_line_length):
   (yield shortened)

def shorten_line ( tokens , source , indentation , indent_word , max_line_length , aggressive = False , experimental = False , previous_line = u'' ) : for candidate in _shorten_line ( tokens = tokens , source = source , indentation = indentation , indent_word = indent_word , aggressive = aggressive , previous_line = previous_line ) : ( yield candidate ) if aggressive : for key_token_strings in SHORTEN_OPERATOR_GROUPS : shortened = _shorten_line_at_tokens ( tokens = tokens , source = source , indentation = indentation , indent_word = indent_word , key_token_strings = key_token_strings , aggressive = aggressive ) if ( ( shortened is not None ) and ( shortened != source ) ) : ( yield shortened ) if experimental : for shortened in _shorten_line_at_tokens_new ( tokens = tokens , source = source , indentation = indentation , max_line_length = max_line_length ) : ( yield shortened )
separate line at operator .