Skip to content

Commit 40be282

Browse files
authored
Merge pull request #20 from janverb/master
Use HTTPS, fix v2 API, fix error logging
2 parents a1c4ce7 + 5e5d736 commit 40be282

1 file changed

Lines changed: 14 additions & 10 deletions

File tree

pyPostcode/__init__.py

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,9 @@
99

1010
try:
1111
from urllib.request import urlopen, Request # for Python 3
12+
from urllib.error import HTTPError
1213
except ImportError:
13-
from urllib2 import urlopen, Request # for Python 2
14+
from urllib2 import urlopen, Request, HTTPError # for Python 2
1415

1516
import json
1617
import logging
@@ -30,7 +31,7 @@ def __init__(self, id, message):
3031
class Api(object):
3132

3233
def __init__(self, api_key, api_version=(3, 0, 0)):
33-
if api_key is None or api_key is '':
34+
if not api_key:
3435
raise pyPostcodeException(
3536
0, "Please request an api key on http://postcodeapi.nu")
3637

@@ -39,10 +40,10 @@ def __init__(self, api_key, api_version=(3, 0, 0)):
3940
if (2, 0, 0) <= api_version < (3, 0, 0):
4041
self.url = 'https://postcode-api.apiwise.nl'
4142
else:
42-
self.url = 'http://api.postcodeapi.nu'
43+
self.url = 'https://api.postcodeapi.nu'
4344

4445
def handleresponseerror(self, status):
45-
if status == 401:
46+
if status in [401, 403]:
4647
msg = "Access denied! Api-key missing or invalid"
4748
elif status == 404:
4849
msg = "No result found"
@@ -63,11 +64,14 @@ def request(self, path=None):
6364
"X-Api-Key": self.api_key,
6465
}
6566

66-
result = urlopen(Request(
67-
self.url + path, headers=headers,
68-
))
67+
try:
68+
result = urlopen(Request(
69+
self.url + path, headers=headers,
70+
))
71+
except HTTPError as err:
72+
self.handleresponseerror(err.code)
6973

70-
if result.getcode() is not 200:
74+
if result.getcode() != 200:
7175
self.handleresponseerror(result.getcode())
7276

7377
resultdata = result.read()
@@ -89,9 +93,9 @@ def request(self, path=None):
8993

9094
def getaddress(self, postcode, house_number=None):
9195
if (2, 0, 0) <= self.api_version < (3, 0, 0):
92-
path = '/v2/addresses/?postcode={0}'
96+
path = '/v2/addresses/?postcode={postcode}'
9397
if house_number is not None:
94-
path += '&number={1}'
98+
path += '&number={house_number}'
9599
resource = ResourceV2
96100
else:
97101
if house_number is None:

0 commit comments

Comments
 (0)