[oe] [PATCH] Add error handling to stage-manager
Dr. Michael Lauer
mickey at vanille-media.de
Fri Apr 23 13:11:46 UTC 2010
Am 23.04.2010 um 14:42 schrieb Mickaël Chazaux:
> Add an error message telling the cause of the crash to the user.
> ---
> recipes/stage-manager/files/stage-manager | 14 +++++++++-----
> 1 files changed, 9 insertions(+), 5 deletions(-)
>
> diff --git a/recipes/stage-manager/files/stage-manager b/recipes/stage-manager/files/stage-manager
> index 536d1af..a2ecebe 100755
> --- a/recipes/stage-manager/files/stage-manager
> +++ b/recipes/stage-manager/files/stage-manager
> @@ -29,11 +29,15 @@ def read_cache(cachefile):
> lines = f.readlines()
> f.close()
> for l in lines:
> - data = l.split('|')
> - cache[data[0]] = {}
> - cache[data[0]]['ts'] = int(data[1])
> - cache[data[0]]['size'] = int(data[2])
> - cache[data[0]]['seen'] = False
> + try:
> + data = l.split('|')
> + cache[data[0]] = {}
> + cache[data[0]]['ts'] = int(data[1])
> + cache[data[0]]['size'] = int(data[2])
> + cache[data[0]]['seen'] = False
> + except IndexError, e:
> + print("Corrupted line in cachefile " + cachefile + " : " + l)
> + raise e
> return cache
>
Completely unrelated, but this code is slow. The recurring
evaluation of cache[data[0]] is not being cached or optimized,
I suggest something along:
d = cache[data[0]] = {}
d["ts"] = int(data[1])
d["size"] = int(data[2])
...
:M:
More information about the Openembedded-devel
mailing list