Skip to content

Commit 5c471cd

Browse files
committed
Add missing types
1 parent 147f44e commit 5c471cd

File tree

3 files changed

+92
-80
lines changed

3 files changed

+92
-80
lines changed

maxminddb/reader.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
import struct
1717
from ipaddress import IPv4Address, IPv6Address
1818
from os import PathLike
19-
from typing import IO, Any, AnyStr, Dict, List, Optional, Tuple, Union
19+
from typing import IO, Any, AnyStr, Dict, Iterator, List, Optional, Tuple, Union
2020

2121
from maxminddb.const import MODE_AUTO, MODE_FD, MODE_FILE, MODE_MEMORY, MODE_MMAP
2222
from maxminddb.decoder import Decoder
@@ -177,10 +177,10 @@ def get_with_prefix_len(
177177
return self._resolve_data_pointer(pointer), prefix_len
178178
return None, prefix_len
179179

180-
def __iter__(self):
180+
def __iter__(self) -> Iterator:
181181
return self._generate_children(0, 0, 0)
182182

183-
def _generate_children(self, node, depth, ip_acc):
183+
def _generate_children(self, node, depth, ip_acc) -> Iterator:
184184
if ip_acc != 0 and node == self._ipv4_start:
185185
# Skip nodes aliased to IPv4
186186
return

tests/decoder_test.py

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,22 @@
77

88

99
class TestDecoder(unittest.TestCase):
10-
def test_arrays(self):
10+
def test_arrays(self) -> None:
1111
arrays = {
1212
b"\x00\x04": [],
1313
b"\x01\x04\x43\x46\x6f\x6f": ["Foo"],
1414
b"\x02\x04\x43\x46\x6f\x6f\x43\xe4\xba\xba": ["Foo", "人"],
1515
}
1616
self.validate_type_decoding("arrays", arrays)
1717

18-
def test_boolean(self):
18+
def test_boolean(self) -> None:
1919
booleans = {
2020
b"\x00\x07": False,
2121
b"\x01\x07": True,
2222
}
2323
self.validate_type_decoding("booleans", booleans)
2424

25-
def test_double(self):
25+
def test_double(self) -> None:
2626
doubles = {
2727
b"\x68\x00\x00\x00\x00\x00\x00\x00\x00": 0.0,
2828
b"\x68\x3f\xe0\x00\x00\x00\x00\x00\x00": 0.5,
@@ -35,7 +35,7 @@ def test_double(self):
3535
}
3636
self.validate_type_decoding("double", doubles)
3737

38-
def test_float(self):
38+
def test_float(self) -> None:
3939
floats = {
4040
b"\x04\x08\x00\x00\x00\x00": 0.0,
4141
b"\x04\x08\x3f\x80\x00\x00": 1.0,
@@ -49,7 +49,7 @@ def test_float(self):
4949
}
5050
self.validate_type_decoding("float", floats)
5151

52-
def test_int32(self):
52+
def test_int32(self) -> None:
5353
int32 = {
5454
b"\x00\x01": 0,
5555
b"\x04\x01\xff\xff\xff\xff": -1,
@@ -66,7 +66,7 @@ def test_int32(self):
6666
}
6767
self.validate_type_decoding("int32", int32)
6868

69-
def test_map(self):
69+
def test_map(self) -> None:
7070
maps = {
7171
b"\xe0": {},
7272
b"\xe1\x42\x65\x6e\x43\x46\x6f\x6f": {"en": "Foo"},
@@ -85,7 +85,7 @@ def test_map(self):
8585
}
8686
self.validate_type_decoding("maps", maps)
8787

88-
def test_pointer(self):
88+
def test_pointer(self) -> None:
8989
pointers = {
9090
b"\x20\x00": 0,
9191
b"\x20\x05": 5,
@@ -133,17 +133,17 @@ def test_pointer(self):
133133
b"\x5f\x00\x10\x53" + 70000 * b"\x78": "x" * 70000,
134134
}
135135

136-
def test_string(self):
136+
def test_string(self) -> None:
137137
self.validate_type_decoding("string", self.strings)
138138

139-
def test_byte(self):
139+
def test_byte(self) -> None:
140140
b = {
141141
bytes([0xC0 ^ k[0]]) + k[1:]: v.encode("utf-8")
142142
for k, v in self.strings.items()
143143
}
144144
self.validate_type_decoding("byte", b)
145145

146-
def test_uint16(self):
146+
def test_uint16(self) -> None:
147147
uint16 = {
148148
b"\xa0": 0,
149149
b"\xa1\xff": 255,
@@ -153,7 +153,7 @@ def test_uint16(self):
153153
}
154154
self.validate_type_decoding("uint16", uint16)
155155

156-
def test_uint32(self):
156+
def test_uint32(self) -> None:
157157
uint32 = {
158158
b"\xc0": 0,
159159
b"\xc1\xff": 255,
@@ -165,7 +165,7 @@ def test_uint32(self):
165165
}
166166
self.validate_type_decoding("uint32", uint32)
167167

168-
def generate_large_uint(self, bits):
168+
def generate_large_uint(self, bits) -> dict:
169169
ctrl_byte = b"\x02" if bits == 64 else b"\x03"
170170
uints = {
171171
b"\x00" + ctrl_byte: 0,
@@ -178,17 +178,17 @@ def generate_large_uint(self, bits):
178178
uints[input] = expected
179179
return uints
180180

181-
def test_uint64(self):
181+
def test_uint64(self) -> None:
182182
self.validate_type_decoding("uint64", self.generate_large_uint(64))
183183

184-
def test_uint128(self):
184+
def test_uint128(self) -> None:
185185
self.validate_type_decoding("uint128", self.generate_large_uint(128))
186186

187-
def validate_type_decoding(self, type, tests):
187+
def validate_type_decoding(self, type, tests) -> None:
188188
for input, expected in tests.items():
189189
self.check_decoding(type, input, expected)
190190

191-
def check_decoding(self, type, input, expected, name=None):
191+
def check_decoding(self, type, input, expected, name=None) -> None:
192192
name = name or expected
193193
db = mmap.mmap(-1, len(input))
194194
db.write(input)
@@ -204,7 +204,7 @@ def check_decoding(self, type, input, expected, name=None):
204204
else:
205205
self.assertEqual(expected, actual, type)
206206

207-
def test_real_pointers(self):
207+
def test_real_pointers(self) -> None:
208208
with open("tests/data/test-data/maps-with-pointers.raw", "r+b") as db_file:
209209
mm = mmap.mmap(db_file.fileno(), 0)
210210
decoder = Decoder(mm, 0)

0 commit comments

Comments
 (0)