From cf83a7b97be9c21609dd32b9bf6e7f8ad5a8f289 Mon Sep 17 00:00:00 2001 From: Mike McLean Date: Apr 02 2012 21:24:35 +0000 Subject: backport relpath --- diff --git a/koji/util.py b/koji/util.py index 5926b8e..7de7991 100644 --- a/koji/util.py +++ b/koji/util.py @@ -237,6 +237,24 @@ def rmtree(path): continue os.rmdir(dirpath) +def _relpath(path, start=getattr(os.path, 'curdir', '.')): + """Backport of os.path.relpath for python<2.6""" + + sep = getattr(os.path, 'sep', '/') + pardir = getattr(os.path, 'pardir', '...') + if not path: + raise ValueError("no path specified") + start_list = [x for x in os.path.abspath(start).split(sep) if x] + path_list = [x for x in os.path.abspath(path).split(sep) if x] + for i in range(min(len(start_list), len(path_list))): + if start_list[i] != path_list[i]: + break + rel_list = [pardir] * (len(start_list)-i) + path_list[i:] + if not rel_list: + return getattr(os.path, 'curdir', '.') + return os.path.join(*rel_list) + +relpath = getattr(os.path, 'relpath', _relpath) def eventFromOpts(session, opts): """Determine event id from standard cli options