String method conversion.

This commit is contained in:
Eric S. Raymond 2001-02-09 09:48:45 +00:00
parent 51cc3bcd1c
commit db5ebc7bc9
2 changed files with 11 additions and 12 deletions

View file

@ -7,7 +7,7 @@
"""
import sys, imp, __builtin__, string
import sys, imp, __builtin__
# Replacement for __import__()
@ -30,7 +30,7 @@ def determine_parent(globals):
assert globals is parent.__dict__
return parent
if '.' in pname:
i = string.rfind(pname, '.')
i = pname.rfind('.')
pname = pname[:i]
parent = sys.modules[pname]
assert parent.__name__ == pname
@ -39,7 +39,7 @@ def determine_parent(globals):
def find_head_package(parent, name):
if '.' in name:
i = string.find(name, '.')
i = name.find('.')
head = name[:i]
tail = name[i+1:]
else:
@ -61,7 +61,7 @@ def find_head_package(parent, name):
def load_tail(q, tail):
m = q
while tail:
i = string.find(tail, '.')
i = tail.find('.')
if i < 0: i = len(tail)
head, tail = tail[:i], tail[i+1:]
mname = "%s.%s" % (m.__name__, head)
@ -111,7 +111,7 @@ def reload_hook(module):
name = module.__name__
if '.' not in name:
return import_module(name, name, None)
i = string.rfind(name, '.')
i = name.rfind('.')
pname = name[:i]
parent = sys.modules[pname]
return import_module(name[i+1:], name, parent)

View file

@ -2,7 +2,6 @@
Do not import directly; use urllib instead."""
import string
import urllib
import os
@ -21,7 +20,7 @@ def url2pathname(pathname):
pathname = pathname[2:]
elif pathname[:2] == '//':
raise RuntimeError, 'Cannot convert non-local URL to pathname'
components = string.split(pathname, '/')
components = pathname.split('/')
# Remove . and embedded ..
i = 0
while i < len(components):
@ -37,7 +36,7 @@ def url2pathname(pathname):
i = i+1
if not components[0]:
# Absolute unix path, don't start with colon
rv = string.join(components[1:], ':')
rv = ':'.join(components[1:])
else:
# relative unix path, start with colon. First replace
# leading .. by empty strings (giving ::file)
@ -45,7 +44,7 @@ def url2pathname(pathname):
while i < len(components) and components[i] == '..':
components[i] = ''
i = i + 1
rv = ':' + string.join(components, ':')
rv = ':' + ':'.join(components)
# and finally unquote slashes and other funny characters
return urllib.unquote(rv)
@ -53,7 +52,7 @@ def pathname2url(pathname):
"convert mac pathname to /-delimited pathname"
if '/' in pathname:
raise RuntimeError, "Cannot convert pathname containing slashes"
components = string.split(pathname, ':')
components = pathname.split(':')
# Remove empty first and/or last component
if components[0] == '':
del components[0]
@ -67,9 +66,9 @@ def pathname2url(pathname):
components = map(_pncomp2url, components)
if os.path.isabs(pathname):
return '/' + string.join(components, '/')
return '/' + '/'.join(components)
else:
return string.join(components, '/')
return '/'.join(components)
def _pncomp2url(component):
component = urllib.quote(component[:31], safe='') # We want to quote slashes