Skip to content
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

Расширение возможностей distance_of_time_in_words #7

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

satels
Copy link

@satels satels commented Sep 22, 2011

В некоторых случаях distance_of_time_in_words возвращает строку, которая плохо подходит по смыслу в контекст. Например, эта функция выглядит естественно для того, чтобы сообщить, что какой-то объект datetime был изменен или должен быть изменен:

  • "Вылет задерживается на 2 часа 13 минут".
  • "Вы приземлились в Екатеринбурге, переведите свои часы на 2 часа вперед".
  • "Заявка будет выполнена на 2 часа 15 минут позже".

При использовании оригинальной функции мы получим:

  • "Вылет задерживается на через 2 часа 13 минут".
  • "Вы приземлились в Екатеринбурге, переведите свои часы на через 2 часа".
  • "Заявка будет выполнена на через 2 часа 15 минут".

Предлагаемый подход позволяет просто отнаследоваться от класса DistanceCounter и переопределить format_result_str, например, так.

class DistanceCounter(dt.DistanceCounter):
    def format_result_str(self, in_future, result_str):
        suffix = in_future and u'позже' or u'раньше'
        return u'%s %s' % (result_str, suffix)

Обратная совместимость полностью сохраняется.

@y10h
Copy link
Collaborator

y10h commented Oct 23, 2011

Пожалуйста, добавьте тесты для новой функциональности.

@satels
Copy link
Author

satels commented Nov 14, 2011

Актуально, тест добавил, что дальше?

@last-partizan
Copy link
Owner

А дальше, можем смержить. Но тут появились конфликты, надо сначала порешать.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants