def _try_convert(value):
 def _negative_zero(value):
  epsilon = 1e-07
  return (0 if (abs(value) < epsilon) else value)
 if (len(value) == 0):
  return ''
 if (value == 'None'):
  return None
 lowered_value = value.lower()
 if (lowered_value == 'true'):
  return True
 if (lowered_value == 'false'):
  return False
 for (prefix, base) in [('0x', 16), ('0b', 2), ('0', 8), ('', 10)]:
  try:
   if lowered_value.startswith((prefix, ('-' + prefix))):
    return int(lowered_value, base)
  except ValueError:
   pass
 try:
  return _negative_zero(float(value))
 except ValueError:
  return value

def _try_convert ( value ) : def _negative_zero ( value ) : epsilon = 1e-07 return ( 0 if ( abs ( value ) < epsilon ) else value ) if ( len ( value ) == 0 ) : return '' if ( value == 'None' ) : return None lowered_value = value . lower ( ) if ( lowered_value == 'true' ) : return True if ( lowered_value == 'false' ) : return False for ( prefix , base ) in [ ( '0x' , 16 ) , ( '0b' , 2 ) , ( '0' , 8 ) , ( '' , 10 ) ] : try : if lowered_value . startswith ( ( prefix , ( '-' + prefix ) ) ) : return int ( lowered_value , base ) except ValueError : pass try : return _negative_zero ( float ( value ) ) except ValueError : return value
return a non-string from a string or unicode .