Commit 7943d29e authored by Weblate's avatar Weblate

Merge remote-tracking branch 'origin/master'

parents 0512db21 3c1861bc
......@@ -14,6 +14,7 @@ Released on ? 2014.
* Avatars can be disabled.
* Merged first and last name attributes.
* Avatars are now fetched and cached server side.
* Added support for shields.io badge.
weblate 1.8
-----------
......
......@@ -19,7 +19,7 @@
#
from django.http import HttpResponse, Http404
from django.shortcuts import render
from django.shortcuts import render, redirect
from django.core.urlresolvers import reverse
from django.views.decorators.cache import cache_page
......@@ -127,6 +127,10 @@ def render_widget(request, project, widget='287x66', color=None, lang=None):
# Construct object
widget = widget_class(obj, color, lang)
# Redirect widget
if hasattr(widget, 'redirect'):
return redirect(widget.redirect())
# Render widget
widget.render()
......
......@@ -22,8 +22,10 @@ from django.conf import settings
from django.utils.translation import ugettext as _
from PIL import Image, ImageDraw
from weblate.trans.fonts import is_base, get_font
from weblate.appsettings import ENABLE_HTTPS
from cStringIO import StringIO
import os.path
import urllib
COLOR_DATA = {
......@@ -325,3 +327,30 @@ class BadgeWidget(Widget):
)
register_widget(BadgeWidget)
class ShieldsBadgeWidget(Widget):
name = 'shields'
colors = ('badge', )
def redirect(self):
if ENABLE_HTTPS:
proto = 'https'
else:
proto = 'http'
if self.percent > 90:
color = 'brightgreen'
elif self.percent > 75:
color = 'yellow'
else:
color = 'red'
return '{0}://img.shields.io/badge/{1}-{2}-{3}.svg'.format(
proto,
urllib.quote(_('translated').encode('utf-8')),
'{0}%25'.format(self.percent),
color
)
register_widget(ShieldsBadgeWidget)
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