73 lines
3.0 KiB
Python
73 lines
3.0 KiB
Python
#PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
|
|
#--------------------------------------------
|
|
#
|
|
#1. This LICENSE AGREEMENT is between the Python Software Foundation
|
|
#("PSF"), and the Individual or Organization ("Licensee") accessing and
|
|
#otherwise using this software ("Python") in source or binary form and
|
|
#its associated documentation.
|
|
#
|
|
#2. Subject to the terms and conditions of this License Agreement, PSF hereby
|
|
#grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce,
|
|
#analyze, test, perform and/or display publicly, prepare derivative works,
|
|
#distribute, and otherwise use Python alone or in any derivative version,
|
|
#provided, however, that PSF's License Agreement and PSF's notice of copyright,
|
|
#i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
|
|
#Python Software Foundation; All Rights Reserved" are retained in Python alone or
|
|
#in any derivative version prepared by Licensee.
|
|
#
|
|
#3. In the event Licensee prepares a derivative work that is based on
|
|
#or incorporates Python or any part thereof, and wants to make
|
|
#the derivative work available to others as provided herein, then
|
|
#Licensee hereby agrees to include in any such work a brief summary of
|
|
#the changes made to Python.
|
|
#
|
|
#4. PSF is making Python available to Licensee on an "AS IS"
|
|
#basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
|
|
#IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
|
|
#DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
|
|
#FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT
|
|
#INFRINGE ANY THIRD PARTY RIGHTS.
|
|
#
|
|
#5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
|
|
#FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
|
|
#A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON,
|
|
#OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
|
|
#
|
|
#6. This License Agreement will automatically terminate upon a material
|
|
#breach of its terms and conditions.
|
|
#
|
|
#7. Nothing in this License Agreement shall be deemed to create any
|
|
#relationship of agency, partnership, or joint venture between PSF and
|
|
#Licensee. This License Agreement does not grant permission to use PSF
|
|
#trademarks or trade name in a trademark sense to endorse or promote
|
|
#products or services of Licensee, or any third party.
|
|
#
|
|
#8. By copying, installing or otherwise using Python, Licensee
|
|
#agrees to be bound by the terms and conditions of this License
|
|
#Agreement.
|
|
|
|
|
|
|
|
# Changelog:
|
|
# 3-12-2010 Alan Somers Copied verbatim from posixpath.py in Python 2.6.4
|
|
|
|
|
|
|
|
from os.path import *
|
|
|
|
def relpath(path, start=curdir):
|
|
"""Return a relative version of a path"""
|
|
|
|
if not path:
|
|
raise ValueError("no path specified")
|
|
|
|
start_list = abspath(start).split(sep)
|
|
path_list = abspath(path).split(sep)
|
|
|
|
# Work out how much of the filepath is shared by start and path.
|
|
i = len(commonprefix([start_list, path_list]))
|
|
|
|
rel_list = [pardir] * (len(start_list)-i) + path_list[i:]
|
|
if not rel_list:
|
|
return curdir
|
|
return join(*rel_list) |