Программисты похуисты - хорошо ли это?
Да, у меня снова горит жопа, причём уже два дня и уже безумно сильно.
Возможно кто-то из моих читателей слышал про такой проект как Kodi, ранее известный как XBMC.
Для тех, кто не очень в курсе, расскажу коротко.
Kodi - это что-то по типу смеси медиаплеера и лаунчера, который можно установить на компьютер, телефон или использовать на какой-нибудь линуксовой железке.
Предполагается, что с помощью этого софта вы можете превратить ваш старый ноут, телефон, планшет или микрокомпьютер в полноценный медиацентр.
Там и Ютубчик будет, и куча плагинов для интернет TV, и всё, что душа пожелает.
Проект старый, состоявшийся и известный в узких кругах.
Кстати, большинство дешёвых медиабоксов с китайских сайтов поставляется либо с Android TV, либо как раз с линуксом и Kodi на борту.
Звучит круто, не правда ли?
Но как всегда есть один нюанс: для операционной системы интерфейс Kodi по сути является окном игры, в котором есть только кастомная графика и отсутствуют какие-либо кнопки, лейблы и прочие привычные элементы.
И конечно же скринридеры с этим добром могут работать только при помощи различных средств распознавания экрана.
Но тут есть замечательные новости:
сей замечательный софт предоставляет нам почти неограниченные возможности по написанию собственных аддонов, скриптов, сервисов и прочего добра.
Для разработки можно использовать несколько языков программирования, в том числе и C++, видимо для создания кодеков и конвертеров, но нам интересен Python, как один из самых простых.
И решил я, имея всё это на руках, запилить скринридер для Kodi, который работал бы и на винде, и на линуксе, и где угодно, кроме телефонов, ибо там питон не поддерживается.
Такой проект даже когда-то существовал, назывался он Kodi TTS и очень быстро исчез с радаров, когда Kodi мигрировал со второй версии Питона на третью.
Вот я и решил, что если такое уже делали, значит и я тоже смогу.
Сначала всё было хорошо: я нашёл решения для всех вставших передо мной проблем, обложился документацией и приступил к написанию кода.
И почти что сразу уперся в странную ошибку...
Я пытался решить её почти два дня, я гуглил, читал треды на форумах, уже думал, что я напутал что-то в алгоритмах, уже сходил и к Chat GPT, и к друзьям, тоже пишущим на Питоне...
И в конце концов, совместными усилиями мы пришли к тому факту, что существует некая фундаментальная ошибка в самом API программы.
По-другому объяснить мистическое поведение аддона не получается.
На экране есть список настроек, я вижу его глазами, его видит OCR, его видят зрячие друзья...
А аддон искренне считает, что список пустой, в нём нет ни одного элемента и уж точно невозможно в нём что-либо выбрать и прочитать.
А на списках построена большая часть интерфейса, между прочим.
Была у меня мысль, что аддону не хватает прав для сканирования экрана и анализа пользовательского интерфейса, но если такие ограничения и существуют, то в документации о них не сказано ни слова.
Вот из этого и вытекает главный вопрос поста: не пиздец ли это? Нормально ли то, что целый раздел API крупного сервиса во-первых, хреново документирован, а во-вторых, даже то, что документировано, не работает должным образом?
Причём это не баг конкретного релиза: в процессе экспериментов поведение было проверено на версиях 18, 19 и 20, а это три или даже четыре года истории разработки.
В общем, у меня просто безумно горит жопа!