https://rossvyaz.gov.ru/deyatelnost/resurs-numeracii/vypiska-iz-reestra-sistemy-i-plana-numeracii
В процессе уточнения таблицы операторов выяснилось, что зря я парсил сайт. Руки только размял.
Есть уже готовый csv, из официального источника, с актуальностью июнь 2020. Осталось только слегка перекодировать и загрузить файл в таблицу БД.
Так что первая заповедь питониста звучит так:
Сначала хорошо погугли, прежде чем писать. 😂
В процессе уточнения таблицы операторов выяснилось, что зря я парсил сайт. Руки только размял.
Есть уже готовый csv, из официального источника, с актуальностью июнь 2020. Осталось только слегка перекодировать и загрузить файл в таблицу БД.
Так что первая заповедь питониста звучит так:
Сначала хорошо погугли, прежде чем писать. 😂
Государственная база полнее, свежее, но как всегда, пять разных наименований Москвы. 3 разных Питера, два Волгограда и так далее.
У нас в прессе строится цифровоеГУЛАГ государство, а в реале государевы базы данных выглядят так, как будто в них каждую ночь тролли ебались.
Когда там появятся программисты, дочитавшие учебник SQL до главы foreign key я не знаю.
У нас в прессе строится цифровое
Когда там появятся программисты, дочитавшие учебник SQL до главы foreign key я не знаю.
Но на государеву базу легко, за 20 минут, написать патч. И в продакшен.
Фома обновился.
В принципе нужен ещё один патч, русского языка, от вырвиглазных сочетаний типа "Республика Удмуртская", но они действительно так пишут в минсвязи 😁
Фома обновился.
В принципе нужен ещё один патч, русского языка, от вырвиглазных сочетаний типа "Республика Удмуртская", но они действительно так пишут в минсвязи 😁
У asyncio есть очень удобные методы вызова функций, как обычных, так и асинхронных, через произвольное время в секундах, но есть ньюанс.
В потоке событий телеграм это эксплуатируется вот так (для обычных функций)
from telethon import TelegramClient
client: TelegramClient
client.loop.call_later(delta.seconds, basegen) - задержка в секундах, имя функции.
Соответственно мне нужно, чтобы функция бота basegen выполнялась каждый день в три часа ночи. В реальности она выполнилась несколько сотен раз в момент 2:59:59-3:00:00.
Потому что я забыл о тонкостях самого питоновского класса timedelta. На слайде подробно разбирается, что пошло не так под дебагером.
Из за неточностей таймера компа, asуncio гарантирует секунду, в которою все запустится, но не её доли. И функцию первый раз вызвало в 2:59:59.522.
Все бы хорошо, но timedelta вычитая разницу времени, даёт все что больше суток как дни и секунды. Получилось 1 день и ноль секунд.
Правильный вариант считать задержку через timedelta это 13 строка. :)
В потоке событий телеграм это эксплуатируется вот так (для обычных функций)
from telethon import TelegramClient
client: TelegramClient
client.loop.call_later(delta.seconds, basegen) - задержка в секундах, имя функции.
Соответственно мне нужно, чтобы функция бота basegen выполнялась каждый день в три часа ночи. В реальности она выполнилась несколько сотен раз в момент 2:59:59-3:00:00.
Потому что я забыл о тонкостях самого питоновского класса timedelta. На слайде подробно разбирается, что пошло не так под дебагером.
Из за неточностей таймера компа, asуncio гарантирует секунду, в которою все запустится, но не её доли. И функцию первый раз вызвало в 2:59:59.522.
Все бы хорошо, но timedelta вычитая разницу времени, даёт все что больше суток как дни и секунды. Получилось 1 день и ноль секунд.
Правильный вариант считать задержку через timedelta это 13 строка. :)
Тележенька взорвалась от выборов в Белоруссии. За сутки в чаты залетело 4905 человек.
Основная движуха здесь:
@minsk_new +772 человек. Чат Минска.
@majakrainablr +1899 чат выборов.
И наш "протестный" чат канала ateo
@Ateo_Chat +570
Приятного аппетита :)
Основная движуха здесь:
@minsk_new +772 человек. Чат Минска.
@majakrainablr +1899 чат выборов.
И наш "протестный" чат канала ateo
@Ateo_Chat +570
Приятного аппетита :)
СЛЕГ! <Z> ️
Тележенька взорвалась от выборов в Белоруссии. За сутки в чаты залетело 4905 человек. Основная движуха здесь: @minsk_new +772 человек. Чат Минска. @majakrainablr +1899 чат выборов. И наш "протестный" чат канала ateo @Ateo_Chat +570 Приятного аппетита…
Второй день протестов в Беларуссии.
+6644 новых юзера в политоте за сутки.
Жгут все там же
@minsk_new +1354
@majakrainablr +2664
@Ateo_Chat +782
+6644 новых юзера в политоте за сутки.
Жгут все там же
@minsk_new +1354
@majakrainablr +2664
@Ateo_Chat +782
Туда и дорога, ибо тема белоруссии мне лично уже надоела.
Вы будете удивлены, но эти 44 строчки это все что нужно, чтобы принимать платежи в боте через Qiwi.
Звание самого простого API года, не менее. Понятно, что нужно ещё обмазываться проверкой кодов ответа сервера (если на той стороне что-то пошло не так), но минимальный набор выглядит так.
Три функции.
Создание счета на сумму и валидного до даты/времени (на входе str(datetime)). Даёт ссылку на платёжную форму, в которой клиент платит любой картой российского банка.
Проверка состояния счета (не оплачен, оплачен, просрочен)
Отмена вовремя не оплаченных счетов (не обязательно, это опция).
Всё!
Звание самого простого API года, не менее. Понятно, что нужно ещё обмазываться проверкой кодов ответа сервера (если на той стороне что-то пошло не так), но минимальный набор выглядит так.
Три функции.
Создание счета на сумму и валидного до даты/времени (на входе str(datetime)). Даёт ссылку на платёжную форму, в которой клиент платит любой картой российского банка.
Проверка состояния счета (не оплачен, оплачен, просрочен)
Отмена вовремя не оплаченных счетов (не обязательно, это опция).
Всё!
qiwi_module.py
3.2 KB
Полностью готовый модуль для киви. Обмазан перехватом ошибок, логированием, проверками кода ответа сервера и комментариями. Надеюсь, это ускорит разработку парочки дружественных проектов.
UPD: это устаревшая версия. Актуальная версия и документация лежит на https://git.ssleg.tech/anton/qiwi_module
Вопросы, замечания и благодарности можно складывать под этим постом
https://yangx.top/ssleg/322
UPD: это устаревшая версия. Актуальная версия и документация лежит на https://git.ssleg.tech/anton/qiwi_module
Вопросы, замечания и благодарности можно складывать под этим постом
https://yangx.top/ssleg/322
Поскольку Паша у нас либертарианец, то стандарты ему не писаны и у телеграм свое понимание языка markdown. Причём не описанное в документации, но легко излекающееся из сообщений.
Держите рабочую шпаргалку, как форматировать текст в сообщениях.
В результате получится такая строка:
123 123 123 123123
Держите рабочую шпаргалку, как форматировать текст в сообщениях.
В результате получится такая строка:
123 123 123 123
123
123 123 123