pySim-trace: catch StopIteration exception on trace file end

When the trace file end is reaced, pyShark raises a StopIteration
exception. Let's catch this exception and exit gracefully.

Related: OS#6094
Change-Id: I6ab5689b909333531d08bf46e5dfea59b161a79e
diff --git a/pySim-trace.py b/pySim-trace.py
index 8313c27..325fb8c 100755
--- a/pySim-trace.py
+++ b/pySim-trace.py
@@ -100,9 +100,15 @@
 
     def main(self):
         """Main loop of tracer: Iterates over all Apdu received from source."""
+        apdu_counter = 0
         while True:
             # obtain the next APDU from the source (blocking read)
-            apdu = self.source.read()
+            try:
+                apdu = self.source.read()
+                apdu_counter = apdu_counter + 1
+            except StopIteration:
+                print("%i APDUs parsed, stop iteration." % apdu_counter)
+                return 0
 
             if isinstance(apdu, CardReset):
                 self.rs.reset()