diff options
Diffstat (limited to 'parse')
-rw-r--r-- | parse/ft.py | 4 | ||||
-rw-r--r-- | parse/sched.py | 2 | ||||
-rw-r--r-- | parse/tuple_table.py | 9 |
3 files changed, 12 insertions, 3 deletions
diff --git a/parse/ft.py b/parse/ft.py index a6596b7..5293b00 100644 --- a/parse/ft.py +++ b/parse/ft.py | |||
@@ -47,12 +47,12 @@ def parse_overhead(result, overhead_bin, overhead, cycles, out_dir, err_file): | |||
47 | 47 | ||
48 | def sort_ft(ft_file, err_file, out_dir): | 48 | def sort_ft(ft_file, err_file, out_dir): |
49 | '''Create and return file with sorted overheads from @ft_file.''' | 49 | '''Create and return file with sorted overheads from @ft_file.''' |
50 | out_fname = "{}/{}".format(out_dir, FT_SORTED_NAME) | 50 | out_fname = "{}/{}".format("%s/%s" % (os.getcwd(), out_dir), FT_SORTED_NAME) |
51 | 51 | ||
52 | # Sort happens in-place | 52 | # Sort happens in-place |
53 | sh.copyfile(ft_file, out_fname) | 53 | sh.copyfile(ft_file, out_fname) |
54 | cmd = [conf.BINS['ftsort'], out_fname] | 54 | cmd = [conf.BINS['ftsort'], out_fname] |
55 | ret = subprocess.call(cmd, cwd=out_dir, stderr=err_file, stdout=err_file) | 55 | ret = subprocess.call(cmd, cwd="%s/%s" % (os.getcwd(), out_dir), stderr=err_file, stdout=err_file) |
56 | 56 | ||
57 | if ret: | 57 | if ret: |
58 | raise Exception("Sort failed with command: %s" % " ".join(cmd)) | 58 | raise Exception("Sort failed with command: %s" % " ".join(cmd)) |
diff --git a/parse/sched.py b/parse/sched.py index 512ac73..ba0df5e 100644 --- a/parse/sched.py +++ b/parse/sched.py | |||
@@ -146,7 +146,7 @@ def extract_sched_data(result, data_dir, work_dir): | |||
146 | bin_files = conf.FILES['sched_data'].format(".*") | 146 | bin_files = conf.FILES['sched_data'].format(".*") |
147 | output_file = "%s/out-st" % work_dir | 147 | output_file = "%s/out-st" % work_dir |
148 | 148 | ||
149 | bins = [f for f in os.listdir(data_dir) if re.match(bin_files, f)] | 149 | bins = ["%s/%s" % (data_dir,f) for f in os.listdir(data_dir) if re.match(bin_files, f)] |
150 | if not len(bins): | 150 | if not len(bins): |
151 | return | 151 | return |
152 | 152 | ||
diff --git a/parse/tuple_table.py b/parse/tuple_table.py index e5dc39b..86006d2 100644 --- a/parse/tuple_table.py +++ b/parse/tuple_table.py | |||
@@ -23,6 +23,15 @@ class ColMap(object): | |||
23 | key += (kv[col],) | 23 | key += (kv[col],) |
24 | return key | 24 | return key |
25 | 25 | ||
26 | def get_encoding(self, kv): | ||
27 | def escape(val): | ||
28 | return str(val).replace("_", "-").replace("=", "-") | ||
29 | vals = [] | ||
30 | for key in self.col_list: | ||
31 | k, v = escape(key), escape(kv[key]) | ||
32 | vals += ["%s=%s" % (k, v)] | ||
33 | return "_".join(vals) | ||
34 | |||
26 | def __contains__(self, col): | 35 | def __contains__(self, col): |
27 | return col in self.rev_map | 36 | return col in self.rev_map |
28 | 37 | ||