Jeje, ¿me lo dices o me lo cuentas? Estoy empezando a probar con Aeroo porque es cierto que Jasper deja muuucho que desear (amén de que no esta migrado a la versiones 7 y 8).
Bueno, pues ya he conseguido solucionar el problema con los horarios de invierno/verano. Copio abajo las modificaciones:
from osv import osv, fields
from datetime import datetime
from dateutil import tz
import time
import pytz
from openerp.tools import DEFAULT_SERVER_DATETIME_FORMAT
class mi_clase(osv.osv) :
[...]
def _get_datetime_localizado(self,cr,uid,ids,field_name,arg,context=None):
if context is None :
context = {}
res = {}
from_zone = tz.tzutc()
#to_zone = tz.tzlocal()
mitz = pytz.timezone('Europe/Madrid')
for mi_registro in self.browse(cr,uid,ids,context=context) :
datetime_txt = False
if field_name == 'race_start_txt' :
if mi_registro.race_datetime_start :
datetime_utc = datetime.strptime(
mi_registro.race_datetime_start, '%Y-%m-%d %H:%M:%S')
datetime_utc = datetime_utc.replace(tzinfo=from_zone)
#datetime_locale = datetime_utc.astimezone(to_zone)
datetime_locale = datetime_utc.astimezone(mitz)
datetime_txt = datetime.strftime(datetime_locale,DEFAULT_SERVER_DATETIME_FORMAT)
if datetime_txt :
res.update({mi_clase.id:datetime_txt})
return res
[...]
mi_clase()
Es cierto que limito el funcionamiento al timezone "Europe/Madrid", pero bueno, teniendo en cuenta que es una personalización muy concreta para un cliente nacional... lo dejaremos así hasta encontrar solución mejor o cambiarlo de versión.
Muchas gracias por la ayuda!
Álvaro Fernández