Repeat an exception

Alf P. Steinbach alfps at start.no
Wed Feb 3 22:44:00 EST 2010


* MRAB:
> Alf P. Steinbach wrote:
>> * mf:
>>> I'm translating a db from english to spanish with the Google
>>> translator API. The problem is when a TranslationError occurs(usually
>>> because of connection problems). I can
>>> except the first one, but I don't know how to except again. I "solved"
>>> the problem by saving temp db's and then joining them, but it must be
>>> a pythonic way to do it.
>>>
>>> Here's a snippet from the code:
>>>
>>> english_field = oldDb[i].fieldData[0]           #oldDb is a db filled
>>> with english words
>>
>> Is this actual code? I may be mistaken, but at least in Python 3.x it 
>> seems there should be a comma between each 'with' expression. And 
>> there should certainly be a colon at the end.
>>
>> It's best to copy and paste real code.
>>
>> Made-up code can just be misleading for those who'd like to help.
>>
> It looks to me like the line wrapped during posting, ie the 'with' part 
> belongs to the comment.

*banging me head*

thx

What one gets from conditioning oneself to ignore comments in code.


>>>     try:
>>>         spanish_field = translate(english_field, lang_to='es',
>>> lang_from='en')
>>>     except TranslationError:
>>>         spanish_field = translate(english_field, lang_to='es',
>>> lang_from='en')
>>>
>>> #Then I save the fields into a new db
>>
>> Possibly I'm misunderstanding what you mean, but have you thought of 
>> using a loop?
>>
> In other words:
> 
> for attempt in range(2):
>     try:
>         spanish_field = translate(english_field, lang_to='es', 
> lang_from='en')
>         break
>     except TranslationError:
>         pass
> else:
>     # Didn't break out of the loop, therefore not successful.
>     print "Translation failed"

Cheers,

- Alf



More information about the Python-list mailing list