После нескольких дней поиска и попыток использования pytz и других инструментов я не могу найти решение.GNU Health - ошибки часовых поясов
Когда пользователь создает распечатки из списка лекарства в GNU Здоровье дается ошибка:
====== ERROR=======================
Traceback (most recent call last):
File "/trytond/protocols/jsonrpc.py", line 150, in _marshaled_dispatch
response['result'] = dispatch_method(method, params)
File "/trytond/protocols/jsonrpc.py", line 179, in _dispatch
res = dispatch(*args)
File "/trytond/protocols/dispatcher.py", line 161, in dispatch
result = rpc.result(meth(*c_args, **c_kwargs))
File "/trytond/report/report.py", line 144, in execute
type, data = cls.parse(action_report, records, data, {})
File "/trytond/modules/health/report/health_report.py", line 62, in parse
localcontext['print_date'] = get_print_date()
File "/trytond/modules/health/report/health_report.py", line 42, in get_print_date
return datetime.astimezone((dt.replace(tzinfo=None))
TypeError: astimezone() argument 1 must be datetime.tzinfo, not None
============END=================
Я не знаю, как исправить эту проблему
что 'datetime.astimezone ((dt.replace (tzinfo = None))' должен делать –
? @PadraicCunningham: Я бы понял, нужно ли поднимать: 'ValueError: astimezone() нельзя применить к наивному datetime', тогда это будет эквивалентно ' dt.replace (tzinfo = None) .astimezone() 'but' TypeError' предлагает 'datetime.now (timezone.utc) .astimezone (tz = None)' как код (до Python 3.3+ , где пустой аргумент помечен как локальный часовой пояс: ['.astimezone (tz)': * Изменено в версии 3.3: tz теперь можно опустить *] (https://docs.python.org/3/library/datetime.html#datetime.dateti me.astimezone). Во всяком случае, это плохой стиль для использования 'klass.method (obj, * args)' вместо 'obj.method (* args)'. – jfs