Hi, On Tue, Jan 26, 2016 at 09:18:30PM +0100, Petter Reinholdtsen wrote: > [Guido Günther] > > parent_url() always prefixes with a '/' so it can never be None. So > > check for that to unbreak the endless loop. > > > > This unbreaks calendars with Iceowl for me. > > Do you know what Iceowl is doing that causes the endless loop? Do you > know how to add a test for it?
This is not iceowl related. Just look at the functions mentioned in the commit message - I should have noticed during review that it can never be none: From 6ce20d5ab8acfe63df6ce24a9bb509291cfc8320 Mon Sep 17 00:00:00 2001 Message-Id: <6ce20d5ab8acfe63df6ce24a9bb509291cfc8320.1453841603.git....@sigxcpu.org> From: =?UTF-8?q?Guido=20G=C3=BCnther?= <[email protected]> Date: Tue, 26 Jan 2016 20:34:28 +0100 Subject: [PATCH] Add doctests for child_url and parent_url To: [email protected] and use docstrings instead of comments --- calypso/paths.py | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/calypso/paths.py b/calypso/paths.py index 429b901..197c5f5 100644 --- a/calypso/paths.py +++ b/calypso/paths.py @@ -86,23 +86,29 @@ def is_collection(url): return False urlpath, stripped = os.path.split(urlpath) -# -# Given a URL, return the parent URL by stripping off -# the last path element -# def parent_url(path): + """ + Given a URL, return the parent URL by stripping off the last path element + >>> parent_url("a/b/c") + '/a/b' + >>> parent_url("/") + '/' + """ path_parts = path.strip("/").split("/") path_parent = path_parts[0:len(path_parts)-1] new_path = "/" + "/".join(path_parent) return new_path -# -# Given a URL, return the child URL, which is -# the last path element -# def child_url(path): + """ + Given a URL, return the child URL, which is the last path element + >>> child_url("a/b/c") + 'c' + >>> child_url("/") + '' + """ path_parts = path.strip("/").split("/") return path_parts[len(path_parts)-1] -- 2.7.0.rc3 This is not meant to be applied since I need to do more cleanus before doctests work but it should make the problem obvious. Cheers, -- Guido _______________________________________________ Calypso mailing list [email protected] http://keithp.com/mailman/listinfo/calypso
