OK. For now do:
db.periodo_academico.sistema.represent = lambda v, row=None:
mi_represent(v, _status)
but please open a ticket about this pointing to this thread. This may be a
web2py bug.
On Monday, 19 November 2012 09:44:28 UTC-6, www.diazluis.com wrote:
>
> example:
>
> b50_periodo_academico.py:
>
> db.define_table('periodo_academico',
> Field('carrera',db.carrera),
> Field('codigo', 'string', length=16), #
> Field('nombre', 'string', length=64, default='Carrera, Nombre del
> Periodo'), # odontologia 2013-2014
> Field('fecha_ini', 'date'),
> Field('fecha_fin', 'date'),
> Field('sistema', 'string', length=1, default='1'),
>
>
> #auditoria
> Field('ip', 'string', length=64, default=request.client,
> update=request.client, writable=False, readable=False),
> Field('fecha', 'date',default=request.now, update=request.now,
> writable=False, readable=False),
> Field('user_update', db.auth_user, default=id_user, update=id_user,
> writable=False, readable=False),
>
> format = '%(nombre)s'
> )
>
> # requires
> db.periodo_academico.codigo.requires =
> db.periodo_academico.nombre.requires = _requires_nombre
> db.periodo_academico.sistema.requires = IS_IN_SET(_status, zero=None)
>
> #represent
> db.periodo_academico.sistema.represent = lambda v, row: mi_represent(v,
> _status)
>
>
>
>
> db_base_config.py:
>
> _status = {
> '1':'Cerrado',
> '2':'Activo',
> '3':'Uso interno',
> }
>
>
> def mi_represent(v, almacen, row=None):
> mostrar = None
> try:
> mostrar = almacen[v]
> except:
> mostrar = '---'
> return mostrar
>
>
>
> El viernes, 16 de noviembre de 2012 17:45:23 UTC-4:30, Massimo Di Pierro
> escribió:
>>
>> some where you have a Field(...,represent=something)
>>
>> and something takes two arguments, not one. Can you show us the model?
>>
>> On Friday, 16 November 2012 08:51:32 UTC-6, www.diazluis.com wrote:
>>>
>>> {{
>>> import cStringIO
>>> stream=cStringIO.StringIO()
>>> estudiante_arancel_rows.export_to_csv_file(ofile=stream, represent=True)
>>> response.headers['Content-Type']='application/vnd.ms-excel'
>>> response.headers['Content-Disposition'] = "attachment; filename=%s" %
>>> 'data_sga.csv'
>>> response.write(stream.getvalue(), escape=False)
>>> }}
>>>
>>>
>>> Traceback (most recent call last):
>>> File "/home/diazluis2007/web2py/gluon/restricted.py", line 212, in
>>> restricted
>>> exec ccode in environment
>>> File
>>> "/home/diazluis2007/web2py/applications/sga/views/estudiante_arancel/exportar_excel.html",
>>>
>>> line 3, in <module>
>>> stream=cStringIO.StringIO()
>>> File "/home/diazluis2007/web2py/gluon/dal.py", line 9249, in
>>> export_to_csv_file
>>> value = field.represent(value)
>>> TypeError: <lambda>() takes exactly 2 arguments (1 given)
>>>
>>> web2py: 2.2.1
>>>
>>
--