diff options
author | Mac Mollison <mollison@cs.unc.edu> | 2010-03-14 03:12:53 -0400 |
---|---|---|
committer | Mac Mollison <mollison@cs.unc.edu> | 2010-03-14 03:12:53 -0400 |
commit | a4377f43c14f3fb28fad1a7b1273080eaf921f57 (patch) | |
tree | e0b6798deed6b7032421f15ed17d95a3d26ee4db | |
parent | 53752df921cc50450926a57ee11301693504c5c5 (diff) |
Created maxer and skipper
Maxer: Allow a maximum number of records to be parsed
Skipper: Skip a given number of records at the beginning
-rw-r--r-- | unit_trace/maxer.py | 20 | ||||
-rw-r--r-- | unit_trace/skipper.py | 22 |
2 files changed, 42 insertions, 0 deletions
diff --git a/unit_trace/maxer.py b/unit_trace/maxer.py new file mode 100644 index 0000000..086c6bc --- /dev/null +++ b/unit_trace/maxer.py | |||
@@ -0,0 +1,20 @@ | |||
1 | ############################################################################### | ||
2 | # Description | ||
3 | ############################################################################### | ||
4 | |||
5 | # Parse at most the given number of records | ||
6 | |||
7 | ############################################################################### | ||
8 | # Public functions | ||
9 | ############################################################################### | ||
10 | |||
11 | def maxer(stream, number): | ||
12 | for record in stream: | ||
13 | if record.record_type=="event": | ||
14 | if number > 0: | ||
15 | number -= 1 | ||
16 | yield record | ||
17 | else: | ||
18 | break | ||
19 | else: | ||
20 | yield record | ||
diff --git a/unit_trace/skipper.py b/unit_trace/skipper.py new file mode 100644 index 0000000..4a3bd46 --- /dev/null +++ b/unit_trace/skipper.py | |||
@@ -0,0 +1,22 @@ | |||
1 | ############################################################################### | ||
2 | # Description | ||
3 | ############################################################################### | ||
4 | |||
5 | # Skip over the given number of records. | ||
6 | |||
7 | ############################################################################### | ||
8 | # Public functions | ||
9 | ############################################################################### | ||
10 | |||
11 | def skipper(stream, number): | ||
12 | for record in stream: | ||
13 | if record.record_type=="event": | ||
14 | if number > 0: | ||
15 | number -= 1 | ||
16 | else: | ||
17 | yield record | ||
18 | break | ||
19 | else: | ||
20 | yield record | ||
21 | for record in stream: | ||
22 | yield record | ||