Skip to content

Commit e2d81f1

Browse files
committed
Add badge endpoint.
1 parent 086bae8 commit e2d81f1

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

readthedocs/core/views.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,16 @@ def queue_info(request):
8888

8989
return HttpResponse(resp)
9090

91+
def badge(request, project_slug, version_slug):
92+
version = get_object_or_404(Version, project__slug=project_slug,
93+
slug=version_slug)
94+
last_build = version.builds.filter(type='html').order_by('-date')[0]
95+
96+
color = 'green'
97+
if not last_build.success:
98+
color = 'red'
99+
return HttpResponseRedirect('http://img.shields.io/badge/Docs-%s-%s.svg' % (version.slug, color))
100+
91101
def live_builds(request):
92102
builds = Build.objects.filter(state='building')[:5]
93103
WEBSOCKET_HOST = getattr(settings, 'WEBSOCKET_HOST', 'localhost:8088')

readthedocs/urls.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,9 @@
9595
url(r'^wipe/(?P<project_slug>[-\w]+)/(?P<version_slug>[\w]{1}[-\w\.]+)/$',
9696
'core.views.wipe_version',
9797
name='wipe_version'),
98+
url(r'^badge/(?P<project_slug>[-\w]+)/(?P<version_slug>[\w]{1}[-\w\.]+)/$',
99+
'core.views.badge',
100+
name='badge'),
98101
url(r'^profiles/create/', 'profiles.views.create_profile',
99102
{'form_class': UserProfileForm},
100103
name='profiles_profile_create'),

0 commit comments

Comments
 (0)