Elisa won't launch in Turkish locale
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Moovida |
Invalid
|
Undecided
|
Unassigned |
Bug Description
Fun bug. If I hadn't seen another incarnation of this before, I'd have had no clue.
Elisa won't run if your locale is Turkish:
https:/
this is a case conversion issue - the clue is the odd casing in the line:
KeyError: 'ROUND_CEiLiNG'
There's an oddity in Turkish. The letter 'I' is not the upper-case version of the letter 'i', and vice versa (the upper-case version of 'i' is a capital 'I' with a grave accent over it, and the lower-case version of 'I' is a small 'i' with no dot - they're all different characters). Case conversion algorithms that are not aware of this will break when dealing with Turkish. This is what's going on here.
I'm not sure if this bug is in Twisted or Elisa, I can't see exactly what's doing the conversion (presumably from round_ceiling to ROUND_CEILING) that breaks. If it's in Elisa, can you fix it, and if it's in Twisted, can you tell me? Thanks.
From a quick investigation, the bug is neither in Elisa nor in twisted, but in Python itself:
osomon@ granuja: ~$ grep -in round_ceiling /usr/lib/ python2. 5/decimal. py ROUND_CEILING = 'ROUND_CEILING' ceiling( self, prec): _set_rounding( ROUND_CEILING)
130: 'ROUND_DOWN', 'ROUND_HALF_UP', 'ROUND_HALF_EVEN', 'ROUND_CEILING',
143:
345: if context.rounding == ROUND_CEILING:
1580: def _round_
3137: context.