forked from platypush/platypush
Generating SmartCardRemoveEvent as well when a scard is removed
This commit is contained in:
parent
0a71e73cf0
commit
8a6dcdbf5f
2 changed files with 9 additions and 1 deletions
|
@ -3,6 +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.util import toHexString
|
from smartcard.util import toHexString
|
||||||
|
|
||||||
from platypush.backend import Backend
|
from platypush.backend import Backend
|
||||||
|
@ -68,8 +69,10 @@ 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):
|
||||||
|
prev_atr = None
|
||||||
|
self.bus.post(SmartCardRemovedEvent())
|
||||||
logging.exception(e)
|
logging.exception(e)
|
||||||
prev_atr = None
|
|
||||||
|
|
||||||
|
|
||||||
# vim:sw=4:ts=4:et:
|
# vim:sw=4:ts=4:et:
|
||||||
|
|
|
@ -6,5 +6,10 @@ class SmartCardDetectedEvent(Event):
|
||||||
super().__init__(atr=atr, reader=reader, *args, **kwargs)
|
super().__init__(atr=atr, reader=reader, *args, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
|
class SmartCardRemovedEvent(Event):
|
||||||
|
def __init__(self, *args, **kwargs):
|
||||||
|
super().__init__(*args, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
# vim:sw=4:ts=4:et:
|
# vim:sw=4:ts=4:et:
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue