Интересно! Въобще не очаквах да има такива или изобщо някакви отговори по темата, очаквах само анатеми и псувни. Което напоследък се е превърнало в стандарт в линукс общността и затова първоначално въобще не бях сигурен струва ли си да пускам тема тук. Защото някой иска помощ за нещо, даваш му я и вместо да каже поне едно "благодаря", почва да те псува и с "ти ли ще ми кажеш как да правя нещата?". И като види, че не му стига мозък да се справи сам, се връща за още помощ, сякаш си му длъжен с нещо, ама помагащият кораб вече е потънал. И естествено след няколко такива "срещи" започваш да се чудиш има ли смисъл да споделяш каквото и да било, където и да било или да си запазиш нещата за себе си, а останалите да ги оставиш да си трòшат главите...
Но... недоволни винаги ще има (за тях имам два крачола), а в крайна сметка направих програмката за себе си, защото KBGOFFICE е на последни издихания и е въпрос на време въобще да спре да тръгва. Едната фолбек GTK2 библиотека вече сдаде багажа и няма замяна, а кога и приложените към КБГОФИС qt4 библиотеки също ще бъдат пратени на майната им - също не се знае.
Сорсът е в .py файла. Нарочно не съм го компилирал - прави редакцията и тестването на код по-лесно. Ако някой толкова държи на бинарен файл, да си го компилира сам.
Относно ИИ - ИИ ми даде код за съвсем друга програма, която няма нищо общо с този речник. После видях, че мога да използвам онази програма като темплейт за речника. Единственото, което ИИ написа изцяло, беше кода за прочитане на '.dat' файловете, защото видях голям зор с тях. Оригинално са краднати от някакъв уиндоуски речник в средата на 90-те и постепенно са били допълвани с нови думи. Последното допълване е било през 2014-та от разработчиците на КБГОФИС.
Ако исках да лъжа и да се преструвам на програмист, нямаше изобщо да спомена ИИ и щях да си припиша заслугите, както правят тия от КДЕ. А истината е, че просто се опитвам да поддържам живо нещо, което е почти умряло и го правя с много малкото, което разбирам от програмиране, в т.ч. и от Питон.
За кодировката: в момента в кода има това:
try:
text = part.decode("utf-8")
except:
text = part.decode("cp1251", errors="ignore")
и работи. Защото не е ясно каква им е кодировката на тези файлове и за по-сигурно ИИ добави тази част, за да е сигурно, че текстът ще излезе като текст, а не като марсиански символи. A пък командата "file en-bg.dat" връща просто "data" и толкоз.
Като го направя с редакцията, която някой предложи няколко поста по-нагоре, програмата изобщо не иска да тръгне, така че за момента ще я оставя с "try-except" блока.
Първоначалният вариант на програмата беше да търси с натискането на всеки клавиш - както КБГ и както "SA Dictionary 2012" за уиндоус, но това караше програмата да се забавя и накрая просто да крашва, така че се наложи да сменя кода и да го направя да търси, едва след като напишеш думата и натиснеш ентър.
Не принуждавам никого да ползва този речник, просто реших да споделя нещо, което работи и което може да е полезна алтернатива на почти умряла програма.
И НЕ - НЕ СЪМ ПРОГРАМИСТ, НИКОГА НЕ СЪМ ТВЪРДЯЛ, ЧЕ СЪМ ТАКЪВ!Щях да бъда, но некадърни учители ме отказаха преди години и започнах сам да си се уча "оттук, оттам" по малко.
А това да кажеш, че ИИ е написал целия код е глупост. Все едно да кажеш, че ИИ е написал всичките ми скриптове, което не е така. ИИ просто ми обясни какво е променлива в bash script и как се използва, оттам нататък всичките близо 300 скрипта, които събрах в кейс скриптове, са си изцяло мое творение и пригодени за автоматизация в моята система.
Целият код на съвсем друга програма беше написан от ИИ - програма, чиято функция е просто да покаже данни на екрана. За речника използвах готовия код като темплейт и започнах да го променям, за да стане за речника. Играх си почти цяла седмица с копиране и нагаждане на код, за да стане това, което е сега. Но с четенето на дат файловете не успях да се справя и затова трябваше да питам ИИ как да стане. Именно тази дълга играчка беше причината да го оставя некомпилиран - просто променяш кода и го пускаш, вместо да си губиш времето с компилиране и после тестване. Освен това - какво по-opensource от това да го оставиш некомпилирано?