From 47fb28de27068ed7de5f6e6d006a5632dde05e77 Mon Sep 17 00:00:00 2001 From: Lakshmi Vyasarajan Date: Wed, 5 Jan 2011 23:43:19 +0530 Subject: [PATCH] Added url and full url properties --- hyde/site.py | 7 +++++++ hyde/tests/test_site.py | 21 +++++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/hyde/site.py b/hyde/site.py index b7a8048..25b35bc 100644 --- a/hyde/site.py +++ b/hyde/site.py @@ -175,6 +175,13 @@ class Node(Processable): """ return self.source_folder.get_relative_path(self.root.source_folder) + @property + def url(self): + return '/' + self.relative_path + + @property + def full_url(self): + return self.site.config.base_url.rstrip('/') + self.url class RootNode(Node): """ diff --git a/hyde/tests/test_site.py b/hyde/tests/test_site.py index 4118681..1504990 100644 --- a/hyde/tests/test_site.py +++ b/hyde/tests/test_site.py @@ -43,6 +43,27 @@ def test_node_module(): c = r.add_node(TEST_SITE_ROOT.child_folder('content/blog/2010/december')) assert c.module == n +def test_node_url(): + s = Site(TEST_SITE_ROOT) + r = RootNode(TEST_SITE_ROOT.child_folder('content'), s) + assert not r.module + n = r.add_node(TEST_SITE_ROOT.child_folder('content/blog')) + assert n.url == '/' + n.relative_path + assert n.url == '/blog' + c = r.add_node(TEST_SITE_ROOT.child_folder('content/blog/2010/december')) + assert c.url == '/' + c.relative_path + assert c.url == '/blog/2010/december' + +def test_node_full_url(): + s = Site(TEST_SITE_ROOT) + s.config.base_url = 'http://localhost' + r = RootNode(TEST_SITE_ROOT.child_folder('content'), s) + assert not r.module + n = r.add_node(TEST_SITE_ROOT.child_folder('content/blog')) + assert n.full_url == 'http://localhost/blog' + c = r.add_node(TEST_SITE_ROOT.child_folder('content/blog/2010/december')) + assert c.full_url == 'http://localhost/blog/2010/december' + def test_node_relative_path(): s = Site(TEST_SITE_ROOT) r = RootNode(TEST_SITE_ROOT.child_folder('content'), s)