Commit 6e339a34 authored by Michal Čihař's avatar Michal Čihař

Merge remote-tracking branch 'origin/master'

parents 1361255e 875ef404
Weblate's Web API
=================
Notification hooks
------------------
Notification hooks allow external applications to notify weblate that Git
repository has been updated.
Exports
-------
Weblate provides various exports to allow you further process the data.
.. http:get:: /exports/stats/(string:project)/(string:subproject)/
Retrieves statistics for given subproject in JSON format.
......@@ -25,7 +25,7 @@
# Add any Sphinx extension module names here, as strings. They can be extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = []
extensions = ['sphinxcontrib.httpdomain']
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
......
......@@ -17,6 +17,7 @@ Contents:
config
admin
management
api
faq
changes
license
......
......@@ -3,6 +3,7 @@ from django.views.decorators.csrf import csrf_exempt
from django.http import HttpResponse, HttpResponseNotAllowed, HttpResponseBadRequest
from trans.models import Project, SubProject
from django.shortcuts import get_object_or_404
from django.contrib.sites.models import Site
import json
import logging
......@@ -56,3 +57,26 @@ def github_hook(request):
s.do_update()
return HttpResponse('updated')
def export_stats(request, project, subproject):
'''
Exports stats in JSON format.
'''
subprj = get_object_or_404(SubProject, slug = subproject, project__slug = project)
response = []
site = Site.objects.get_current()
for trans in subprj.translation_set.all():
response.append({
'code': trans.language.code,
'name': trans.language.name,
'total': trans.total,
'fuzzy': trans.fuzzy,
'translated': trans.translated,
'translated_percent': trans.get_translated_percent(),
'fuzzy_percent': trans.get_fuzzy_percent(),
'url': 'http://%s/%s' % (site.domain, trans.get_absolute_url()),
})
return HttpResponse(
json.dumps(response),
mimetype = 'application/json'
)
......@@ -61,6 +61,8 @@ urlpatterns = patterns('',
url(r'^hooks/update/(?P<project>[^/]*)/$', 'trans.api.update_project'),
url(r'^hooks/github/$', 'trans.api.github_hook'),
url(r'^exports/stats/(?P<project>[^/]*)/(?P<subproject>[^/]*)/$', 'trans.api.export_stats'),
url(r'^js/get/(?P<checksum>[^/]*)/$', 'trans.views.get_string'),
url(r'^js/ignore-check/(?P<check_id>[0-9]*)/$', 'trans.views.ignore_check'),
url(r'^js/i18n/$', 'django.views.i18n.javascript_catalog', js_info_dict),
......
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