|
From: <jda...@us...> - 2010-06-23 16:39:40
|
Revision: 500
http://pyscard.svn.sourceforge.net/pyscard/?rev=500&view=rev
Author: jdaussel
Date: 2010-06-23 16:39:34 +0000 (Wed, 23 Jun 2010)
Log Message:
-----------
readers() method is now a staticmethod of the PCSCReader class
Modified Paths:
--------------
trunk/pyscard/src/smartcard/System.py
trunk/pyscard/src/smartcard/pcsc/PCSCReader.py
Modified: trunk/pyscard/src/smartcard/System.py
===================================================================
--- trunk/pyscard/src/smartcard/System.py 2010-06-23 12:27:32 UTC (rev 499)
+++ trunk/pyscard/src/smartcard/System.py 2010-06-23 16:39:34 UTC (rev 500)
@@ -38,7 +38,7 @@
r=smartcard.readers(['SCard$DefaultReaders', 'MyReaderGroup'])
"""
- return smartcard.pcsc.PCSCReader.readers(groups)
+ return smartcard.pcsc.PCSCReader.PCSCReader.readers(groups)
def readergroups():
Modified: trunk/pyscard/src/smartcard/pcsc/PCSCReader.py
===================================================================
--- trunk/pyscard/src/smartcard/pcsc/PCSCReader.py 2010-06-23 12:27:32 UTC (rev 499)
+++ trunk/pyscard/src/smartcard/pcsc/PCSCReader.py 2010-06-23 16:39:34 UTC (rev 500)
@@ -83,9 +83,11 @@
if 0 != hresult:
raise EstablishContextException(hresult)
try:
- hresult = SCardRemoveReaderFromGroup(hcontext, self.name, groupname)
+ hresult = SCardRemoveReaderFromGroup(hcontext, self.name,
+ groupname)
if 0 != hresult:
- raise RemoveReaderFromGroupException(hresult, self.name, groupname)
+ raise RemoveReaderFromGroupException(hresult, self.name,
+ groupname)
finally:
hresult = SCardReleaseContext(hcontext)
if 0 != hresult:
@@ -100,21 +102,29 @@
def create(self, readername):
return PCSCReader(readername)
+ def readers(groups=[]):
+ creaders = []
+ hcontext = PCSCContext().getContext()
-def readers(groups=[]):
- creaders = []
- hcontext = PCSCContext().getContext()
+ for reader in __PCSCreaders__(hcontext, groups):
+ creaders.append(ReaderFactory.createReader(
+ 'smartcard.pcsc.PCSCReader.PCSCReader', reader))
+ return creaders
+ readers = staticmethod(readers)
- for reader in __PCSCreaders__(hcontext, groups):
- creaders.append(ReaderFactory.createReader('smartcard.pcsc.PCSCReader.PCSCReader', reader))
- return creaders
-
if __name__ == '__main__':
+ from smartcard.util import *
SELECT = [0xA0, 0xA4, 0x00, 0x00, 0x02]
DF_TELECOM = [0x7F, 0x10]
- creaders = readers()
- cc = creaders[0].createConnection()
- cc.connect()
- data, sw1, sw2 = cc.transmit(SELECT + DF_TELECOM)
- print "%X %X" % (sw1, sw2)
+ creaders = PCSCReader.readers()
+ for reader in creaders:
+ try:
+ print reader.name
+ connection = reader.createConnection()
+ connection.connect()
+ print toHexString(connection.getATR())
+ data, sw1, sw2 = connection.transmit(SELECT + DF_TELECOM)
+ print "%X %X" % (sw1, sw2)
+ except NoCardException, x:
+ print 'no card in reader'
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|