Here's a snippet from the code:
english_field = oldDb[i].fieldData[0] #oldDb is a db filled
with english words
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
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.
> 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?
Cheers & hth.,
- Alf
>
>> 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"
*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
What the hell is this 'for else' loop !! :D First time I see this
statement for years.
I'd never thought I'd still learn something that basic.
My first impression is that the mechansim is not that obvious. MRAB's
need for a comment tends to confirm this.
I'll try to remember that anyway. Nice addition.
JM