From 4e318ff43491211b2f43b60736c47983f896af68 Mon Sep 17 00:00:00 2001 From: Sunil Mohan Adapa Date: Thu, 12 Jun 2014 23:17:53 +0530 Subject: [PATCH] Add a menu method to find menu items by URL --- menu.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/menu.py b/menu.py index 0092f4561..451cccf5b 100644 --- a/menu.py +++ b/menu.py @@ -29,6 +29,17 @@ class Menu(object): self.order = order self.items = [] + def find(self, url, basehref=True): + """Return a menu item with given URL""" + if basehref and url.startswith('/'): + url = cfg.server_dir + url + + for item in self.items: + if item.url == url: + return item + + raise KeyError('Menu item not found') + def sort_items(self): """Sort the items in self.items by order.""" self.items = sorted(self.items, key=lambda x: x.order, reverse=False)