Damian Johnson <atagar1@xxxxxxxxx> wrote: > Thanks! Patches applied and I've released a fixed version (1.4.1.1). > There were two issues... > > - If an error occurred while resolving connections for the first time > then a missing dictionary key caused that stacktrace you saw. Trystero > also reported this on irc. > > - The root cause of that failure was the issue that you found (being > unable to parse the ps output due to an unexpected decimal value). > > Dumb question, but are you sure that it's hh:mm.ss rather than > mm:ss.ss (ie, it's providing decimal seconds)? Looks like you're right, so my patch actual made it worse. Oops. I attached another one. Again only briefly tested, though. Fabian
From 89bde2e5412bc8a50df9a65b367fa5fb85394de5 Mon Sep 17 00:00:00 2001
From: Fabian Keil <fk@xxxxxxxxxxxxx>
Date: Wed, 12 Jan 2011 18:53:23 +0100
Subject: [PATCH] Unbreak parseShortTimeLabel(). As Damian pointed out it's mm:ss.ss not hh:mm.ss
---
src/util/uiTools.py | 6 ++----
1 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/src/util/uiTools.py b/src/util/uiTools.py
index 07ea949..89fa1c3 100644
--- a/src/util/uiTools.py
+++ b/src/util/uiTools.py
@@ -333,7 +333,7 @@ def parseShortTimeLabel(timeEntry):
"""
Provides the number of seconds corresponding to the formatting used for the
cputime and etime fields of ps:
- [[dd-]hh:]mm:ss or hh:mm.ss
+ [[dd-]hh:]mm:ss or mm:ss.ss
If the input entry is malformed then this raises a ValueError.
@@ -349,14 +349,12 @@ def parseShortTimeLabel(timeEntry):
days = int(timeEntry[:dateDivider])
timeEntry = timeEntry[dateDivider+1:]
- # normalise the seconds delimiter
- timeEntry = timeEntry.replace(".", ":")
-
timeComp = timeEntry.split(":")
if len(timeComp) == 3:
hours, minutes, seconds = timeComp
elif len(timeComp) == 2:
minutes, seconds = timeComp
+ seconds = round(float(seconds))
else:
raise ValueError(errorMsg)
--
1.7.3.5
Attachment:
signature.asc
Description: PGP signature