CSV export: make delimiter configurable
git-svn-id: svn://svn.cy55.de/Zope3/src/cybertools/trunk@3568 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
parent
427d043f2c
commit
eb89194421
1 changed files with 9 additions and 3 deletions
|
@ -36,6 +36,8 @@ from cybertools.stateful.interfaces import IStateful
|
||||||
class RegistrationsExportCsv(BaseView):
|
class RegistrationsExportCsv(BaseView):
|
||||||
|
|
||||||
encoding = 'ISO8859-15'
|
encoding = 'ISO8859-15'
|
||||||
|
#delimiter = ';'
|
||||||
|
delimiter = ','
|
||||||
|
|
||||||
def __init__(self, context, request):
|
def __init__(self, context, request):
|
||||||
self.context = context
|
self.context = context
|
||||||
|
@ -51,8 +53,8 @@ class RegistrationsExportCsv(BaseView):
|
||||||
|
|
||||||
def getData(self):
|
def getData(self):
|
||||||
withTemporary = self.request.get('with_temporary')
|
withTemporary = self.request.get('with_temporary')
|
||||||
yield ['Service', 'Client ID', 'Organization', 'First Name', 'Last Name', 'E-Mail',
|
yield ['Service', 'Client ID', 'Organization', 'First Name', 'Last Name',
|
||||||
'Number', 'State']
|
'E-Mail', 'Number', 'State']
|
||||||
for service in self.context.getServices():
|
for service in self.context.getServices():
|
||||||
for clientName, reg in service.registrations.items():
|
for clientName, reg in service.registrations.items():
|
||||||
client = reg.client
|
client = reg.client
|
||||||
|
@ -143,11 +145,15 @@ class RegistrationsExportCsv(BaseView):
|
||||||
return [headline] + lines
|
return [headline] + lines
|
||||||
|
|
||||||
def render(self):
|
def render(self):
|
||||||
|
delimiter = self.delimiter
|
||||||
|
xlsv = self.request.form.get('xlsv')
|
||||||
|
if xlsv == '2007':
|
||||||
|
delimiter = ';'
|
||||||
methodName = self.request.get('get_data_method', 'getAllDataInColumns')
|
methodName = self.request.get('get_data_method', 'getAllDataInColumns')
|
||||||
method = getattr(self, methodName, self.getData)
|
method = getattr(self, methodName, self.getData)
|
||||||
output = StringIO()
|
output = StringIO()
|
||||||
try:
|
try:
|
||||||
csv.writer(output, dialect='excel', delimiter=';',
|
csv.writer(output, dialect='excel', delimiter=delimiter,
|
||||||
quoting=csv.QUOTE_NONNUMERIC).writerows(method())
|
quoting=csv.QUOTE_NONNUMERIC).writerows(method())
|
||||||
except:
|
except:
|
||||||
import traceback; traceback.print_exc()
|
import traceback; traceback.print_exc()
|
||||||
|
|
Loading…
Add table
Reference in a new issue