book.nav module

Navigation Bar Helper.

class book.nav.NavBase(description: str, icon: str, has_child: bool, should_superuser: bool = False)[source]

Bases: object

Navigation 항목의 base 가 되는 class.

Parameters
  • description (str) – Navigation bar 에 나타날 string

  • icon (str) – Navigation bar 에 나타날 icon

  • has_child (str) – Nav Element 의 하위 항목 존재 여부

  • should_superuser (bool) – Superuser 에게만 보이게 설정

description: str = None
abstract get_active_set() → Set[str][source]

Active 로 표시할 current page set.

has_child: bool = None
icon: str = None
abstract is_active(current_page: str) → bool[source]

Nav 에서 active 표현할지를 알려주는 함수.

Parameters

current_page – 현재 page 이름

Returns

현재 page 에 관련 있으면 True, 없으면 False

should_superuser: bool = None
class book.nav.NavCollection(collection: str, child_info: dict, **kwargs)[source]

Bases: book.nav.NavBase

Child 를 가지는 Navigation.

Parameters
  • collection (str) – Collapse 를 동작 시킬 때 collection 을 구별할 변수

  • child (List[NavBase]) – child element

  • active_set (typing.Set[str]) – active 로 표시될 current page 의 set

active_set: typing.Set[str] = None
child: typing.List[NavBase] = None
collection: str = None
get_active_set() → Set[str][source]

Child 의 Active 할 page 명 리스트.

Returns

page 리스트

is_active(current_page) → bool[source]

Navigation 에서 active 로 표시 할 지 여부.

class book.nav.NavItem(template: str, argument: Dict[str, str] = None, external: bool = False, login_state: str = 'always', active_override: str = None, **kwargs)[source]

Bases: book.nav.NavBase

말단 Navigation 노드.

Parameters
  • template (str) – Link 눌렀을 때 이동할 link

  • suffix (typing.Optional[str]) – Get Argument 로 적을 내용

get_active_set() → Set[str][source]

Template 명 제공.

is_active(current_page: str)[source]

Active 여부.

suffix: typing.Optional[str] = None
template: str = None
class book.nav.NavigationFactory[source]

Bases: object

주어진 dictionary 를 적절한 Navigation 노드로 변환한다.

static get_navigation_item(info: dict)book.nav.NavBase[source]

Navigation Item 가져옴.

Parameters

info – navigation item 을 구성할 정보

Returns

collection element 를 이용하여 Collection 인지, 말단 node 인지 구분

class book.nav.Sidebar(config: List[dict])[source]

Bases: object

Navigation 의 모든 정보를 가진 클래스.

Parameters

items (typing.List[typing.Tuple]) – Navigation 정보를 가진 List, 각 항목당 horizontal line 으로 구분 됨

items: typing.List[typing.Tuple] = None
book.nav.get_render_dict(current_page: str) → dict[source]

Context 에 current_page 를 만들어 주는 함수.

Parameters

current_page (str) – 현재 page string

Returns