summaryrefslogtreecommitdiffstats
path: root/unit_trace/viz/util.py
diff options
context:
space:
mode:
Diffstat (limited to 'unit_trace/viz/util.py')
-rw-r--r--unit_trace/viz/util.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/unit_trace/viz/util.py b/unit_trace/viz/util.py
index 430063b..12d65f4 100644
--- a/unit_trace/viz/util.py
+++ b/unit_trace/viz/util.py
@@ -63,6 +63,29 @@ class Sec(TimeUnit):
63 if time is None: return time 63 if time is None: return time
64 return time * 1000000000.0 64 return time * 1000000000.0
65 65
66def parse_time(text):
67 # perhaps the user didn't put a space between the number and
68 # the time unit
69 for i, char in enumerate(text):
70 if char == ' ':
71 break
72 elif char.isalpha():
73 text = text[0:i] + ' ' + text[i:]
74 break
75
76 tokens = text.split()
77
78 if len(tokens) > 2 or len(tokens) == 0:
79 raise ValueError
80
81 unit = None
82 if len(tokens) == 2:
83 unit = parse_unit(tokens[1])
84 else:
85 unit = MilliSec()
86
87 return unit.native_to_nsec(float(tokens[0]))
88
66def parse_unit(expr): 89def parse_unit(expr):
67 expr = expr.strip().lower() 90 expr = expr.strip().lower()
68 91