Сообщество - Аниме

Аниме

59 952 поста 8 760 подписчиков

Популярные теги в сообществе:

Написал для себя читалку манги на Python. Делюсь проектом, может кому-то пригодится

Довольно долго читал Пикабу тайком, особенно аниме-сообщество, даже аккаунта не было. Зарегистрировался вот только сейчас, чтобы поделиться своим проектом. Решил, что кому-то это тоже может пригодиться и сэкономит время.

Мне надоело читать мангу в браузере из-за обилия рекламы, а старые программы для компьютера выглядят так, будто их забросили лет пятнадцать назад. Поэтому я сел и написал свое приложение на Python и PyQt6. Назвал его Kirsh Manga Reader.

Делал проект чисто под свои привычки: сначала найти интересную мангу и скачать нужные главы пачкой, потом быстро проверить в приложении, что все файлы на месте, и перекинуть готовую сборку на читалку или полистать прямо с экрана ПК.

Что в итоге получилось сделать по функциям.

Скачивание глав идет отдельно от интерфейса, поэтому программа не зависает и не тупит в процессе. Сейчас настроил работу с MangaLib и Com-X. Также решена проблема с защитой сайтов от скачивания: приложение через Selenium один раз проходит проверки или авторизацию, забирает куки и дальше спокойно качает файлы на нормальной скорости.

Для самого чтения я использовал графическую сцену PyQt. Страницы можно приближать и двигать мышкой, все работает плавно, без задержек. Прогресс чтения сохраняется автоматически, программа помнит даже конкретное место на странице, где вы остановились.

Но главным испытанием стала сортировка сторонних файлов. Думаю, многие сталкивались: скачиваешь архив с торрента, а там бардак в структуре. В одном месте картинки лежат в корне, в другом запрятаны в три подпапки, а операционная система еще и путает порядок страниц, например, ставит десятую картинку сразу после первой. Я написал алгоритм, который полностью игнорирует пустые папки, находит сами изображения, сортирует их по нормальному порядку и выдает ровное, последовательное оглавление.

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

Проект полностью бесплатный, без рекламы, код открыт и выложен на GitHub.

Так как я делал все под себя, мне очень интересно узнать мнение других людей. Пишите в комментарии свои пожелания о доработках. Если вам не хватает каких-то конкретных функций или сайтов для скачивания, рассказывайте, я постараюсь добавить это в следующих обновлениях.

Ссылка на репозиторий с программой на GitHub: https://github.com/dmitrykirsh/kirsh-manga-reader

Показать полностью 3

Поездка за спутником 2/2

Костя: Слушай... Давно у тебя хотел спросить... Что думаешь о Кире?
Ева: в каком смысле? Что ты подразумеваешь под "думаешь"?
- Ну... Как ты относишься, не кажется ли тебе подозрительным... Просто появилась в один момент, а сейчас вообще живёт как ни в чём не бывало...
- Само её появление это странно. Отношение совета тоже странное. Впрочем пока ничего подозрительного или потенциально опасного я не видела.
- А что думаешь на тему того, что сейчас о ней поговаривают? Ну что она и не человек вовсе.
- Ничего не думаю. Что угодно можно говорить. В столовой я её видела. Уже показатель. Да и движения всё таки не такие, как у роботов. Да и вон как с Линой сдружились.
- Ага, показатель... в столовой у нас и "трутней" куча.
- Да. Только "трутни" пищу не употребляют.
...
- Сколько мне ещё баранку крутить?
- Мог уже давно автопилот включить. Всё равно Лина просила проверить.
...
По рации раздался вызов:
"Мы почти на месте! Уже вижу кратер"

Лина выпрыгнула из "Медведя" и побежала к спутнику. Естественно захватив с собой основной рабочий инструмент в таких делах - болгарку. Груда металла должна быть распилена, раскручена и забрана по максимуму с собой.

Лина разбирался спутник почти целый день. И Лина и Костя таскали всё в свои вездеходы. Счёт времени был потерян полностью. Время уже близилось к закату. Рации периодически издавали непонятный шум, похожий на вызов, но на это никто не обращал внимания.

Ева: ребят... Я думаю что нам надо собираться. Началась метель и, кажется, только усиливается... Я такой раньше не видела
Костя: ну так давайте переждём. Ща дозагрузим и переждём. Внутри тепло всё равно. Маяк я уже закинул, так что не потеряем
Лина: оттуда есть ещё куча чего вытащить! Может сейчас утихнет... Аккумуляторы заряжены
Ева: нет. Едем. Немедленно.
Лина: Но надо забрать...
В группе "Бета" почти все участники предпочитают формальность и серьёзность при выполнении задач. Однако сейчас Ева выглядела более серьёзной, чем обычно.
Ева: Нет. Едем СЕЙЧАС.

Лина явно не хотела уезжать. Да и Костя тоже. Но все послушались, потому что именно Ева сейчас является их лидером. Невольным ответственным за всю поездку.

Собрались все быстро. Лине пришлось довольствоваться парой модулей, которые она успела вытащить и несколькими десятками кг металла, которые ехали вместе с Костей и Евой.
Рации персонажей тревожно шумели, но различимого голоса там не было.
С каждым пройденным километром метель всё усиливалась, а "медведям" Центра было сложнее пробираться через только что выпавший снег.
В редкие моменты, когда не видно было дороги, по которой добирались, внедорожники застревали, пробуксовывая всеми колёсами. Но, к счастью, это быстро решалось. Привод позволял крутить колёса с минимальной частотой, обеспечивая при этом наилучший момент. Ну, который только можно получить на рыхлом снеге.

По ходу приближения голоса из раций становились различимее:
"Ева, пр.ём! ... "
"Т...ю... ать"
"Лина, Ева! Отзовитесь! Приём"

Наиболее различимыми словами был мат и имена участников поездки.
С приближением становились различимы не только мат, но уже и отдельные слова и фразы:
"Вы где?! Приём!"
Ева отозвалась:
"40 километров до Центра, приём"
"Какого ... вы не ... прогноз?"
Некоторые слова не было слышно. То ли мешал шум спешащих внедорожников, то ли помехи, то ли сконцентрированность на дороге. Впрочем даже не услышав какие именно были слова было понятно что подразумевалось.
"Идите на КПП №2. Артур расчистил путь. По необходимости вызывайте. конец связи"

Ева свернула. Все уже подъезжали к КПП №2.

Когда группа подъехала к КПП, было видно, что ворота хоть и подзамело, их почистили. С любовью, заботой и надеждой на скорейшее возвращение. Ворота КПП открыли и группа въехала в Центр, где быстро добралась до ангара.

Как только машины встали в ангар, все выдохнули. Уже позади была та метель. Страх застрять. Страх быть погребенными заживо в ярких оранжевых гробах под огромным слоем снега. Это казалось нереальным, больше похожим на кошмар, от которого вот-вот проснулись.
Как это свойственно снам, эта долга поездка забылась. Единственное что осталось напоминать о ней - сильная усталость и боль в мышцах после перетаскивания огромного количества железа. Ну и для Лины это, конечно, само железо, которое она начала ковырять в тот же день.

Ей повезло. В какой-то степени. Упавший спутник был военным и прежде всего предназначался для уничтожения других спутников. По современным меркам крайне бесполезная вещь, единственное предназначение которой можно было дать так это уничтожение космического мусора. Когда во время Катаклизма были подписаны документы о глобализации и демилитаризации, официальное назначение этих спутников было именно таким. Для этого мощность сильно ограничили, поэтому раскрыть весь потенциал Лине пока не удалось. Доступ к большему количеству настроек через UIO требует паролей, а их, увы, в базе данных нет.

В это же время в переговорной был тяжелый разговор Жени с Евой.
- Почему игнорировали связь? Почему были проигнорированы риски по погоде от Василия?
- Ну... Ты же знаешь, что он часто ошибается... Опыта мало ещё... Погода была ясная, да и он на момент старта опасных явлений с высокой вероятностью не прогнозировал.
- Да. Только вот всё равно риск был. Он был проигнорирован. Почему на связь не выходили?
- Не было слышно ничего. Были вызовы. Списали на возможные помехи от спутника...
- Василий с вами пытался связаться. Он увидел надвигающийся фронт и вас в течении часа вызывал. Ошибку свою поняла?
- Поняла...
- В чём была ошибка?
- Был проигнорирован риск плохой погоды. Даже при низкой вероятности надо его учитывать и прорабатывать соответствующий сценарий. Были проигнорированы вызовы по рации. Было необходимо отъехать для исключения помех от спутника, если было такое предположение и выйти на связь.
- Молодец. Такой ответ меня более чем устраивает. Следующий вопрос. Что было с погодой?
- Я.. Я такого ещё не видела. Мы прибыли на место в 13:24. Было ясно, всю дорогу. Где-то в 18 стало облачно, я не придала этому значения, так как существенного ухудшения погоды не было. Примерно через час стемнело совсем, хотя от заката прошло совсем немного. Началась сильная метель. У нас такие были, но я не помню что бы развивалась так стремительно. Через 15 минут я вышла из машины для оценки обстановки. Колёса уже замело примерно на треть от высоты. Видимость была менее 100м, уже с трудом было видно спутник. После этого я скомандовала на сворачивание экспедиции. Было выдвинуто предложение о том, что бы переждать в "Медведях", но мне кажется нас просто бы замело. Ещё через 5 минут видимость снизилась до 50 метров, может меньше. Мы собрались и поехали. Когда отъехали, погода стала ещё хуже. Ветер был такой, что машину сильно потряхивало при порывах. Учитывая сколько у нас "Медведи" весят...
- Интересно..
- Дороги не было видно вообще во время поездки. Спасала только навигация, которую Лина ставила. Раза 3 или 4 сворачивали с дороги и застревали на пузе... Но выбраться смогли. Когда подъехали к Центру, показалось что метель не такая сильная как была во время экспедиции.
- Интересно, что там происходит с погодой. Решение было принято верно, молодец что решила ехать обратно. В такой метели вы могли бы остаться там навсегда. Хоть инструкция предписывает другое, здесь ехать было решением правильным.
Ева невольно вспомнила тот странный сон... Но промолчала.
- Последний вопрос. Как на эту поездку отреагировала Кира?
- Ей было интересно вместе с Линой разбирать спутник. Она была удивлена и, кажется, напугана, когда метель стала усиливаться. Других особенностей не могу назвать. Это если не считать достаточно точную наводку на место падения.
- Хорошо. Всё, иди отдыхай.
Ева встала, она явно была вымотана и эмоционально и физически. И уже плелась к выходу, пока её не окликнул Женя. Его голос был уже не такой... Не такой холодный, не такой строгий. С теплом и заботой, которая редко слышится в его голосе
- Ева. Ты действительно молодец. Завтра отдыхай, отсыпайся, тебе надо восстановится
Ева лишь устало улыбнулась оглянувшись. И ушла, закрыв дверь.

Спустя какое-то время в мастерской Лины послышался восторженный голос "Заработало!". Естественно все, кто не спал, подошли к ней в мастерскую.
Женя: я так понимаю это то, что вы забрали со спутника во время сегодняшней экспедиции? И что это?
Лина: упал спутник. Военный. На нём был лазерный модуль. Изначально он был для уничтожения спутников, потом его мощность порезали и использовали для уничтожения космического мусора. Вот. Вот это тот самый модуль. Мне удалось его восстановить и подключить.
Костя: круто! А зачем он нам? Вроде у нас мусор не летает.
Лина: мусор нет. А вот в станок вырезать пойдёт. Ещё поднастроить... Но есть проблема. Мощность порезали, эти настройки по UIO за паролем. Военным. Пароля нет...
Артур: и что, использовать нормально не получится?
Лина: получится! Там мощности уже много... Но можно было бы больше....
Артур: не жадничай. Работай с тем, что есть.
Костя: ну, запускай уже!
Лина нажала кнопку и из железного цилиндра вырвался огромный красный луч. Попав на ржавую пластину сразу начался фейерверк. искры, огонь, раскалённый металл... Всё, что любит "Гамма". Костя и Артур были в восторге от происходящего.
Ева тоже пришла на шум, но внутрь заходить не решалась. Искры и капли расплавленного лазером металла её пугали, поэтому она осторожно выглядывала за дверь.

Женя: нам что, станков мало?

Артур стал серьёзннее. В миг ушла та детская радость.

Артур: вот что-что, а станки нам точно не помешают. По сути вся наша жизнь в Центре зависит от них.

После этого Женя вздохнул и ушёл. Да и так как показательные испытания были завершены, после ухода Жени все стали разбредаться по своим домам.

Показать полностью 9
1

Знакомство Си-тян с Касанэ Тето

Серия Мои рисунки

Читать, начиная справа!

Знакомство.

Знакомство.

Показать полностью 1
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества