Skip to content

Commit 6a6a9b1

Browse files
committed
Handle invalid/expired tokens
References: simplenote-vim/simplenote.vim@22cd77f
1 parent e04b586 commit 6a6a9b1

File tree

1 file changed

+23
-2
lines changed

1 file changed

+23
-2
lines changed

simplenote/simplenote.py

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,10 @@ def get_note(self, noteid, version=None):
129129
try:
130130
response = urllib2.urlopen(request)
131131
except HTTPError as e:
132-
return e, -1
132+
if e.code == 401:
133+
raise SimplenoteLoginFailed('Login to Simplenote API failed! Check Token.')
134+
else:
135+
return e, -1
133136
except IOError as e:
134137
return e, -1
135138
note = json.loads(response.read().decode('utf-8'))
@@ -181,6 +184,11 @@ def update_note(self, note):
181184
response = ""
182185
try:
183186
response = urllib2.urlopen(request)
187+
except HTTPError as e:
188+
if e.code == 401:
189+
raise SimplenoteLoginFailed('Login to Simplenote API failed! Check Token.')
190+
else:
191+
return e, -1
184192
except IOError as e:
185193
return e, -1
186194
note = json.loads(response.read().decode('utf-8'))
@@ -269,6 +277,11 @@ def get_note_list(self, data=True, since=None, tags=[]):
269277
note_object = self.__add_simplenote_api_fields(n['d'], n['id'], n['v'])
270278
note_objects.append(note_object)
271279
notes["index"].extend(note_objects)
280+
except HTTPError as e:
281+
if e.code == 401:
282+
raise SimplenoteLoginFailed('Login to Simplenote API failed! Check Token.')
283+
else:
284+
return e, -1
272285
except IOError as e:
273286
return e, -1
274287

@@ -291,6 +304,11 @@ def get_note_list(self, data=True, since=None, tags=[]):
291304
note_object = self.__add_simplenote_api_fields(n['d'], n['id'], n['v'])
292305
note_objects.append(note_object)
293306
notes["index"].extend(note_objects)
307+
except HTTPError as e:
308+
if e.code == 401:
309+
raise SimplenoteLoginFailed('Login to Simplenote API failed! Check Token.')
310+
else:
311+
return e, -1
294312
except IOError as e:
295313
return e, -1
296314
note_list = notes["index"]
@@ -354,7 +372,10 @@ def delete_note(self, note_id):
354372
except IOError as e:
355373
return e, -1
356374
except HTTPError as e:
357-
return e, -1
375+
if e.code == 401:
376+
raise SimplenoteLoginFailed('Login to Simplenote API failed! Check Token.')
377+
else:
378+
return e, -1
358379
return {}, 0
359380

360381
def __add_simplenote_api_fields(self, note, noteid, version):

0 commit comments

Comments
 (0)