Skip to content

Commit c74e612

Browse files
author
Fede A
committed
custom dict construction
1 parent 9dab084 commit c74e612

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

tests/tests_v2.py

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,11 @@
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

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

132136
class RandomChildTransformer(BaseTransformer):
133137
def __init__(self):
134-
super().__init__({'RandomChild': RandomChildInstance})
138+
super(RandomChildTransformer, self).__init__({'RandomChild': RandomChildInstance})
135139

136140

137141
class CustomWriterTransformer(BaseTransformer):
138142
def __init__(self):
139-
super().__init__({'CustomWriter': CustomWriterInstance})
143+
super(CustomWriterTransformer, self).__init__({'CustomWriter': CustomWriterInstance})
140144

141145

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

Comments
 (0)