damned-lies r1128 - in branches/djamnedlies: . languages stats stats/management/commands teams templates templates/languages templates/teams vertimus
- From: stephaner svn gnome org
- To: svn-commits-list gnome org
- Subject: damned-lies r1128 - in branches/djamnedlies: . languages stats stats/management/commands teams templates templates/languages templates/teams vertimus
- Date: Mon, 3 Nov 2008 14:11:09 +0000 (UTC)
Author: stephaner
Date: Mon Nov 3 14:11:09 2008
New Revision: 1128
URL: http://svn.gnome.org/viewvc/damned-lies?rev=1128&view=rev
Log:
2008-11-03 StÃphane Raimbault <stephane raimbault gmail com>
Moved language components to their own 'languages' application.
* languages/admin.py: Register the new model.
* languages/models.py: Moved from stats.models with adjustments.
* languages/urls.py: Moved from stats.urls with adjustments.
* languages/views.py: Moved from stats.views with adjustments.
* settings_sample.py: Added teams, people and languages.
* stats/admin.py:
* stats/management/commands/migrate.py:
* stats/models.py: Removed Language and duplicate slug_locale().
Renamed lang in lang_name and langcode in lang_locale.
* stats/urls.py: Removed old URL.
* stats/views.py: Removed languages() and languagerelease().
* teams/models.py:
* teams/views.py: Fix wrong import from stats.
* templates/languages/language_list.html: Remove useless spaces in
title. It's simpler to directly call the team URL.
* templates/languages/language_release.html: Use locale for locale
and avoid a duplicate assignment.
* templates/languages/language_release_stats.html:
* templates/release.html: Use locale for locale!
* templates/teams/team_detail.html: New name for the view
language_release.
* urls.py: Add the languages application.
* vertimus/models.py: Updated imports.
Added:
branches/djamnedlies/languages/
branches/djamnedlies/languages/__init__.py
branches/djamnedlies/languages/admin.py
branches/djamnedlies/languages/models.py
branches/djamnedlies/languages/urls.py
branches/djamnedlies/languages/views.py
branches/djamnedlies/templates/languages/
branches/djamnedlies/templates/languages/language_list.html
- copied, changed from r1126, /branches/djamnedlies/templates/language_list.html
branches/djamnedlies/templates/languages/language_release.html
- copied, changed from r1126, /branches/djamnedlies/templates/language_release.html
branches/djamnedlies/templates/languages/language_release_stats.html
- copied unchanged from r1126, /branches/djamnedlies/templates/language_release_stats.html
Removed:
branches/djamnedlies/templates/language_list.html
branches/djamnedlies/templates/language_release.html
branches/djamnedlies/templates/language_release_stats.html
Modified:
branches/djamnedlies/ChangeLog
branches/djamnedlies/settings_sample.py
branches/djamnedlies/stats/admin.py
branches/djamnedlies/stats/management/commands/migrate.py
branches/djamnedlies/stats/models.py
branches/djamnedlies/stats/urls.py
branches/djamnedlies/stats/views.py
branches/djamnedlies/teams/models.py
branches/djamnedlies/teams/views.py
branches/djamnedlies/templates/release.html
branches/djamnedlies/templates/teams/team_detail.html
branches/djamnedlies/urls.py
branches/djamnedlies/vertimus/models.py
Added: branches/djamnedlies/languages/__init__.py
==============================================================================
Added: branches/djamnedlies/languages/admin.py
==============================================================================
--- (empty file)
+++ branches/djamnedlies/languages/admin.py Mon Nov 3 14:11:09 2008
@@ -0,0 +1,4 @@
+from django.contrib import admin
+from languages.models import Language
+
+admin.site.register(Language)
Added: branches/djamnedlies/languages/models.py
==============================================================================
--- (empty file)
+++ branches/djamnedlies/languages/models.py Mon Nov 3 14:11:09 2008
@@ -0,0 +1,43 @@
+from django.db import models
+from teams.models import Team
+
+class Language(models.Model):
+ name = models.CharField(max_length=50, unique=True)
+ locale = models.CharField(max_length=15, unique=True)
+ team = models.ForeignKey(Team, null=True)
+
+ class Meta:
+ db_table = 'language'
+ ordering = ('name',)
+
+ def __unicode__(self):
+ return "%s (%s)" % (self.name, self.locale)
+
+ @classmethod
+ def slug_locale(cls, loc_string):
+ if loc_string:
+ return loc_string.replace('@', '_at_')
+ return None
+
+ @classmethod
+ def unslug_locale(cls, loc_string):
+ if loc_string:
+ return loc_string.replace('_at_', '@')
+ return None
+
+ def bugs_url_enter(self):
+ return "http://bugzilla.gnome.org/enter_bug.cgi?product=l10n&component=%s%%20[%s]" % (self.name, self.locale)
+
+ def bugs_url_show(self):
+ return "http://bugzilla.gnome.org/buglist.cgi?product=l10n&component=%s%%20[%s]&bug_status=NEW&bug_status=REOPENED&bug_status=ASSIGNED&bug_status=UNCONFIRMED" % (self.name, self.locale)
+
+ def get_release_stats(self):
+ # FIXME Here be dragons
+ """ Get summary stats for all releases """
+ from stats.models import Release
+
+ releases = Release.objects.all().order_by('status', '-name')
+ stats = []
+ for rel in releases:
+ stats.append(rel.total_for_lang(self))
+ return stats
Added: branches/djamnedlies/languages/urls.py
==============================================================================
--- (empty file)
+++ branches/djamnedlies/languages/urls.py Mon Nov 3 14:11:09 2008
@@ -0,0 +1,6 @@
+from django.conf.urls.defaults import *
+
+urlpatterns = patterns('',
+ url(r'^$', 'languages.views.languages', name='languages'),
+ url(r'(?P<locale>\w+)/(?P<release_id>\d+)/$', 'languages.views.language_release', name='language_release'),
+)
Added: branches/djamnedlies/languages/views.py
==============================================================================
--- (empty file)
+++ branches/djamnedlies/languages/views.py Mon Nov 3 14:11:09 2008
@@ -0,0 +1,44 @@
+# -*- coding: utf-8 -*-
+#
+# Copyright (c) 2008 StÃphane Raimbault <stephane raimbault gmail com>
+#
+# This file is part of Damned Lies.
+#
+# Damned Lies is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# Damned Lies is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Damned Lies; if not, write to the Free Software Foundation, Inc.,
+# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+from django.shortcuts import render_to_response
+from common import utils
+from languages.models import Language
+from stats.models import Release
+
+def languages(request):
+ languages = Language.objects.all()
+ context = {
+ 'pageSection': "languages",
+ 'languages': utils.trans_sort_object_list(languages, 'name')
+ }
+ return render_to_response('languages/language_list.html', context)
+
+def language_release(request, locale, release_id):
+ language = Language.objects.get(locale=Language.unslug_locale(locale))
+ release = Release.objects.get(pk=release_id)
+ stats = release.get_lang_stats(language)
+ context = {
+ 'pageSection': "languages",
+ 'language': language,
+ 'release': release,
+ 'stats': stats
+ }
+ return render_to_response('languages/language_release.html', context)
Modified: branches/djamnedlies/settings_sample.py
==============================================================================
--- branches/djamnedlies/settings_sample.py (original)
+++ branches/djamnedlies/settings_sample.py Mon Nov 3 14:11:09 2008
@@ -93,6 +93,9 @@
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.admin',
+ 'languages',
+ 'people',
'stats',
+ 'teams',
'vertimus'
)
Modified: branches/djamnedlies/stats/admin.py
==============================================================================
--- branches/djamnedlies/stats/admin.py (original)
+++ branches/djamnedlies/stats/admin.py Mon Nov 3 14:11:09 2008
@@ -19,7 +19,7 @@
# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
from django.contrib import admin
-from stats.models import Statistics, Module, Branch, Category, Release, Language
+from stats.models import Statistics, Module, Branch, Category, Release
class ReleaseAdmin(admin.ModelAdmin):
list_display = ('name', 'status', 'stringfrozen')
@@ -29,4 +29,4 @@
admin.site.register(Branch)
admin.site.register(Category)
admin.site.register(Release, ReleaseAdmin)
-admin.site.register(Language)
+
Modified: branches/djamnedlies/stats/management/commands/migrate.py
==============================================================================
--- branches/djamnedlies/stats/management/commands/migrate.py (original)
+++ branches/djamnedlies/stats/management/commands/migrate.py Mon Nov 3 14:11:09 2008
@@ -3,9 +3,11 @@
from django.core.management.base import BaseCommand
from people.models import Person
from teams.models import Team
-from stats.models import Language, Module, Branch, Domain, Release, Category, Statistics
+from languages.models import Language
+from stats.models import Module, Branch, Domain, Release, Category, Statistics
from stats.conf import settings
+
class Command(BaseCommand):
""" Before the migration, set the xml_base directory to a legacy Damned Lies checkout """
Modified: branches/djamnedlies/stats/models.py
==============================================================================
--- branches/djamnedlies/stats/models.py (original)
+++ branches/djamnedlies/stats/models.py Mon Nov 3 14:11:09 2008
@@ -28,53 +28,7 @@
import potdiff
from people.models import Person
-from teams.models import Team
-
-class Language(models.Model):
- name = models.CharField(max_length=50)
- locale = models.CharField(max_length=15)
- team = models.ForeignKey(Team, null=True)
-
- class Meta:
- db_table = 'language'
- ordering = ('name',)
-
- def __unicode__(self):
- return "%s (%s)" % (self.name, self.locale)
-
- @models.permalink
- def get_absolute_url(self):
- return ('language', [self.locale])
-
- def slug_locale(self):
- return self.locale.replace('@', '_at_')
-
- @classmethod
- def slug_locale(cls, loc_string):
- if loc_string:
- return loc_string.replace('@', '_at_')
- return None
-
- @classmethod
- def unslug_locale(cls, loc_string):
- if loc_string:
- return loc_string.replace('_at_', '@')
- return None
-
- def bugs_url_enter(self):
- return "http://bugzilla.gnome.org/enter_bug.cgi?product=l10n&component=%s%%20[%s]" % (self.name, self.locale)
-
- def bugs_url_show(self):
- return "http://bugzilla.gnome.org/buglist.cgi?product=l10n&component=%s%%20[%s]&bug_status=NEW&bug_status=REOPENED&bug_status=ASSIGNED&bug_status=UNCONFIRMED" % (self.name, self.locale)
-
- def get_release_stats(self):
- """ Get summary stats for all releases """
- releases = Release.objects.all().order_by('status', '-name')
- stats = []
- for rel in releases:
- stats.append(rel.total_for_lang(self))
- return stats
-
+from languages.models import Language
VCS_TYPE_CHOICES = (
('cvs', 'CVS'),
@@ -600,11 +554,12 @@
for row in cursor.fetchall():
if not stats.has_key(row[1]):
# Initialize stats dict
- stats[row[1]] = {'lang':row[0], 'lang_code':Language.slug_locale(row[1]),
- 'doc_trans':0, 'doc_fuzzy':0, 'doc_untrans': total_docstrings,
- 'doc_percent':0, 'doc_percentfuzzy':0, 'doc_percentuntrans':100,
- 'ui_trans':0, 'ui_fuzzy':0, 'ui_untrans': total_uistrings,
- 'ui_percent':0, 'ui_percentfuzzy':0, 'ui_percentuntrans':100}
+ stats[row[1]] = {
+ 'lang_name': row[0], 'lang_locale': Language.slug_locale(row[1]),
+ 'doc_trans': 0, 'doc_fuzzy': 0, 'doc_untrans': total_docstrings,
+ 'doc_percent': 0, 'doc_percentfuzzy': 0, 'doc_percentuntrans': 100,
+ 'ui_trans': 0, 'ui_fuzzy': 0, 'ui_untrans': total_uistrings,
+ 'ui_percent': 0, 'ui_percentfuzzy': 0, 'ui_percentuntrans': 100}
if row[2] == 'doc':
stats[row[1]]['doc_trans'] = row[3]
stats[row[1]]['doc_fuzzy'] = row[4]
@@ -631,7 +586,7 @@
if not res:
res = cmp(b['doc_trans'], a['doc_trans'])
if not res:
- res = cmp(b['lang'], a['lang'])
+ res = cmp(b['lang_name'], a['lang_name'])
return res
def get_lang_stats(self, lang):
@@ -776,7 +731,10 @@
def get_lang(self):
if self.language:
- return _("%(langname)s (%(langcode)s)") % {'langname':self.language.name, 'langcode':self.language.locale}
+ return _("%(lang_name)s (%(lang_locale)s)") % {
+ 'lang_name': self.language.name,
+ 'lang_locale': self.language.locale
+ }
else:
return "pot file"
Modified: branches/djamnedlies/stats/urls.py
==============================================================================
--- branches/djamnedlies/stats/urls.py (original)
+++ branches/djamnedlies/stats/urls.py Mon Nov 3 14:11:09 2008
@@ -4,8 +4,6 @@
# FIXME All these URL must be branched under '/' not '/stats' to
# maintain an URL compatibility with the old DL
urlpatterns = patterns('stats.views',
- url(r'^languages/$', 'languages', name='languages'),
- url(r'^languages/(?P<langcode>\w+)/(?P<release_id>\d+)/$', 'languagerelease', name='languagerelease'),
url(r'^module/$', 'modules', name='modules'),
(r'^module/(?P<module_name>[\w\-\+]+)$', 'module'),
(r'^module/(?P<module_name>[\w\-\+]+)/(?P<potbase>\w+)/(?P<branch_name>[\w-]+)/(?P<langcode>\w+)/images/$', 'docimages'),
Modified: branches/djamnedlies/stats/views.py
==============================================================================
--- branches/djamnedlies/stats/views.py (original)
+++ branches/djamnedlies/stats/views.py Mon Nov 3 14:11:09 2008
@@ -19,20 +19,12 @@
# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
from django.shortcuts import render_to_response
-from stats.models import Statistics, Language, Module, Release
+from stats.models import Statistics, Module, Release
from stats.conf import settings
from djamnedlies.stats import utils
from django.http import HttpResponse
from django.utils.translation import ugettext_lazy as _
-def languages(request):
- all_languages = Language.objects.all()
- context = {
- 'pageSection': "languages",
- 'languages': utils.sortObjectList(all_languages, 'name')
- }
- return render_to_response('language_list.html', context)
-
def modules(request):
all_modules = Module.objects.all()
context = {
@@ -81,14 +73,3 @@
}
return render_to_response('release.html', context)
-def languagerelease(request, langcode, release_id):
- rel = Release.objects.get(id=release_id)
- lang = Language.objects.get(locale=Language.unslug_locale(langcode))
- rel_stats = rel.get_lang_stats(lang)
- context = {
- 'pageSection': "languages",
- 'language': lang,
- 'release': rel,
- 'stats': rel_stats
- }
- return render_to_response('language_release.html', context)
Modified: branches/djamnedlies/teams/models.py
==============================================================================
--- branches/djamnedlies/teams/models.py (original)
+++ branches/djamnedlies/teams/models.py Mon Nov 3 14:11:09 2008
@@ -20,7 +20,7 @@
from django.db import models
from django.contrib.auth.models import Group
-from stats.models import Person
+from people.models import Person
class Team(Group):
"""The name of the team is stored in Group.name.
Modified: branches/djamnedlies/teams/views.py
==============================================================================
--- branches/djamnedlies/teams/views.py (original)
+++ branches/djamnedlies/teams/views.py Mon Nov 3 14:11:09 2008
@@ -21,7 +21,7 @@
from django.shortcuts import render_to_response
from common import utils
-from stats.models import Team
+from teams.models import Team
def teams(request):
teams = Team.objects.all()
Copied: branches/djamnedlies/templates/languages/language_list.html (from r1126, /branches/djamnedlies/templates/language_list.html)
==============================================================================
--- /branches/djamnedlies/templates/language_list.html (original)
+++ branches/djamnedlies/templates/languages/language_list.html Mon Nov 3 14:11:09 2008
@@ -1,7 +1,7 @@
{% extends "base.html" %}
{% load i18n %}
-{% block title %} {% trans "GNOME Languages" %} {% endblock %}
+{% block title %}{% trans "GNOME Languages" %}{% endblock %}
{% block content %}
<div class="mainpage">
@@ -19,9 +19,9 @@
{% for lang in languages %}
<li style="font-size: 120%;">
{% if lang.name %}
- <a href="{{ lang.get_absolute_url }}">{{ lang.translated_name }}</a>
+ <a href="{{ lang.team.get_absolute_url }}">{{ lang.translated_name }}</a>
{% else %}
- <a href="{{ lang.get_absolute_url }}">{{ lang.locale }}</a>
+ <a href="{{ lang.team.get_absolute_url }}">{{ lang.locale }}</a>
{% endif %}
</li>
{% endfor %}
Copied: branches/djamnedlies/templates/languages/language_release.html (from r1126, /branches/djamnedlies/templates/language_release.html)
==============================================================================
--- /branches/djamnedlies/templates/language_release.html (original)
+++ branches/djamnedlies/templates/languages/language_release.html Mon Nov 3 14:11:09 2008
@@ -6,9 +6,9 @@
{% block content %}
<div class="mainpage">
-{% with language.locale as lcode %}
+{% with language.locale as locale %}
{% if language.team %}
- <h1>{% blocktrans with language.team.description as lang %}{{ lang }} Translation Team â {{ lcode }}{% endblocktrans %}</h1>
+ <h1>{% blocktrans with language.team.description as lang %}{{ lang }} Translation Team â {{ locale }}{% endblocktrans %}</h1>
<table><tr><td valign="top" width="50%">
<h2>{% trans "Details" %}</h2>
@@ -45,8 +45,8 @@
{% endif %}
</td></tr></table>
{% else %}
- <h1>{% blocktrans with language.locale as code %}Language code: {{ code }}{% endblocktrans %}</h1>
- <p>{% blocktrans %}There is no translation team in charge of '{{ lcode }}' translation.{% endblocktrans %}</p>
+ <h1>{% blocktrans %}Language code: {{ locale }}{% endblocktrans %}</h1>
+ <p>{% blocktrans %}There is no translation team in charge of '{{ locale }}' translation.{% endblocktrans %}</p>
{% endif %}
{% endwith %}
@@ -69,7 +69,7 @@
<td valign="top" width="50%"><!-- two columns set-up -->
<h3>{% trans "Documentation" %}</h3>
{% with stats.doc as modstats %}
- {% include "language_release_stats.html" %}
+ {% include "languages/language_release_stats.html" %}
{% endwith %}
</td>
{% endif %}
@@ -77,7 +77,7 @@
<h3>{% trans "UI translations" %}</h3>
{% with stats.ui as modstats %}
- {% include "language_release_stats.html" %}
+ {% include "languages/language_release_stats.html" %}
{% endwith %}
</td></tr></table><!-- end two column layout -->
Modified: branches/djamnedlies/templates/release.html
==============================================================================
--- branches/djamnedlies/templates/release.html (original)
+++ branches/djamnedlies/templates/release.html Mon Nov 3 14:11:09 2008
@@ -19,7 +19,7 @@
{% for lstats in release.get_global_stats %}
<tr>
<td class="leftcell" style="font-size:120%;">
- <a href="{% url languagerelease langcode=lstats.lang_code release_id=release.id %}">{% trans lstats.lang %}</a>
+ <a href="{% url language_release locale=lstats.lang_locale release_id=release.id %}">{% trans lstats.lang_name %}</a>
</td>
{% ifnotequal lstats.doc_trans|add:lstats.doc_fuzzy "0" %}
Modified: branches/djamnedlies/templates/teams/team_detail.html
==============================================================================
--- branches/djamnedlies/templates/teams/team_detail.html (original)
+++ branches/djamnedlies/templates/teams/team_detail.html Mon Nov 3 14:11:09 2008
@@ -52,7 +52,7 @@
{% for stat in lang.get_release_stats %}
<tr>
<td class="leftcell" style="font-size:120%;">
- <a href="{% url languagerelease lang.locale,stat.id %}">{{ stat.name }}</a>
+ <a href="{% url language_release lang.locale,stat.id %}">{{ stat.name }}</a>
</td>
{% if stat.doctotal %}
Modified: branches/djamnedlies/urls.py
==============================================================================
--- branches/djamnedlies/urls.py (original)
+++ branches/djamnedlies/urls.py Mon Nov 3 14:11:09 2008
@@ -7,12 +7,7 @@
# To try to respect http://www.w3.org/Provider/Style/URI
# The following URL must be added:
-# - /people/ -> all
-# - /people/<id>
-
-# - /languages/ -> all
# - /languages/<name> (not sure, redirects on team)
-# - /languages/<langcode>/<release_id>/
# - /module/ -> all
# - /module/<name>
@@ -23,6 +18,7 @@
url(r'^$', 'common.views.index', name='home'),
(r'^teams/', include('teams.urls')),
(r'^people/', include('people.urls')),
+ (r'^languages/', include('languages.urls')),
(r'^stats/', include('stats.urls')),
(r'^admin/(.*)', admin.site.root),
)
Modified: branches/djamnedlies/vertimus/models.py
==============================================================================
--- branches/djamnedlies/vertimus/models.py (original)
+++ branches/djamnedlies/vertimus/models.py Mon Nov 3 14:11:09 2008
@@ -20,8 +20,9 @@
from django.db import models
from django.utils.translation import ugettext_lazy as _
-from django.contrib.auth.models import User
-from stats.models import Person, Branch, Domain, Language
+from people.models import Person
+from languages.models import Language
+from stats.models import Branch, Domain
from workflow_state import *
ACTION_CODES = (
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]