layout: restructure into src/ tests/ android/ scripts/ tools/
- extension/src/{port,platform,codepage} -> src/; native_render -> src/host
(+ dxt, shaders/); libgr2 -> src/gr2; extension/third_party -> third_party
- extension/tests -> tests/port, libgr2/tests -> tests/gr2
- android-native -> android (build.sh, push-client.sh moved in)
- script -> scripts; tools/40250 -> tools/server; oracle -> tools/granny-oracle;
perf tools -> tools/perf
- all build trees under build/ (native, release, android, port-gate)
- xrender:: CMake aliases -> mt::; port-map ledger impl paths rewritten
No code changes. ctest 15/15, port_gate macos+android PASS, port_map check 0 errors.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
70710477cf
commit
a46093104c
+68
@@ -0,0 +1,68 @@
|
||||
"""Convert a NT pathname to a file URL and vice versa."""
|
||||
|
||||
def url2pathname(url):
|
||||
"""OS-specific conversion from a relative URL of the 'file' scheme
|
||||
to a file system path; not recommended for general use."""
|
||||
# e.g.
|
||||
# ///C|/foo/bar/spam.foo
|
||||
# and
|
||||
# ///C:/foo/bar/spam.foo
|
||||
# become
|
||||
# C:\foo\bar\spam.foo
|
||||
import string, urllib
|
||||
# Windows itself uses ":" even in URLs.
|
||||
url = url.replace(':', '|')
|
||||
if not '|' in url:
|
||||
# No drive specifier, just convert slashes
|
||||
if url[:4] == '////':
|
||||
# path is something like ////host/path/on/remote/host
|
||||
# convert this to \\host\path\on\remote\host
|
||||
# (notice halving of slashes at the start of the path)
|
||||
url = url[2:]
|
||||
components = url.split('/')
|
||||
# make sure not to convert quoted slashes :-)
|
||||
return urllib.unquote('\\'.join(components))
|
||||
comp = url.split('|')
|
||||
if len(comp) != 2 or comp[0][-1] not in string.ascii_letters:
|
||||
error = 'Bad URL: ' + url
|
||||
raise IOError, error
|
||||
drive = comp[0][-1].upper()
|
||||
path = drive + ':'
|
||||
components = comp[1].split('/')
|
||||
for comp in components:
|
||||
if comp:
|
||||
path = path + '\\' + urllib.unquote(comp)
|
||||
# Issue #11474: url like '/C|/' should convert into 'C:\\'
|
||||
if path.endswith(':') and url.endswith('/'):
|
||||
path += '\\'
|
||||
return path
|
||||
|
||||
def pathname2url(p):
|
||||
"""OS-specific conversion from a file system path to a relative URL
|
||||
of the 'file' scheme; not recommended for general use."""
|
||||
# e.g.
|
||||
# C:\foo\bar\spam.foo
|
||||
# becomes
|
||||
# ///C:/foo/bar/spam.foo
|
||||
import urllib
|
||||
if not ':' in p:
|
||||
# No drive specifier, just convert slashes and quote the name
|
||||
if p[:2] == '\\\\':
|
||||
# path is something like \\host\path\on\remote\host
|
||||
# convert this to ////host/path/on/remote/host
|
||||
# (notice doubling of slashes at the start of the path)
|
||||
p = '\\\\' + p
|
||||
components = p.split('\\')
|
||||
return urllib.quote('/'.join(components))
|
||||
comp = p.split(':')
|
||||
if len(comp) != 2 or len(comp[0]) > 1:
|
||||
error = 'Bad path: ' + p
|
||||
raise IOError, error
|
||||
|
||||
drive = urllib.quote(comp[0].upper())
|
||||
components = comp[1].split('\\')
|
||||
path = '///' + drive + ':'
|
||||
for comp in components:
|
||||
if comp:
|
||||
path = path + '/' + urllib.quote(comp)
|
||||
return path
|
||||
Reference in New Issue
Block a user