Revision 45bc5e4a lib/utils.py
b/lib/utils.py | ||
---|---|---|
1168 | 1168 |
return None |
1169 | 1169 |
|
1170 | 1170 |
|
1171 |
def SplitTime(seconds):
|
|
1171 |
def SplitTime(value):
|
|
1172 | 1172 |
"""Splits time as floating point number into a tuple. |
1173 | 1173 |
|
1174 |
@param seconds: Time in seconds
|
|
1175 |
@type seconds: int or float
|
|
1176 |
@return: Tuple containing (seconds, milliseconds)
|
|
1174 |
@param value: Time in seconds
|
|
1175 |
@type value: int or float
|
|
1176 |
@return: Tuple containing (seconds, microseconds)
|
|
1177 | 1177 |
|
1178 | 1178 |
""" |
1179 |
seconds = round(seconds, 3) |
|
1180 |
(seconds, fraction) = divmod(seconds, 1.0) |
|
1181 |
return (int(seconds), int(round(fraction * 1000, 0))) |
|
1179 |
(seconds, microseconds) = divmod(int(value * 1000000), 1000000) |
|
1180 |
|
|
1181 |
assert 0 <= seconds, \ |
|
1182 |
"Seconds must be larger than or equal to 0, but are %s" % seconds |
|
1183 |
assert 0 <= microseconds <= 999999, \ |
|
1184 |
"Microseconds must be 0-999999, but are %s" % microseconds |
|
1185 |
|
|
1186 |
return (int(seconds), int(microseconds)) |
|
1182 | 1187 |
|
1183 | 1188 |
|
1184 | 1189 |
def MergeTime(timetuple): |
1185 | 1190 |
"""Merges a tuple into time as a floating point number. |
1186 | 1191 |
|
1187 |
@param timetuple: Time as tuple, (seconds, milliseconds)
|
|
1192 |
@param timetuple: Time as tuple, (seconds, microseconds)
|
|
1188 | 1193 |
@type timetuple: tuple |
1189 | 1194 |
@return: Time as a floating point number expressed in seconds |
1190 | 1195 |
|
1191 | 1196 |
""" |
1192 |
(seconds, milliseconds) = timetuple
|
|
1197 |
(seconds, microseconds) = timetuple
|
|
1193 | 1198 |
|
1194 |
assert 0 <= seconds, "Seconds must be larger than 0" |
|
1195 |
assert 0 <= milliseconds <= 999, "Milliseconds must be 0-999" |
|
1199 |
assert 0 <= seconds, \ |
|
1200 |
"Seconds must be larger than or equal to 0, but are %s" % seconds |
|
1201 |
assert 0 <= microseconds <= 999999, \ |
|
1202 |
"Microseconds must be 0-999999, but are %s" % microseconds |
|
1196 | 1203 |
|
1197 |
return float(seconds) + (float(1) / 1000 * milliseconds)
|
|
1204 |
return float(seconds) + (float(microseconds) * 0.000001)
|
|
1198 | 1205 |
|
1199 | 1206 |
|
1200 | 1207 |
def LockedMethod(fn): |
Also available in: Unified diff