Same thing with trunk...

Richard

On Tue, Mar 27, 2012 at 3:52 PM, Richard <[email protected]>wrote:

> This one to :
> https://groups.google.com/forum/?fromgroups#!topic/web2py/H_QqV2g8IgQ
>
> I experimented the problem with 1.99.4 and 1.99.7
>
> What I understand so far is that id_map get None by default, so when it
> get here :
>
> [id_map[ref_table][int(v)] \
>                              for v in bar_decode_string('|35|1|')]
>
> It clears that it will raise the exception...
>
> I try to call my import function like this :
>
> def import_csv(table, file):
>     table.import_from_csv_file(file, id_map = {})
>
> Noting better.
>
> Please help.
>
> Richard
>
>
> Le mardi 27 mars 2012 15:45:50 UTC-4, Richard a écrit :
>
>> Seems related : https://groups.google.com/**forum/#!topic/web2py/**
>> nYKsFPumXk0 <https://groups.google.com/forum/#!topic/web2py/nYKsFPumXk0>
>>
>>
>>
>> Le mardi 27 mars 2012 15:20:27 UTC-4, Richard a écrit :
>>>
>>> Hello,
>>>
>>> Is it possible the table csv import method be broken?
>>>
>>> When I use list:reference type field I can't import back a exported CSV
>>> with the appadmin.
>>>
>>> I don't understand where the None value could come from...
>>>
>>> When I try to implement my own csv import function base on this thread :
>>> https://groups.google.com/**forum/?fromgroups#!topic/**
>>> web2py/lDi0lLK_Wm0<https://groups.google.com/forum/?fromgroups#!topic/web2py/lDi0lLK_Wm0>
>>>
>>> That work fine, until I try to import data with list:reference type
>>> field (|id| or |id|id|, etc.)
>>>
>>> I get this traceback :
>>>
>>> for v in bar_decode_string(value)]
>>> TypeError: 'NoneType' object is unsubscriptable
>>>
>>>
>>>    -
>>>
>>>
>>>  Function argument list
>>>
>>> (field=<gluon.dal.Field object>, value='|35|1|', id_map=None)
>>>  Code listing
>>>
>>> 5683.
>>> 5684.
>>> 5685.
>>> 5686.
>>> 5687.
>>>
>>> 5688.
>>>
>>> 5689.
>>> 5690.
>>> 5691.
>>> 5692.
>>>
>>>             elif field.type.startswith('list:**string'):
>>>
>>>                 value = bar_decode_string(value)
>>>
>>>             elif field.type.startswith(list_**reference_s):
>>>
>>>                 ref_table = field.type[len(list_reference_**s):].strip()
>>>
>>>                 value = [id_map[ref_table][int(v)] \
>>>
>>>                              for v in bar_decode_string(value)]
>>>
>>>             elif field.type.startswith('list:')**:
>>>
>>>                 value = bar_decode_integer(value)
>>>
>>>             elif id_map and field.type.startswith('**reference'):
>>>
>>>                 try:
>>>
>>>  Variables  global bar_decode_string <function bar_decode_string> 
>>> value'|35|1|'
>>> v '35'
>>>
>>> What is exactly id_map?
>>>
>>> I think problem is coming from there...
>>>
>>> Thanks
>>>
>>> Richard
>>>
>>

Reply via email to