summaryrefslogtreecommitdiff
path: root/ishtar_common/menus.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2021-03-19 11:05:22 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2021-03-19 11:05:22 +0100
commit3039fae5124c00a67283c9b707e4a411149d93b1 (patch)
tree5d7fde3628825aebeeef3d85d2dfcf09a52116de /ishtar_common/menus.py
parentb38e35ad05ae5b7d1c3d45436921f573bc9e5ba6 (diff)
downloadIshtar-3039fae5124c00a67283c9b707e4a411149d93b1.tar.bz2
Ishtar-3039fae5124c00a67283c9b707e4a411149d93b1.zip
Format - black: ishtar_common
Diffstat (limited to 'ishtar_common/menus.py')
-rw-r--r--ishtar_common/menus.py53
1 files changed, 27 insertions, 26 deletions
diff --git a/ishtar_common/menus.py b/ishtar_common/menus.py
index 770990a5e..466ed18c4 100644
--- a/ishtar_common/menus.py
+++ b/ishtar_common/menus.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# Copyright (C) 2010-2017 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet>
@@ -33,14 +33,13 @@ from django.contrib.auth.models import User
_extra_menus = []
# collect menu from INSTALLED_APPS
for app in settings.INSTALLED_APPS:
- mod = __import__(app, fromlist=['ishtar_menu'])
- if hasattr(mod, 'ishtar_menu'):
- menu = getattr(mod, 'ishtar_menu')
+ mod = __import__(app, fromlist=["ishtar_menu"])
+ if hasattr(mod, "ishtar_menu"):
+ menu = getattr(mod, "ishtar_menu")
_extra_menus += menu.MENU_SECTIONS
# sort
-__section_items = [mnu for order, mnu in sorted(_extra_menus,
- key=lambda x:x[0])]
+__section_items = [mnu for order, mnu in sorted(_extra_menus, key=lambda x: x[0])]
# regroup menus
_section_items, __keys = [], []
for section_item in __section_items:
@@ -81,7 +80,8 @@ class Menu:
Force cache deletion and reinitialization of menu for all
"""
lst_cache_key = "{}-{}".format(
- settings.PROJECT_SLUG, 'menu_updated_list',
+ settings.PROJECT_SLUG,
+ "menu_updated_list",
)
lst_ids = cache.get(lst_cache_key)
if not lst_ids:
@@ -94,7 +94,8 @@ class Menu:
Stock updated information in cache
"""
lst_cache_key = "{}-{}".format(
- settings.PROJECT_SLUG, 'menu_updated_list',
+ settings.PROJECT_SLUG,
+ "menu_updated_list",
)
lst_ids = cache.get(lst_cache_key)
if not lst_ids:
@@ -120,13 +121,14 @@ class Menu:
self.user = User.objects.get(pk=user_id)
except User.DoesNotExist:
return
- cache_key = "{}-{}-{}".format(
- settings.PROJECT_SLUG, 'menu_updated',
- user_id
- )
+ cache_key = "{}-{}-{}".format(settings.PROJECT_SLUG, "menu_updated", user_id)
menu_updated = cache.get(cache_key)
- if not force and menu_updated and self.initialized \
- and self.initialized == menu_updated:
+ if (
+ not force
+ and menu_updated
+ and self.initialized
+ and self.initialized == menu_updated
+ ):
return
self.set_menu_updated_key(cache_key, user_id)
self.items = {}
@@ -143,19 +145,18 @@ class Menu:
sub_childs.pop(len(main_menu.childs) - s_idx - 1)
continue
self.items_by_idx[child.idx] = child
- if hasattr(child, 'childs'):
+ if hasattr(child, "childs"):
sub_sub_childs = child.childs[:]
for ss_idx, subchild in enumerate(reversed(child.childs)):
- if not subchild.can_be_available(
- self.user, self.session):
+ if not subchild.can_be_available(self.user, self.session):
sub_sub_childs.pop(len(child.childs) - ss_idx - 1)
continue
self.items_by_idx[subchild.idx] = subchild
child.childs = sub_sub_childs
main_menu.childs = sub_childs
selected = main_menu.set_items(
- self.user, self.items,
- self.current_action, session=self.session)
+ self.user, self.items, self.current_action, session=self.session
+ )
if selected:
self.selected_idx = idx
self.childs = childs
@@ -166,7 +167,7 @@ class Menu:
# current_sections, current_subsections, etc. are list of:
# (label, url, has_children)
- self.current_section = ''
+ self.current_section = ""
self.current_sections = []
self.current_subsection = ""
@@ -188,8 +189,8 @@ class Menu:
for menu_item in section.childs:
if not menu_item.available:
continue
- if not hasattr(menu_item, 'childs') or not menu_item.childs:
- item_url = reverse('action', args=[menu_item.idx])
+ if not hasattr(menu_item, "childs") or not menu_item.childs:
+ item_url = reverse("action", args=[menu_item.idx])
if not section_url:
section_url = item_url
subsections.append([menu_item.label, item_url, False])
@@ -205,7 +206,7 @@ class Menu:
for menu_subitem in menu_item.childs:
if not menu_subitem.available:
continue
- item_url = reverse('action', args=[menu_subitem.idx])
+ item_url = reverse("action", args=[menu_subitem.idx])
if not section_url:
section_url = item_url
if not subsection_url:
@@ -226,6 +227,6 @@ class Menu:
self.current_subsections = subsections
if not section_url:
section_url = "/"
- self.current_sections.append([section.label, section_url,
- bool(subsections)])
-
+ self.current_sections.append(
+ [section.label, section_url, bool(subsections)]
+ )