introduce SwMatchError exception

This allows callers further up the stack to catch the exception and
interpret it in some way (like decoding the number of remaining tries
in case of authentication errors)

Change-Id: Ia59962978745aef7038f750fa23f8dfc820645f4
This commit is contained in:
Harald Welte
2021-01-21 14:10:43 +01:00
parent 79b5ba4bdf
commit e79cc8069a
2 changed files with 13 additions and 1 deletions

View File

@@ -3,6 +3,8 @@
""" pySim: PCSC reader transport link base
"""
from pySim.exceptions import *
#
# Copyright (C) 2009-2010 Sylvain Munaut <tnt@246tNt.com>
#
@@ -100,5 +102,5 @@ class LinkBase(object):
sw_masked = sw_masked + rv[1][i].lower()
if sw.lower() != sw_masked:
raise RuntimeError("SW match failed! Expected %s and got %s." % (sw.lower(), rv[1]))
raise SwMatchError(rv[1], sw.lower())
return rv