WhakerKit 2.0

https://sourceforge.net/projects/whakerkit/

Module whakerkit.nodes

Class WhakerKitNavNode

Description

Class to represent the nav node of any page of the website.

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()