summaryrefslogtreecommitdiff
path: root/libmat/hachoir_editor
diff options
context:
space:
mode:
authorjvoisin2015-07-25 17:14:23 +0200
committerjvoisin2015-07-25 17:14:23 +0200
commit6ba3e3f20d7d52895bc44f9fc35b068cfce47133 (patch)
tree15df2aca17d56d941c6376ef729e0c1fea4c396f /libmat/hachoir_editor
parent85e6279d16af063e5150c7cf4bd491185b8ae788 (diff)
_MASSIVE_ pep8 revamp
Thank you so much PyCharm
Diffstat (limited to 'libmat/hachoir_editor')
-rw-r--r--libmat/hachoir_editor/typed_field.py47
1 files changed, 31 insertions, 16 deletions
diff --git a/libmat/hachoir_editor/typed_field.py b/libmat/hachoir_editor/typed_field.py
index 0f0427b..606d39b 100644
--- a/libmat/hachoir_editor/typed_field.py
+++ b/libmat/hachoir_editor/typed_field.py
@@ -5,18 +5,21 @@ from hachoir_core.field import (
5 isInteger, isString) 5 isInteger, isString)
6from field import FakeField 6from field import FakeField
7 7
8
8class EditableField(FakeField): 9class EditableField(FakeField):
9 """ 10 """
10 Pure virtual class used to write editable field class. 11 Pure virtual class used to write editable field class.
11 """ 12 """
12 13
13 _is_altered = False 14 _is_altered = False
15
14 def __init__(self, parent, name, value=None): 16 def __init__(self, parent, name, value=None):
15 FakeField.__init__(self, parent, name) 17 FakeField.__init__(self, parent, name)
16 self._value = value 18 self._value = value
17 19
18 def _isAltered(self): 20 def _isAltered(self):
19 return self._is_altered 21 return self._is_altered
22
20 is_altered = property(_isAltered) 23 is_altered = property(_isAltered)
21 24
22 def hasValue(self): 25 def hasValue(self):
@@ -24,8 +27,10 @@ class EditableField(FakeField):
24 27
25 def _computeSize(self): 28 def _computeSize(self):
26 raise NotImplementedError() 29 raise NotImplementedError()
30
27 def _getValue(self): 31 def _getValue(self):
28 return self._value 32 return self._value
33
29 def _setValue(self, value): 34 def _setValue(self, value):
30 self._value = value 35 self._value = value
31 36
@@ -34,9 +39,11 @@ class EditableField(FakeField):
34 return self._getValue() 39 return self._getValue()
35 else: 40 else:
36 return FakeField._getValue(self) 41 return FakeField._getValue(self)
42
37 def _propSetValue(self, value): 43 def _propSetValue(self, value):
38 self._setValue(value) 44 self._setValue(value)
39 self._is_altered = True 45 self._is_altered = True
46
40 value = property(_propGetValue, _propSetValue) 47 value = property(_propGetValue, _propSetValue)
41 48
42 def _getSize(self): 49 def _getSize(self):
@@ -44,6 +51,7 @@ class EditableField(FakeField):
44 return self._computeSize() 51 return self._computeSize()
45 else: 52 else:
46 return FakeField._getSize(self) 53 return FakeField._getSize(self)
54
47 size = property(_getSize) 55 size = property(_getSize)
48 56
49 def _write(self, output): 57 def _write(self, output):
@@ -55,6 +63,7 @@ class EditableField(FakeField):
55 else: 63 else:
56 return FakeField.writeInto(self, output) 64 return FakeField.writeInto(self, output)
57 65
66
58class EditableFixedField(EditableField): 67class EditableFixedField(EditableField):
59 """ 68 """
60 Editable field with fixed size. 69 Editable field with fixed size.
@@ -69,8 +78,10 @@ class EditableFixedField(EditableField):
69 78
70 def _getSize(self): 79 def _getSize(self):
71 return self._size 80 return self._size
81
72 size = property(_getSize) 82 size = property(_getSize)
73 83
84
74class EditableBits(EditableFixedField): 85class EditableBits(EditableFixedField):
75 def __init__(self, parent, name, *args): 86 def __init__(self, parent, name, *args):
76 if args: 87 if args:
@@ -90,14 +101,15 @@ class EditableBits(EditableFixedField):
90 self._is_altered = True 101 self._is_altered = True
91 102
92 def _setValue(self, value): 103 def _setValue(self, value):
93 if not(0 <= value < (1 << self._size)): 104 if not (0 <= value < (1 << self._size)):
94 raise ValueError("Invalid value, must be in range %s..%s" 105 raise ValueError("Invalid value, must be in range %s..%s"
95 % (0, (1 << self._size) - 1)) 106 % (0, (1 << self._size) - 1))
96 self._value = value 107 self._value = value
97 108
98 def _write(self, output): 109 def _write(self, output):
99 output.writeBits(self._size, self._value, self._parent.endian) 110 output.writeBits(self._size, self._value, self._parent.endian)
100 111
112
101class EditableBytes(EditableField): 113class EditableBytes(EditableField):
102 def _setValue(self, value): 114 def _setValue(self, value):
103 if not value: raise ValueError( 115 if not value: raise ValueError(
@@ -110,11 +122,12 @@ class EditableBytes(EditableField):
110 def _write(self, output): 122 def _write(self, output):
111 output.writeBytes(self._value) 123 output.writeBytes(self._value)
112 124
125
113class EditableString(EditableField): 126class EditableString(EditableField):
114 MAX_SIZE = { 127 MAX_SIZE = {
115 "Pascal8": (1 << 8)-1, 128 "Pascal8": (1 << 8) - 1,
116 "Pascal16": (1 << 16)-1, 129 "Pascal16": (1 << 16) - 1,
117 "Pascal32": (1 << 32)-1, 130 "Pascal32": (1 << 32) - 1,
118 } 131 }
119 132
120 def __init__(self, parent, name, *args, **kw): 133 def __init__(self, parent, name, *args, **kw):
@@ -152,7 +165,7 @@ class EditableString(EditableField):
152 self._value = value 165 self._value = value
153 166
154 def _computeSize(self): 167 def _computeSize(self):
155 return (self._prefix_size + len(self._value) + len(self._suffix_str))*8 168 return (self._prefix_size + len(self._value) + len(self._suffix_str)) * 8
156 169
157 def _write(self, output): 170 def _write(self, output):
158 if self._format in GenericString.SUFFIX_FORMAT: 171 if self._format in GenericString.SUFFIX_FORMAT:
@@ -166,6 +179,7 @@ class EditableString(EditableField):
166 output.writeInteger(len(self._value), False, size, self._parent.endian) 179 output.writeInteger(len(self._value), False, size, self._parent.endian)
167 output.writeBytes(self._value) 180 output.writeBytes(self._value)
168 181
182
169class EditableCharacter(EditableFixedField): 183class EditableCharacter(EditableFixedField):
170 def __init__(self, parent, name, *args): 184 def __init__(self, parent, name, *args):
171 if args: 185 if args:
@@ -190,16 +204,17 @@ class EditableCharacter(EditableFixedField):
190 def _write(self, output): 204 def _write(self, output):
191 output.writeBytes(self._value) 205 output.writeBytes(self._value)
192 206
207
193class EditableInteger(EditableFixedField): 208class EditableInteger(EditableFixedField):
194 VALID_VALUE_SIGNED = { 209 VALID_VALUE_SIGNED = {
195 8: (-(1 << 8), (1 << 8)-1), 210 8: (-(1 << 8), (1 << 8) - 1),
196 16: (-(1 << 15), (1 << 15)-1), 211 16: (-(1 << 15), (1 << 15) - 1),
197 32: (-(1 << 31), (1 << 31)-1), 212 32: (-(1 << 31), (1 << 31) - 1),
198 } 213 }
199 VALID_VALUE_UNSIGNED = { 214 VALID_VALUE_UNSIGNED = {
200 8: (0, (1 << 8)-1), 215 8: (0, (1 << 8) - 1),
201 16: (0, (1 << 16)-1), 216 16: (0, (1 << 16) - 1),
202 32: (0, (1 << 32)-1) 217 32: (0, (1 << 32) - 1)
203 } 218 }
204 219
205 def __init__(self, parent, name, *args): 220 def __init__(self, parent, name, *args):
@@ -227,14 +242,15 @@ class EditableInteger(EditableFixedField):
227 else: 242 else:
228 valid = self.VALID_VALUE_UNSIGNED 243 valid = self.VALID_VALUE_UNSIGNED
229 minval, maxval = valid[self._size] 244 minval, maxval = valid[self._size]
230 if not(minval <= value <= maxval): 245 if not (minval <= value <= maxval):
231 raise ValueError("Invalid value, must be in range %s..%s" 246 raise ValueError("Invalid value, must be in range %s..%s"
232 % (minval, maxval)) 247 % (minval, maxval))
233 self._value = value 248 self._value = value
234 249
235 def _write(self, output): 250 def _write(self, output):
236 output.writeInteger( 251 output.writeInteger(
237 self.value, self._signed, self._size//8, self._parent.endian) 252 self.value, self._signed, self._size // 8, self._parent.endian)
253
238 254
239def createEditableField(fieldset, field): 255def createEditableField(fieldset, field):
240 if isInteger(field): 256 if isInteger(field):
@@ -250,4 +266,3 @@ def createEditableField(fieldset, field):
250 else: 266 else:
251 cls = FakeField 267 cls = FakeField
252 return cls(fieldset, field.name) 268 return cls(fieldset, field.name)
253