Skip to content

Commit 08fd056

Browse files
authored
Merge pull request #38 from maxmind/greg/fix-travis
Tidy with latest yapf and fix deprecation warnings
2 parents a33c64f + 88f1423 commit 08fd056

File tree

7 files changed

+62
-66
lines changed

7 files changed

+62
-66
lines changed

.pylintrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[MESSAGES CONTROL]
2-
disable=R0201,W0105
2+
disable=R0201,R0205,W0105
33

44
[BASIC]
55

maxminddb/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ def open_database(database, mode=MODE_AUTO):
3737
"MODE_MMAP_EXT requires the maxminddb.extension module to be available"
3838
)
3939
return maxminddb.extension.Reader(database)
40-
elif mode in (MODE_AUTO, MODE_MMAP, MODE_FILE, MODE_MEMORY, MODE_FD):
40+
if mode in (MODE_AUTO, MODE_MMAP, MODE_FILE, MODE_MEMORY, MODE_FD):
4141
return maxminddb.reader.Reader(database, mode)
4242
raise ValueError('Unsupported open mode: {0}'.format(mode))
4343

maxminddb/file.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,9 @@ def __init__(self, database):
2121
def __getitem__(self, key):
2222
if isinstance(key, slice):
2323
return self._read(key.stop - key.start, key.start)
24-
elif isinstance(key, int):
24+
if isinstance(key, int):
2525
return self._read(1, key)
26-
else:
27-
raise TypeError("Invalid argument type.")
26+
raise TypeError("Invalid argument type.")
2827

2928
def rfind(self, needle, start):
3029
"""Reverse find needle from start"""

maxminddb/reader.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -88,8 +88,9 @@ def __init__(self, database, mode=MODE_AUTO):
8888
(metadata, _) = metadata_decoder.decode(metadata_start)
8989
self._metadata = Metadata(**metadata) # pylint: disable=bad-option-value
9090

91-
self._decoder = Decoder(self._buffer, self._metadata.search_tree_size +
92-
self._DATA_SECTION_SEPARATOR_SIZE)
91+
self._decoder = Decoder(
92+
self._buffer, self._metadata.search_tree_size +
93+
self._DATA_SECTION_SEPARATOR_SIZE)
9394
self.closed = False
9495

9596
def metadata(self):
@@ -131,7 +132,7 @@ def _find_address_in_tree(self, ip_address):
131132
if node == self._metadata.node_count:
132133
# Record is empty
133134
return 0
134-
elif node > self._metadata.node_count:
135+
if node > self._metadata.node_count:
135136
return node
136137

137138
raise InvalidDatabaseError('Invalid node in search tree')
@@ -168,7 +169,8 @@ def _read_node(self, node_number, index):
168169
else:
169170
middle = (0xF0 & middle) >> 4
170171
offset = base_offset + index * 4
171-
node_bytes = byte_from_int(middle) + self._buffer[offset:offset + 3]
172+
node_bytes = byte_from_int(middle) + self._buffer[offset:offset +
173+
3]
172174
elif record_size == 32:
173175
offset = base_offset + index * 4
174176
node_bytes = self._buffer[offset:offset + 4]

setup.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -162,14 +162,14 @@ def run_setup(with_cext):
162162
try:
163163
run_setup(True)
164164
except BuildFailed as exc:
165-
status_msgs(exc.cause,
166-
"WARNING: The C extension could not be compiled, " +
167-
"speedups are not enabled.",
168-
"Failure information, if any, is above.",
169-
"Retrying the build without the C extension now.")
165+
status_msgs(
166+
exc.cause, "WARNING: The C extension could not be compiled, " +
167+
"speedups are not enabled.",
168+
"Failure information, if any, is above.",
169+
"Retrying the build without the C extension now.")
170170

171171
run_setup(False)
172172

173-
status_msgs("WARNING: The C extension could not be compiled, " +
174-
"speedups are not enabled.",
175-
"Plain-Python build succeeded.")
173+
status_msgs(
174+
"WARNING: The C extension could not be compiled, " +
175+
"speedups are not enabled.", "Plain-Python build succeeded.")

tests/decoder_test.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -158,8 +158,8 @@ def test_string(self):
158158

159159
def test_byte(self):
160160
# Python 2.6 doesn't support dictionary comprehension
161-
b = dict((byte_from_int(0xc0 ^ int_from_byte(k[0])) + k[1:], v.encode(
162-
'utf-8')) for k, v in self.strings.items())
161+
b = dict((byte_from_int(0xc0 ^ int_from_byte(k[0])) + k[1:],
162+
v.encode('utf-8')) for k, v in self.strings.items())
163163
self.validate_type_decoding('byte', b)
164164

165165
def test_uint16(self):

tests/reader_test.py

Lines changed: 42 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -103,9 +103,10 @@ def test_no_ipv4_search_tree(self):
103103
def test_ipv6_address_in_ipv4_database(self):
104104
reader = open_database(
105105
'tests/data/test-data/MaxMind-DB-test-ipv4-24.mmdb', self.mode)
106-
with self.assertRaisesRegex(ValueError, 'Error looking up 2001::. '
107-
'You attempted to look up an IPv6 address '
108-
'in an IPv4-only database'):
106+
with self.assertRaisesRegex(
107+
ValueError, 'Error looking up 2001::. '
108+
'You attempted to look up an IPv6 address '
109+
'in an IPv4-only database'):
109110
reader.get('2001::')
110111
reader.close()
111112

@@ -123,28 +124,28 @@ def test_no_extension_exception(self):
123124
def test_ip_object_lookup(self):
124125
reader = open_database('tests/data/test-data/GeoIP2-City-Test.mmdb',
125126
self.mode)
126-
with self.assertRaisesRegex(
127-
TypeError, "must be str(?:ing)?, not IPv6Address"):
127+
with self.assertRaisesRegex(TypeError,
128+
"must be str(?:ing)?, not IPv6Address"):
128129
reader.get(compat_ip_address('2001:220::'))
129130
reader.close()
130131

131132
def test_broken_database(self):
132-
reader = open_database('tests/data/test-data/'
133-
'GeoIP2-City-Test-Broken-Double-Format.mmdb',
134-
self.mode)
135-
with self.assertRaisesRegex(InvalidDatabaseError,
136-
"The MaxMind DB file's data "
137-
"section contains bad data \(unknown data "
138-
"type or corrupt data\)"):
133+
reader = open_database(
134+
'tests/data/test-data/'
135+
'GeoIP2-City-Test-Broken-Double-Format.mmdb', self.mode)
136+
with self.assertRaisesRegex(
137+
InvalidDatabaseError, r"The MaxMind DB file's data "
138+
r"section contains bad data \(unknown data "
139+
r"type or corrupt data\)"):
139140
reader.get('2001:220::')
140141
reader.close()
141142

142143
def test_ip_validation(self):
143144
reader = open_database(
144145
'tests/data/test-data/MaxMind-DB-test-decoder.mmdb', self.mode)
145-
self.assertRaisesRegex(ValueError,
146-
"'not_ip' does not appear to be an IPv4 or "
147-
"IPv6 address", reader.get, ('not_ip'))
146+
self.assertRaisesRegex(
147+
ValueError, "'not_ip' does not appear to be an IPv4 or "
148+
"IPv6 address", reader.get, ('not_ip'))
148149
reader.close()
149150

150151
def test_missing_database(self):
@@ -153,10 +154,11 @@ def test_missing_database(self):
153154
self.mode)
154155

155156
def test_nondatabase(self):
156-
self.assertRaisesRegex(InvalidDatabaseError,
157-
'Error opening database file \(README.rst\). '
158-
'Is this a valid MaxMind DB file\?',
159-
open_database, 'README.rst', self.mode)
157+
self.assertRaisesRegex(
158+
InvalidDatabaseError,
159+
r'Error opening database file \(README.rst\). '
160+
r'Is this a valid MaxMind DB file\?', open_database, 'README.rst',
161+
self.mode)
160162

161163
def test_too_many_constructor_args(self):
162164
cls = self.readerClass[0]
@@ -166,20 +168,18 @@ def test_bad_constructor_mode(self):
166168
cls = self.readerClass[0]
167169
self.assertRaisesRegex(
168170
ValueError,
169-
'Unsupported open mode \(100\)',
171+
r'Unsupported open mode \(100\)',
170172
cls,
171173
'README.md',
172174
mode=100)
173175

174176
def test_no_constructor_args(self):
175177
cls = self.readerClass[0]
176178
self.assertRaisesRegex(
177-
TypeError,
178-
' 1 required positional argument|'
179-
'\(pos 1\) not found|'
180-
'takes at least 2 arguments|'
181-
'function missing required argument \'database\' \(pos 1\)',
182-
cls)
179+
TypeError, r' 1 required positional argument|'
180+
r'\(pos 1\) not found|'
181+
r'takes at least 2 arguments|'
182+
r'function missing required argument \'database\' \(pos 1\)', cls)
183183

184184
def test_too_many_get_args(self):
185185
reader = open_database(
@@ -203,8 +203,9 @@ def test_metadata_unknown_attribute(self):
203203
reader = open_database(
204204
'tests/data/test-data/MaxMind-DB-test-decoder.mmdb', self.mode)
205205
metadata = reader.metadata()
206-
with self.assertRaisesRegex(AttributeError, "'Metadata' object has no "
207-
"attribute 'blah'"):
206+
with self.assertRaisesRegex(
207+
AttributeError, "'Metadata' object has no "
208+
"attribute 'blah'"):
208209
metadata.blah
209210
reader.close()
210211

@@ -226,9 +227,9 @@ def test_closed_get(self):
226227
reader = open_database(
227228
'tests/data/test-data/MaxMind-DB-test-decoder.mmdb', self.mode)
228229
reader.close()
229-
self.assertRaisesRegex(ValueError,
230-
'Attempt to read from a closed MaxMind DB.'
231-
'|closed', reader.get, ('1.1.1.1'))
230+
self.assertRaisesRegex(
231+
ValueError, 'Attempt to read from a closed MaxMind DB.'
232+
'|closed', reader.get, ('1.1.1.1'))
232233

233234
def test_with_statement(self):
234235
filename = 'tests/data/test-data/MaxMind-DB-test-ipv4-24.mmdb'
@@ -342,10 +343,8 @@ def _check_ip_v4(self, reader, file_name):
342343
address = '1.1.1.' + str(pow(2, i))
343344
self.assertEqual({
344345
'ip': address
345-
},
346-
reader.get(address),
347-
'found expected data record for ' + address +
348-
' in ' + file_name)
346+
}, reader.get(address), 'found expected data record for ' + address
347+
+ ' in ' + file_name)
349348

350349
pairs = {
351350
'1.1.1.3': '1.1.1.2',
@@ -359,10 +358,10 @@ def _check_ip_v4(self, reader, file_name):
359358
for key_address, value_address in pairs.items():
360359
data = {'ip': value_address}
361360

362-
self.assertEqual(data,
363-
reader.get(key_address),
364-
'found expected data record for ' + key_address +
365-
' in ' + file_name)
361+
self.assertEqual(
362+
data, reader.get(key_address),
363+
'found expected data record for ' + key_address + ' in ' +
364+
file_name)
366365

367366
for ip in ['1.1.1.33', '255.254.253.123']:
368367
self.assertIsNone(reader.get(ip))
@@ -375,10 +374,8 @@ def _check_ip_v6(self, reader, file_name):
375374
for address in subnets:
376375
self.assertEqual({
377376
'ip': address
378-
},
379-
reader.get(address),
380-
'found expected data record for ' + address +
381-
' in ' + file_name)
377+
}, reader.get(address), 'found expected data record for ' + address
378+
+ ' in ' + file_name)
382379

383380
pairs = {
384381
'::2:0:1': '::2:0:0',
@@ -394,10 +391,8 @@ def _check_ip_v6(self, reader, file_name):
394391
for key_address, value_address in pairs.items():
395392
self.assertEqual({
396393
'ip': value_address
397-
},
398-
reader.get(key_address),
399-
'found expected data record for ' + key_address +
400-
' in ' + file_name)
394+
}, reader.get(key_address), 'found expected data record for ' +
395+
key_address + ' in ' + file_name)
401396

402397
for ip in ['1.1.1.33', '255.254.253.123', '89fa::']:
403398
self.assertIsNone(reader.get(ip))

0 commit comments

Comments
 (0)