| 93 | |
| 94 | |
| 95 | class ElapsedTimeEntry(_BaseEntry): |
| 96 | def __init__(self, elapsed_time_value=None, tolerance=0.2, prefix='', |
| 97 | min_python_version=None, max_python_version=None): |
| 98 | _BaseEntry.__init__(self, prefix=prefix, |
| 99 | min_python_version=min_python_version, |
| 100 | max_python_version=max_python_version) |
| 101 | self.line_pattern = re.compile( |
| 102 | r"""^%s(?P<indent>(?: {4})*)Elapsed time: (?P<time>.*)""" % ( |
| 103 | re.escape(self.prefix), |
| 104 | ) |
| 105 | ) |
| 106 | self.elapsed_time_value = elapsed_time_value |
| 107 | self.tolerance = tolerance |
| 108 | |
| 109 | def check(self, s): |
| 110 | match = self.line_pattern.match(s) |
| 111 | if not match: |
| 112 | return False |
| 113 | timedelta = pysnooper.pycompat.timedelta_parse(match.group('time')) |
| 114 | if self.elapsed_time_value: |
| 115 | return abs(timedelta.total_seconds() - self.elapsed_time_value) \ |
| 116 | <= self.tolerance |
| 117 | else: |
| 118 | return True |
| 119 | |
| 120 | |
| 121 |
no outgoing calls