forked from platypush/platypush
More robust handling of card removed events
This commit is contained in:
parent
b04a355cc0
commit
c73905d35d
2 changed files with 3 additions and 3 deletions
|
@ -3,7 +3,7 @@ import json
|
||||||
|
|
||||||
from smartcard.CardType import AnyCardType, ATRCardType
|
from smartcard.CardType import AnyCardType, ATRCardType
|
||||||
from smartcard.CardRequest import CardRequest
|
from smartcard.CardRequest import CardRequest
|
||||||
from smartcard.Exceptions import NoCardException
|
from smartcard.Exceptions import NoCardException, CardConnectionException
|
||||||
from smartcard.util import toHexString
|
from smartcard.util import toHexString
|
||||||
|
|
||||||
from platypush.backend import Backend
|
from platypush.backend import Backend
|
||||||
|
@ -71,7 +71,7 @@ class ScardBackend(Backend):
|
||||||
self.bus.post(SmartCardDetectedEvent(atr=atr, reader=reader))
|
self.bus.post(SmartCardDetectedEvent(atr=atr, reader=reader))
|
||||||
prev_atr = atr
|
prev_atr = atr
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
if isinstance(e, NoCardException):
|
if isinstance(e, NoCardException) or isinstance(e, CardConnectionException):
|
||||||
self.bus.post(SmartCardRemovedEvent(atr=prev_atr, reader=reader))
|
self.bus.post(SmartCardRemovedEvent(atr=prev_atr, reader=reader))
|
||||||
else:
|
else:
|
||||||
logging.exception(e)
|
logging.exception(e)
|
||||||
|
|
|
@ -8,7 +8,7 @@ class SmartCardDetectedEvent(Event):
|
||||||
|
|
||||||
class SmartCardRemovedEvent(Event):
|
class SmartCardRemovedEvent(Event):
|
||||||
def __init__(self, atr=None, reader=None, *args, **kwargs):
|
def __init__(self, atr=None, reader=None, *args, **kwargs):
|
||||||
super().__init__(*args, **kwargs)
|
super().__init__(atr=atr, reader=reader, *args, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
# vim:sw=4:ts=4:et:
|
# vim:sw=4:ts=4:et:
|
||||||
|
|
Loading…
Reference in a new issue