[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