Commit 527fa89f authored by Michal Čihař's avatar Michal Čihař

Define order of widgets to list

So far they were listed random (as dictionary does not have any defined
order), so let's list them in a prefered way.

Fixes #467
Signed-off-by: default avatarMichal Čihař <michal@cihar.com>
parent 255862a6
......@@ -41,6 +41,13 @@ def widgets_root(request):
)
def widgets_sorter(widget):
"""
Provides better ordering of widgets.
"""
return WIDGETS[widget].order
def widgets(request, project):
obj = get_project(request, project)
......@@ -63,7 +70,7 @@ def widgets(request, project):
reverse('widgets', kwargs={'project': obj.slug})
)
widget_list = []
for widget_name in WIDGETS:
for widget_name in sorted(WIDGETS, key=widgets_sorter):
widget_class = WIDGETS[widget_name]
color_list = []
for color in widget_class.colors:
......
......@@ -71,6 +71,7 @@ class Widget(object):
alpha = False
extension = 'png'
content_type = 'image/png'
order = 100
def __init__(self, obj, color=None, lang=None):
'''
......@@ -252,6 +253,7 @@ class NormalWidget(Widget):
'width': 180,
'horizontal': True,
}
order = 110
def render_texts(self):
self.render_text(
......@@ -277,6 +279,7 @@ register_widget(NormalWidget)
class SmallWidget(Widget):
name = '88x31'
order = 120
def render_texts(self):
self.render_text(
......@@ -300,6 +303,7 @@ class BadgeWidget(Widget):
name = 'status'
colors = ('badge', )
alpha = True
order = 90
def get_filename(self):
if self.percent > 90:
......@@ -336,6 +340,7 @@ class ShieldsBadgeWidget(Widget):
colors = ('badge', )
extension = 'svg'
content_type = 'image/svg+xml'
order = 80
def redirect(self):
if ENABLE_HTTPS:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment