damned-lies r1321 - in trunk: . stats templates/vertimus
- From: claudep svn gnome org
- To: svn-commits-list gnome org
- Subject: damned-lies r1321 - in trunk: . stats templates/vertimus
- Date: Thu, 8 Jan 2009 09:55:05 +0000 (UTC)
Author: claudep
Date: Thu Jan 8 09:55:05 2009
New Revision: 1321
URL: http://svn.gnome.org/viewvc/damned-lies?rev=1321&view=rev
Log:
2009-01-08 Claude Paroz <claude 2xlibre net>
* stats/models.py: Use utils.url_join to create URLs. Make bugs_component
optional.
Fixes bugs #566960, #566961.
* stats/utils.py: Add new url_join utility function.
* templates/vertimus/vertimus_detail.html: Show doc images icon next to
the string stats.
Modified:
trunk/ChangeLog
trunk/stats/models.py
trunk/stats/utils.py
trunk/templates/vertimus/vertimus_detail.html
Modified: trunk/stats/models.py
==============================================================================
--- trunk/stats/models.py (original)
+++ trunk/stats/models.py Thu Jan 8 09:55:05 2009
@@ -53,7 +53,7 @@
comment = models.TextField(null=True, blank=True)
bugs_base = models.CharField(max_length=50)
bugs_product = models.CharField(max_length=50)
- bugs_component = models.CharField(max_length=50)
+ bugs_component = models.CharField(max_length=50, null=True, blank=True)
vcs_type = models.CharField(max_length=5, choices=VCS_TYPE_CHOICES)
vcs_root = models.URLField(verify_exists=False)
vcs_web = models.URLField()
@@ -84,13 +84,17 @@
def get_bugs_i18n_url(self):
if self.bugs_base.find("bugzilla") != -1 or self.bugs_base.find("freedesktop") != -1:
- return "%sbuglist.cgi?product=%s&component=%s&keywords_type=anywords&keywords=I18N+L10N&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=NEEDINFO" % (self.bugs_base, self.bugs_product, self.bugs_component)
+ return utils.url_join(self.bugs_base,
+ "buglist.cgi?product=%s&keywords_type=anywords&keywords=I18N+L10N&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=NEEDINFO" % (self.bugs_product,))
else:
return None
def get_bugs_enter_url(self):
if self.bugs_base.find("bugzilla") != -1 or self.bugs_base.find("freedesktop") != -1:
- return "%senter_bug.cgi?product=%s&component=%s" % (self.bugs_base, self.bugs_product, self.bugs_component)
+ if self.bugs_component:
+ return utils.url_join(self.bugs_base, "enter_bug.cgi?product=%s&component=%s" % (self.bugs_product, self.bugs_component))
+ else:
+ return utils.url_join(self.bugs_base, "enter_bug.cgi?product=%s" % (self.bugs_product,))
else:
return self.bugs_base
@@ -182,19 +186,19 @@
def get_vcs_url(self):
if self.module.vcs_type in ('hg', 'git'):
- return "%s/%s" % (self.module.vcs_root, self.module_name)
+ return utils.url_join(self.module.vcs_root, self.module_name)
elif self.vcs_subpath:
- return "%s/%s/%s" % (self.module.vcs_root, self.module.name, self.vcs_subpath)
+ return utils.url_join(self.module.vcs_root, self.module.name, self.vcs_subpath)
elif self.is_head():
- return "%s/%s/trunk" % (self.module.vcs_root, self.module.name)
+ return utils.url_join(self.module.vcs_root, self.module.name, "trunk")
else:
- return "%s/%s/branches/%s" % (self.module.vcs_root, self.module.name, self.name)
+ return utils.url_join(self.module.vcs_root, self.module.name, "branches", self.name)
def get_vcs_web_url(self):
if self.is_head():
- return "%s/trunk" % (self.module.vcs_web)
+ return utils.url_join(self.module.vcs_web, "trunk")
else:
- return "%s/branches/%s" % (self.module.vcs_web, self.name)
+ return utils.url_join(self.module.vcs_web, "branches", self.name)
def co_path(self):
""" Returns the path of the local checkout for the branch """
@@ -968,11 +972,11 @@
def vcs_path(self):
""" Return the VCS path of file on remote vcs """
- return os.path.join(self.branch.get_vcs_url(), self.domain.directory)
+ return utils.url_join(self.branch.get_vcs_url(), self.domain.directory)
def vcs_web_path(self):
""" Return the Web interface path of file on remote vcs """
- return os.path.join(self.branch.get_vcs_web_url(), self.domain.directory)
+ return utils.url_join(self.branch.get_vcs_web_url(), self.domain.directory)
def po_path(self):
""" Return path of po file on local filesystem """
@@ -987,7 +991,7 @@
subdir = "docs/"
else:
subdir = ""
- return "/POT/%s.%s/%s%s" % (self.module_name(), self.branch.name, subdir, self.filename())
+ return utils.url_join("/POT/", self.module_name(), self.branch.name, subdir, self.filename())
def most_important_message(self):
""" Return a message of type 1.'error', or 2.'warn, or 3.'warn """
Modified: trunk/stats/utils.py
==============================================================================
--- trunk/stats/utils.py (original)
+++ trunk/stats/utils.py Thu Jan 8 09:55:05 2009
@@ -358,6 +358,15 @@
from_email="GNOME Status Pages <%s>" % (settings.WHOAREWE),
recipient_list=settings.NOTIFICATIONS_TO)
+def url_join(base, *args):
+ """ Create an url in joining base with arguments. A lot nicer than urlparse.urljoin! """
+ url = base
+ for arg in args:
+ if url[-1] != "/":
+ url += "/"
+ url += arg
+ return url
+
class Profiler(object):
def __init__(self):
self.start = time.clock()
Modified: trunk/templates/vertimus/vertimus_detail.html
==============================================================================
--- trunk/templates/vertimus/vertimus_detail.html (original)
+++ trunk/templates/vertimus/vertimus_detail.html Thu Jan 8 09:55:05 2009
@@ -46,6 +46,12 @@
<div class="untranslated" style="{{ LANGUAGE_BIDI|yesno:"right,left" }}:{{ stats.tr_percentage|add:stats.fu_percentage }}px; width: {{ stats.un_percentage }}px;"></div>
</div>
</td>
+ <td>
+ {% if stats.fig_count and stats.language %}
+ <a href="{% url stats.views.docimages module_name=module.name,potbase=stats.domain.name,branch_name=branch.name,langcode=stats.language.locale %}">
+ <img src="{{ MEDIA_URL }}img/figure.png" alt="{% trans "Display document figures" %}"></a>
+ {% endif %}
+ </td>
</tr>
</table>
@@ -61,12 +67,6 @@
</table>
{% endif %}
-{% if stats.fig_count and stats.language %}
-<p><a href="{% url stats.views.docimages module_name=module.name,potbase=stats.domain.name,branch_name=branch.name,langcode=stats.language.locale %}">
- <img src="{{ MEDIA_URL }}img/figure.png" alt="{% trans "Display document figures" %}"></a>
-</p>
-{% endif %}
-
{% if action_history %}
<h2>{% trans "Action History" %}</h2>
<div>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]