2013-05-03 03:19:21 +08:00
|
|
|
"""Notebook related utilities
|
|
|
|
|
|
|
|
Authors:
|
|
|
|
|
|
|
|
* Brian Granger
|
|
|
|
"""
|
|
|
|
|
|
|
|
#-----------------------------------------------------------------------------
|
|
|
|
# Copyright (C) 2011 The IPython Development Team
|
|
|
|
#
|
|
|
|
# Distributed under the terms of the BSD License. The full license is in
|
|
|
|
# the file COPYING, distributed as part of this software.
|
|
|
|
#-----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
#-----------------------------------------------------------------------------
|
|
|
|
# Imports
|
|
|
|
#-----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
def url_path_join(*pieces):
|
|
|
|
"""Join components of url into a relative url
|
|
|
|
|
|
|
|
Use to prevent double slash when joining subpath. This will leave the
|
|
|
|
initial and final / in place
|
|
|
|
"""
|
|
|
|
initial = pieces[0].startswith('/')
|
|
|
|
final = pieces[-1].endswith('/')
|
|
|
|
striped = [s.strip('/') for s in pieces]
|
|
|
|
result = '/'.join(s for s in striped if s)
|
|
|
|
if initial: result = '/' + result
|
|
|
|
if final: result = result + '/'
|
2013-05-03 04:43:10 +08:00
|
|
|
if result == '//': result = '/'
|
2013-05-03 03:19:21 +08:00
|
|
|
return result
|