Sorry, I know this is a minor stylistic thing, but could you not put the extra line before your except and else clauses? I keep tripping over it and thinking that the block is finished.

BTW, kudos on the use of except/else -- I think we all forget it exists most of the time.