Coder Social home page Coder Social logo

pytils's Introduction

Pytils

Pytils is a Russian-specific string utils (transliteration, numeral is words, russian dates, etc)


Pytils это инструменты для работы с русскими строками (транслитерация, числительные словами, русские даты и т.д.)

pytils's People

Contributors

andreybalychev avatar bashu avatar dependabot[bot] avatar frost-nzcr4 avatar lampslave avatar last-partizan avatar mitya57 avatar sergio-bershadsky avatar shamcode avatar temi4 avatar yamnikov-oleg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pytils's Issues

4 days 1 minutes

from pytils.dt import distance_of_time_in_words
import datetime
from_time = datetime.datetime.now() - datetime.timedelta(days=4, minutes=1)
print distance_of_time_in_words(from_time)

По идее должно возвращать "4 дня назад", а не деле выдаёт "минуту назад"

Unable to install on Python 3.3

Downloading/unpacking pytils (from -r /home/christian/documents/projects/rh/requirements.txt (line 63))
  Downloading pytils-0.2.3.tar.gz (135kB): 135kB downloaded
  Running setup.py egg_info for package pytils
    Traceback (most recent call last):
      File "<string>", line 16, in <module>
      File "/tmp/pip_build_christian/pytils/setup.py", line 9
        print "Cannot load setuptool, revert to distutils"
                                                         ^
    SyntaxError: invalid syntax
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):

  File "<string>", line 16, in <module>

  File "/tmp/pip_build_christian/pytils/setup.py", line 9

    print "Cannot load setuptool, revert to distutils"

                                                     ^

SyntaxError: invalid syntax

----------------------------------------
Cleaning up...
Command python setup.py egg_info failed with error code 1 in /tmp/pip_build_christian/pytils
Storing complete log in /home/christian/.pip/pip.log

Django: Форматирование дистанции дат не работает при использование временных зон

Нельзя получить дельту при вычитание объектов Даты если у одной из них не/определена временная зона в результате получаем ошибку:

can't subtract offset-naive and offset-aware datetimes

Воспроизвести крайне легко:
Включаем в django USE_TZ = True
в шаблоне {{ object.updated|distance_of_time }}

Если будет время постараюсь поправить и прислать pull-request

Падежи для числительных

Возникло желание написать число прописью в дательном падеже (н-р «10 (десяти) дней»).

Как я понимаю, сейчас библиотека такого делать не умеет, так что оставлю issue как feature request. :)

Обновить версию в PyPI

Добрый день!
Версия на PyPI уже серьезно устарела. Последние версии Python и Django сейчас 3.8 и 3.0 соответственно.

В #41 удалил весь код, относящийся к Python 2, добавил python 3.8 и Django 3.0 в тесты tox.

"male"/"female" inside tag

Но, хотел сообщить, поправьте пожалуйста в документации к ним примеры вызова функции sum_string, in_words, а именно про параметр обозначения пола, он указываться как строка должен:
Examples::
{% sum_string some_int MALE "пример,примера,примеров" %}
{% sum_string some_other_int FEMALE "задача,задачи,задач" %}

заменить бы на "MALE", "FEMALE"

Python 3.5.1 + Django 1.9, возвращает пустую строку для дат

u_res = date.strftime(format) (это конец функции ru_strftime)

Какой-то странный глюк. Если format='%Y мая', то возвращается пустая строка. Удивительно, ведь метод-то встроенный в python.

Если просто в python сделать в консоли datetime(2016,5,23).strftime('%Y мая'), то все нормально. Если же то же самое в дебаге (вотчером) в этом месте функции ru_strftime, то та же проблема.

Поддержка Django 3

В pyproject.toml версию Django зафиксировали на ^4.0.2, но судя по тестам поддержка django 3 еще не брошена?

pipenv не ставит pytils 4 вместе с django 3.2, ссылаясь на это ограничение.

Два параметра для choose_plural вместо трех

Кажется существуют случаи, когда choose_plural может принимать 2 варианта в строке variants и интерпретировать, что множественное число для 2 и для 5 в данном падеже одинаковое.
Например

choose_plural(1, 'проектом,проектами')
>>> 'проектом'
choose_plural(2, 'проектом,проектами')
>>> 'проектами'
choose_plural(5, 'проектом,проектами')
>>> 'проектами'

Если то, что я описал корректно, попробую сделать пуллреквест.

Project is dead

Судя по всему проект мертв, и поддержка python3 оставляет желать лучшего?

Есть какие-то альтернативы?

Транслит

А почему при транслите предполагается, что текст состоит только из русского или только из английского?

Если в тексте встречается буква, которой нет в русском или английском, то результат получается некорректный.

Например:

print translit.detranslify(u'The band is called Aavepyörä')

Возвращает:

Тхе банд ис cаллед Аавепyöрä

Или аналогично с русским текстом:

print translit.detranslify(u'His name is Андрей')

Возвращает:

Хис наме ис Ð�ндÑ�ей

А если попробовать так:

print translit.translify(u'Они используют Linux.')

То получится:

Unicode string doesn't transliterate completely, is it russian?

И slugify, похоже, тоже как-то странно сейчас работает:

print translit.slugify(u'Они используют Linux.')

Получается:

--linux

Я думаю, что в идеале функции транслитерации (как с русского на английский, так и с английского на русский) должны пропускать неизвестные символы и транслитерировать только те символы, которые присутствуют в таблице транслитерации.

Вообще, я писал статью про транслитерацию на Python. Если интересно, посмотрите.

А вообще классный проект! Спасибо, что сделали всё это.

Удачи!

Jinjia2

Всем привет,

подскажите пожалуйста, работают ли тэги pytils с Jinjia2 ?

Как можно расширить TRANSTABLE?

Хочу расширить таблицу транслита дополнительными символами. Как это можно сделать, если я использую Django?

.jpg

filename = slugify(upload.name)
77-nazvanie-fajlajpg

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.