Class to represent the nav node of any page of the website.
Module whakerkit.nodes
Class WhakerKitNavNode
Description
Constructor
Create the nav node.
Parameters
- parent
View Source
def __init__(self, parent):
"""Create the nav node."""
super(WhakerKitNavNode, self).__init__(parent)
self._nav_items = list()
self.reset()
self.set_attribute('id', 'nav-content')
Public functions
set_nav_current
Set the current nav item. Do not cancel any previous one.
Parameters
- page_name: (str) Name of the new current html page.
View Source
def set_nav_current(self, page_name: str) -> None:
"""Set the current nav item. Do not cancel any previous one.
:param page_name: (str) Name of the new current html page.
"""
if isinstance(page_name, str) is False or len(page_name) == 0:
return
(filename, _) = os.path.splitext(page_name)
if '_' in filename:
filename = filename[:filename.index('_') + 2]
for item in self._nav_items:
if item.has_attribute('href'):
value = item.get_attribute_value('href')
if value.startswith(filename) is True:
item.add_attribute('class', 'nav-current')
break
reset
To be overridden. Reset the nav to its default values.
View Source
def reset(self) -> None:
"""To be overridden. Reset the nav to its default values.
"""
self._nav_items = list()