def _eval_str_tuple(value):
 if (not (value.startswith('(') and value.endswith(')'))):
  raise ValueError(value)
 orig_value = value
 value = value[1:(-1)]
 result = []
 while value:
  m = _strs.match(value)
  if (m is None):
   raise ValueError(orig_value)
  result.append(m.group(1))
  value = value[len(m.group(0)):]
 return tuple(result)

def _eval_str_tuple ( value ) : if ( not ( value . startswith ( '(' ) and value . endswith ( ')' ) ) ) : raise ValueError ( value ) orig_value = value value = value [ 1 : ( - 1 ) ] result = [ ] while value : m = _strs . match ( value ) if ( m is None ) : raise ValueError ( orig_value ) result . append ( m . group ( 1 ) ) value = value [ len ( m . group ( 0 ) ) : ] return tuple ( result )
input is the repr of a tuple of strings .