zmanim_bot_log
104 subscribers
24 photos
9 links
Download Telegram
Forwarded from Zmanim bot
цифра дня вдогонку
совсем пропустил важную цифру!
Ночной, но очень долгожданный апдейт — там, где есть какие-либо зманим (шаббат, йом-тов, пост, зманим), теперь пишется название локации

Цом каль!
Небольшой, но важный апдейт

Теперь все зманим, которые отдает бот, округляются в сторону устрожения (в рамках минуты).

То есть, если зажигание свечей должно быть в 20:00:00, бот покажет 19:59
Или авдала, которая в 21:00:32 будет показана как 21:01
Это касается всех зманим во всех местах (зманим, шаббат, праздники, посты)

Почти все знаним округляются в БОЛЬШУЮ СТОРОНУ, кроме:
- Зман шма (любое мнение)
- Зман тфила (Любое мнение)
- Шкия
- Зажигание свечей
- Начало поста
zmanim_bot_log
Небольшой, но важный апдейт Теперь все зманим, которые отдает бот, округляются в сторону устрожения (в рамках минуты). То есть, если зажигание свечей должно быть в 20:00:00, бот покажет 19:59 Или авдала, которая в 21:00:32 будет показана как 21:01 Это касается…
Пока что на время вернул как было: проблема в зажигании свечей
Если в обычном случае устрожение это сделать его на минуту раньше, то в случае если это зажигание свечей на исходе шаббата/йомтова, то устрожением будет наоборот, добавление минуты.
Буду править
zmanim_bot_log
Пока что на время вернул как было: проблема в зажигании свечей Если в обычном случае устрожение это сделать его на минуту раньше, то в случае если это зажигание свечей на исходе шаббата/йомтова, то устрожением будет наоборот, добавление минуты. Буду править
Починил!

Это, конечно, заставило поломать голову
Вот мы хотим устрожить зажигание свечей - окей, делаем на минуту раньше
А если это второй йом-тов? Тогда наоборот, на минуту позже... Но если это шаббат сразу после йом-това? Опять на минуту раньше, аааааааааа

Теперь работает 💪
Начал писать инструкцию к боту, чтобы не отвечать постоянно на одни и те же вопросы, ну и вообще, чтоб все по красоте было

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

https://blog.ginzburg.io/zmanim_bot_help_ru
Forwarded from Беня держит в курсе (Benyamin)
Чем занимаются нормальные люди в ночь на пятницу?
Не знаю, я ж не из их числа

----------------

Пользователи @zmanim_bot буквально с запуска (4 года, на минутуку) просят добавить иврит.
И я решил, что, пожалуй, пора
Сел в 10 вечера, подумал, ща за пару часов разберусь, давай, Морти, обычное приключение, туда и обратно
...
...
...
Мда.
(дальше будет мнооого технической нудятины)

В чем вообще проблема?
Кратко о том, как генерируются картинки для бота:
1) каждая строчка состоит из заголовка и значения
2) каждый заголовок и каждое значение надо отрисовать, для этого в специально обученную функцию передаётся строка и координаты первой буквы (конечно там есть еще детали типа шрифта, размера, цвета, но оставим это за рамками)

И вроде все хорошо работает... пока у нас обычный ltr (left-to-right) текст.
Но мы хотим страдать, поэтому мы берём иврит, и начинаем погружаться в дивный мир rtl и особенно bi-directional такста

Проблема номер 1:
Текст рисуется тупо как обычно. Ну то есть, слева направо: буква -> сдвиг вправо -> буква -> сдвиг вправо...

Вместр שלום получается םולש

Окей, пишем алгоритм для разворота текста (потом нашёл дополнительный модуль для рисовальщика текста)
Окей, текст рисуется уже в нужном направлении, пора заняться

проблемой номер 2:
Текст выровнен по левому краю. Ну мы же читаем слева направо обычно, да?
Иврит нужно зеркалить.
Это значит, что если я раньше рисовал текст картинки начиная с сотого пикселя по горизонтали, то теперь, в случае иврита, это должен быть ШИРИНА_КАРТИНКИ - 100px
И так абсолютно с любыми координатами по оси х

А дальше начинается самая веселое (следите за руками):
Мы хотим отрисовать текст на иврите. Причём в формате "Заголовок: значение", то есть двумя разными шрифтами, а это значит что на одну строчку нужно два действия с разными координатами

Итак, мы начинаем с того, что разворачиваем текст задом наперёд
Пробуем рисовать его с 100-го пикселя...
Точнее, с 1000-100=900го
...
И дружно идем нафиг: главная (и, по большому счету, единственная) питонья библиотека для рисования не знает, что rtl-текст надо рисовать В ОБРАТНУЮ СТОРОНУ, АЛО
Поэтому текст начинается у правой грани картинки и сразу же уезжает за ее пределы

Дальше у нас по плану огромное количество измерений длины текста и добавление ее к сдвигу на каждой строчке, и в итоге, в 4 утра, уже есть что-то, что похоже на правду.

Следующим постом покажу иллюстрации, в описании к каждой картинке опишу что на ней происходит
Forwarded from Беня держит в курсе (Benyamin)
(там на некоторых скринах не все переведено, это не влияет на процесс)
Forwarded from Беня держит в курсе (Benyamin)
Исходная картинка на русском
Forwarded from Беня держит в курсе (Benyamin)
Финальный результат

Правда меня, как перфекционтста, просто вымораживает пачка лишних пробелов в третьем абзаце между заголовком и значением но я пока не смог победить эту хрень. Возможно даже баг библиотеки
И да, если есть желающие помочь с переводами текстов - я очень жду вас
Обожаю, после каждого поста гарантированно кто-нибудь отписывается :D
Кто не спит — тому иврит!
Доброе утро, и добро пожаловать на тесты иврита в @zmanim_beta_bot!

Понажимайте все что только можно, наверняка я что-то пропустил (иврит это просто куча костылей)