-
Notifications
You must be signed in to change notification settings - Fork 82
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Python 3.5.1 + Django 1.9, возвращает пустую строку для дат #32
Comments
Честно говоря не представляю, проблема еще актуальна? |
Я уж и забыл) Проверю на днях |
Для Python 3.6 все еще актуально Но я пытаюсь получить чисто месяц PS: чтобы не быть голословным: >>> pytils.dt.ru_strftime('%B', inflected=False, date=datetime.datetime.fromtimestamp(1540209256))
'' |
Очень странно, у меня не воспроизводится на python 3.6.6. Попробуйте воткнуть ipdb в функцию ru_strftime и понять на каком моменте все ломается. |
Наткнулся на интересное поведение: >>> dt.strftime('october')
'october'
>>> dt.strftime('октябрь')
'' Похоже что на маке работает только после: locale.setlocale(locale.LC_ALL, 'ru_RU.UTF-8') Но при этом на Linux если я буквально ставлю PS: Подозреваю ноги могут отсюда расти. |
Столкнулся с такой же проблемой пустой даты. Это проблема не pytils. Пустая строка возвращается уже из вызова Причина вот в чем скорее всего: https://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior
Но это можно обойти и в pytils, насколько я понимаю, путем некоторых извращений. Надо сначала передать ascii-строку через u_res = date.strftime(format), а потом уже делать локальные замены, которые делает pytils. Сделал копию dt.py -> dt2.py и поменял там строки 215:230 `
` Вывод на сервере,где есть проблема, такой: import pytils |
О, интересно. Решение конечно костыльное, но если ничего лучше не придет в голову сделаем такой фикс. |
Мой костыль лишь частично работоспособен оказался. |
Ага, это конечно ожидаемо. Наверное тогда самый нормальный вариант - предупреждать что локаль не установлена при импорте. |
Есть еще вариант на уме: Постараюсь сделать pull request. |
Мне кажется, это плохой вариант. Он конечно будет работать, но сделает код сложнее чем он должен быть :) А один warning при импорте - предупредит людей о проблемах, они починят настройки сервера, и всё будет хорошо. |
ок, звучит разумно ) |
@kilgoretrout1985 а посмотри, пожалуйста, что там будет на ненастроенном сервере в
или может есть ещё какие идеи как нам это определить |
|
Но вот так надежнее наверное |
u_res = date.strftime(format)
(это конец функцииru_strftime
)Какой-то странный глюк. Если
format='%Y мая'
, то возвращается пустая строка. Удивительно, ведь метод-то встроенный в python.Если просто в python сделать в консоли
datetime(2016,5,23).strftime('%Y мая')
, то все нормально. Если же то же самое в дебаге (вотчером) в этом месте функцииru_strftime
, то та же проблема.The text was updated successfully, but these errors were encountered: