annotate webcalc/formatters.py @ 0:1eea6356d2e5

initial import of webcalc
author k0s <k0scist@gmail.com>
date Mon, 07 Sep 2009 15:09:03 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
1eea6356d2e5 initial import of webcalc
k0s <k0scist@gmail.com>
parents:
diff changeset
1 from StringIO import StringIO
1eea6356d2e5 initial import of webcalc
k0s <k0scist@gmail.com>
parents:
diff changeset
2
1eea6356d2e5 initial import of webcalc
k0s <k0scist@gmail.com>
parents:
diff changeset
3 def CSVformat(values):
1eea6356d2e5 initial import of webcalc
k0s <k0scist@gmail.com>
parents:
diff changeset
4 if not values:
1eea6356d2e5 initial import of webcalc
k0s <k0scist@gmail.com>
parents:
diff changeset
5 return ''
1eea6356d2e5 initial import of webcalc
k0s <k0scist@gmail.com>
parents:
diff changeset
6 keys = sorted([key for key in values[0].keys()
1eea6356d2e5 initial import of webcalc
k0s <k0scist@gmail.com>
parents:
diff changeset
7 if key != 'result'])
1eea6356d2e5 initial import of webcalc
k0s <k0scist@gmail.com>
parents:
diff changeset
8 keys.append('result')
1eea6356d2e5 initial import of webcalc
k0s <k0scist@gmail.com>
parents:
diff changeset
9
1eea6356d2e5 initial import of webcalc
k0s <k0scist@gmail.com>
parents:
diff changeset
10 buffer = StringIO()
1eea6356d2e5 initial import of webcalc
k0s <k0scist@gmail.com>
parents:
diff changeset
11 if len(keys) > 1:
1eea6356d2e5 initial import of webcalc
k0s <k0scist@gmail.com>
parents:
diff changeset
12 print >> buffer, ','.join(keys)
1eea6356d2e5 initial import of webcalc
k0s <k0scist@gmail.com>
parents:
diff changeset
13 for value in values:
1eea6356d2e5 initial import of webcalc
k0s <k0scist@gmail.com>
parents:
diff changeset
14 print >> buffer, ','.join([str(value[key])
1eea6356d2e5 initial import of webcalc
k0s <k0scist@gmail.com>
parents:
diff changeset
15 for key in keys])
1eea6356d2e5 initial import of webcalc
k0s <k0scist@gmail.com>
parents:
diff changeset
16 return buffer.getvalue()
1eea6356d2e5 initial import of webcalc
k0s <k0scist@gmail.com>
parents:
diff changeset
17
1eea6356d2e5 initial import of webcalc
k0s <k0scist@gmail.com>
parents:
diff changeset
18 def JSONformat(values):
1eea6356d2e5 initial import of webcalc
k0s <k0scist@gmail.com>
parents:
diff changeset
19 import simplejson
1eea6356d2e5 initial import of webcalc
k0s <k0scist@gmail.com>
parents:
diff changeset
20 return simplejson.dumps({'values': values})