Changeset 495:0e9d648f3240

Show
Ignore:
Timestamp:
07/06/08 18:57:27 (3 months ago)
Author:
Leonard Ritter <contact@…>
Branch:
trunk
Message:

adapted code to anonymous union in zzub_event_data

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • share/aldrin/player.py

    r494 r495  
    9696                union = None 
    9797                datatype = None 
    98                 for argname,argtype in zzub.EventData._fields_: 
    99                     if argname == '': # union 
    100                         union = argtype 
    101                         break 
    102                 for argname,argtype in union._fields_: 
     98                ed = zzub.EventData() 
     99                for argname in dir(ed): 
    103100                    if argname == membername: 
    104                         datatype = argtype 
     101                        datatype = getattr(ed, argname).__class__ 
    105102                assert datatype, "couldn't find member %s in zzub_event_data_t" % membername 
    106103                for argname,argtype in datatype._fields_: 
     
    191188        args = [] 
    192189        if membername: 
    193             specdata = getattr(data,'') 
    194             specdata = getattr(specdata,membername) 
     190            specdata = getattr(data,membername) 
    195191            for argname in argnames: 
    196192                args.append(getattr(specdata, argname))