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 > > > > 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 >> >> 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 >> >