6161
6262# Custom writeObject parsing classes
6363
64+ def assign_dict (fields , values ):
65+ ret = dict ()
66+ for i , v in enumerate (fields ):
67+ ret [v ] = values [i ]
68+ return ret
6469
6570class CustomWriterInstance (javaobj .beans .JavaInstance ):
6671 def __init__ (self ):
@@ -79,7 +84,7 @@ def load_from_instance(self):
7984 '>i' , BytesIO (raw_data [0 ].data ).read (4 ))[0 ]
8085 custom_obj = raw_data [1 ]
8186 values = [int_not_in_fields , custom_obj ]
82- self .field_data = dict ( zip ( fields , values ) )
87+ self .field_data = assign_dict ( fields , values )
8388 return True
8489
8590 return False
@@ -95,11 +100,10 @@ def load_from_instance(self):
95100 if self .classdesc and self .classdesc in self .field_data :
96101 fields = self .classdesc .fields_names
97102 values = self .field_data [self .classdesc ].values ()
98- self .field_data = dict ( zip ( fields , values ))
103+ self .field_data = assign_dict ( fields , list ( values ))
99104 if self .classdesc .super_class and self .classdesc .super_class in self .annotations :
100105 super_class = self .annotations [self .classdesc .super_class ][0 ]
101- self .annotations = dict (
102- zip (super_class .fields_names , super_class .field_data ))
106+ self .annotations = assign_dict (super_class .fields_names , super_class .field_data )
103107 return True
104108
105109 return False
@@ -131,17 +135,17 @@ def create_instance(self, classdesc):
131135
132136class RandomChildTransformer (BaseTransformer ):
133137 def __init__ (self ):
134- super ().__init__ ({'RandomChild' : RandomChildInstance })
138+ super (RandomChildTransformer , self ).__init__ ({'RandomChild' : RandomChildInstance })
135139
136140
137141class CustomWriterTransformer (BaseTransformer ):
138142 def __init__ (self ):
139- super ().__init__ ({'CustomWriter' : CustomWriterInstance })
143+ super (CustomWriterTransformer , self ).__init__ ({'CustomWriter' : CustomWriterInstance })
140144
141145
142146class JavaRandomTransformer (BaseTransformer ):
143147 def __init__ (self ):
144- super ().__init__ ()
148+ super (JavaRandomTransformer , self ).__init__ ()
145149 self .name = "java.util.Random"
146150 self .fields = {
147151 'haveNextNextGaussian' : javaobj .beans .FieldType .BOOLEAN ,
0 commit comments