##// END OF EJS Templates
Set calling program to the empty string, when argv not in sys...
Set calling program to the empty string, when argv not in sys It might happen, then the sys module has no argv, when embeding IPython into other programs with IPython.embed(). In that case, just set the calling program to "" or other logic in IPython will crash - for instance when checking for command line arguments.

File last commit:

r10644:9aba4eb1
r11103:df671dbb
Show More
utils.py
32 lines | 1.0 KiB | text/x-python | PythonLexer
"""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 + '/'
if result == '//': result = '/'
return result