diff options
-rw-r--r-- | ishtar/furnitures/views.py | 11 | ||||
-rw-r--r-- | ishtar/furnitures/widgets.py | 5 | ||||
-rw-r--r-- | ishtar/settings.py.example | 3 |
3 files changed, 11 insertions, 8 deletions
diff --git a/ishtar/furnitures/views.py b/ishtar/furnitures/views.py index d7edbf782..432724498 100644 --- a/ishtar/furnitures/views.py +++ b/ishtar/furnitures/views.py @@ -25,8 +25,6 @@ import csv import json import datetime -CSV_OPTIONS = {'delimiter':';', 'quotechar':'"', 'quoting':csv.QUOTE_ALL} - from django.http import HttpResponse from django.template import RequestContext from django.shortcuts import render_to_response, redirect @@ -40,6 +38,9 @@ from menus import menu import forms as ishtar_forms import models +CSV_OPTIONS = {'delimiter':';', 'quotechar':'"', 'quoting':csv.QUOTE_ALL} +ENCODING = settings.ENCODING or 'utf-8' + def index(request): """ Main page @@ -199,12 +200,12 @@ def get_item(model, func_name, default_name): try: field = model._meta.get_field(field_name) except: - col_names.append(u"".encode('utf-8')) + col_names.append(u"".encode(ENCODING)) continue - col_names.append(unicode(field.verbose_name).encode('utf-8')) + col_names.append(unicode(field.verbose_name).encode(ENCODING)) writer.writerow(col_names) for data in datas: - writer.writerow([val.encode('utf-8') for val in data[1:]]) + writer.writerow([val.encode(ENCODING) for val in data[1:]]) return response return HttpResponse(None, mimetype='text/plain') diff --git a/ishtar/furnitures/widgets.py b/ishtar/furnitures/widgets.py index 439eb81fa..28853e406 100644 --- a/ishtar/furnitures/widgets.py +++ b/ishtar/furnitures/widgets.py @@ -160,10 +160,11 @@ class JQueryJqGrid(forms.RadioSelect): rendered += """<table id="grid_%s" class='jqgrid'></table>
<div id="pager_%s"></div>
""" % (name, name)
+ encoding = settings.ENCODING or 'utf-8'
rendered += """
-<div id="foot_%s" class="gridfooter"><a href="%scsv" target="_blank">%s</a></div>
+<div id="foot_%s" class="gridfooter"><a href="%scsv" target="_blank">%s (%s)</a></div>
<input type="hidden" id="hidden_%s" name="%s">""" % (name,
- unicode(self.source), unicode(_("Export as CSV")), name, name)
+ unicode(self.source), unicode(_("Export as CSV")), encoding, name, name)
rendered += """
<script type="text/javascript">
var query_vars = new Array(%(col_idx)s);
diff --git a/ishtar/settings.py.example b/ishtar/settings.py.example index 4d16fd5b2..99017d049 100644 --- a/ishtar/settings.py.example +++ b/ishtar/settings.py.example @@ -1,10 +1,11 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2010 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet> +# Copyright (C) 2010-2011 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet> # Django settings for ishtar project. # Ishtar custom SRID = 27572 +ENCODING = '' # specific encoding for CSV export - default to utf-8 ROOT_PATH = "/var/local/webapp/ishtar/ishtar/" URL_PATH = "" |