Replace sequential split/join calls on strings with a single replace call.

Thanks Andrew Gaul.
This commit is contained in:
Brett Cannon 2004-03-23 23:50:17 +00:00
parent 708b4dacf4
commit aaeffaf01e
2 changed files with 5 additions and 11 deletions

View file

@ -159,18 +159,16 @@ def str(val):
"""Convert float to integer, taking the locale into account."""
return format("%.12g",val)
def atof(str,func=float):
def atof(string,func=float):
"Parses a string as a float according to the locale settings."
#First, get rid of the grouping
ts = localeconv()['thousands_sep']
if ts:
s=str.split(ts)
str="".join(s)
str = str.replace(ts, '')
#next, replace the decimal point with a dot
dd = localeconv()['decimal_point']
if dd:
s=str.split(dd)
str='.'.join(s)
str = str.replace(dd, '.')
#finally, parse the string
return func(str)

View file

@ -169,9 +169,7 @@ def open(self, fullurl, data=None):
proxy = None
name = 'open_' + urltype
self.type = urltype
if '-' in name:
# replace - with _
name = '_'.join(name.split('-'))
name = name.replace('-', '_')
if not hasattr(self, name):
if proxy:
return self.open_unknown_proxy(proxy, fullurl, data)
@ -1045,9 +1043,7 @@ def unquote(s):
def unquote_plus(s):
"""unquote('%7e/abc+def') -> '~/abc def'"""
if '+' in s:
# replace '+' with ' '
s = ' '.join(s.split('+'))
s = s.replace('+', ' ')
return unquote(s)
always_safe = ('ABCDEFGHIJKLMNOPQRSTUVWXYZ'