Files
ollama-translate-model/__pycache__/translator_utils.cpython-312.pyc
T

79 lines
16 KiB
Plaintext
Raw Normal View History

2026-05-31 18:45:38 +08:00
Ë
†¸j\*ãóÚdZddlZddlZddlmZddlmZddlZGdd«ZGdd«ZGd „d
«Z Gd d «Z
d
Z dZ d'dZ
edk(red«ed«Zej#dd«ej#dd«edeej «d«edej'««ed«e
d«Zedej+d««ej-dd«edej+d««ed «ed!e ej.«j1«««ed"e d#««ed$e
d%d&««yy)(u™
Утилиты Ð´Ð»Ñ Ollama Translator GUI
Дополнительные функции: иÑториÑ, batch обработка, ÑтатиÑтика
éN)Údatetime)ÚPathcóFeZdZdZd dZdZdZd dZd
dZdZ dZ
d „Z y
)ÚTranslationHistoryu8Управление иÑторией переводовcó<||_|j«|_y©N)Ú history_fileÚ load_historyÚhistory)Úselfr s úAC:\Users\dimir\proects\ollama-translate-model\translator_utils.pyÚ__init__zTranslationHistory.__init__sØ(ˆÔØ× ócóôtjj|j«r8 t |jdd¬«5}t j |«cddd«SgS#1swYgSxYw#gcYSxYw)u1Загрузить иÑторию из файлаÚutf-8©ÚencodingN)ÚosÚpathÚexistsr ÚopenÚjsonÚload)r Úfs r
r
zTranslationHistory.load_historyseä
7‰7>‰>˜$× 
ܘ$×+¨S¸CÀqÜŸ9™9 QDш ÷ Dðˆ ûð
Ø ús)«A1ÁA$Á A1Á$A.Á)A1Á.A1Á1A7cóî t|jdd¬«5}tj|j|dd¬«ddd«y#1swYyxYw#t
$r}t
d|«Yd}~yd}~wwxYw) u-Сохранить иÑторию в файлÚwrr)Ú ensure_asciiÚindentNu2Ошибка ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¸Ñтории: )rr rÚdumpr Ú ExceptionÚprint©r rÚes r
Ú save_historyzTranslationHistory.save_historyscð LÜd×°wÕ?À1Ü— ‘ ˜$Ÿ,™,¨¸ÀaÕ@×?ûäò LÜ ÐFÀqÀcÐ Kûð Lús3Aš$A¾AÁAÁ AÁAÁ A4ÁA/Á/A4c óºtj|j««j«ddt j
«j
«|dd|dd||t|«t|j««dœ}|jjd|«t|j«dkDr|jdd|_ |j«y)u1Добавить перевод в иÑториюNé)ÚidÚ timestampÚ source_textÚtranslated_textÚ source_langÚ target_langÚ
char_countÚ
word_countréd) ÚhashlibÚmd5ÚencodeÚ hexdigestrÚnowÚ isoformatÚlenÚsplitr Úinsertr&)r r+r,r-r.Úentrys r
Úadd_translationz"TranslationHistory.add_translation&ô—+‘+˜k×ÀÐ×& Ð.¨t°Ð˜˜k× 
ˆð
×јA˜uÔ ˆt|‰|Ó ˜ Ÿ<™<¨¨Ð-ˆDŒLà ×ÑÕrcó |jd|S)u4Получить поÑледние переводыN)r )r Úlimits r
Ú
get_recentzTranslationHistory.get_recent;sà|‰|˜F˜#rcóÄg}|j«}|jD]>}||dj«vs||dj«vsŒ.|j|«Œ@|S)uПоиÑк в иÑторииr+r,)Úlowerr Úappend)r ÚqueryÚresultsÚ query_lowerr;s r
ÚsearchzTranslationHistory.search?s`àˆØ—k‘k“mˆ Ø—\”\ˆEؘu ]јuÐ%6јuÕˆrcó2g|_|j«y)uОчиÑтить иÑториюN)r r&©r s r
Ú
clear_historyz TranslationHistory.clear_historyIsàˆŒ Ø ×ÑÕrcóà|jsddddddœStd|jD««}td|jD««}t|j«|||jr|t|j«znd|jr|t|j«znd|jr|jddnd|jr|jdddœSddœS) u%Получить ÑтатиÑтикуr)Útotal_translationsÚ total_charsÚ total_wordsÚ avg_charsÚ avg_wordsc3ó@K|]}|jdd«Œy­w)r/rÚget©Ú.0r;s r
Ú <genexpr>z4TranslationHistory.get_statistics.<locals>.<genexpr>Yóèø€ÐOÁ,¸˜%Ÿ)™) L°!×4Á,ùóc3ó@K|]}|jdd«Œy­w)r0rNrQrSs r
rUz4TranslationHistory.get_statistics.<locals>.<genexpr>ZrVrWéÿÿÿÿr*N)rKrLrMrNrOÚfirst_translationÚlast_translation)r Úsumr8)r rLrMs r
Úget_statisticsz!TranslationHistory.get_statisticsNà|Š|à&'Ø Ø ØØñ ð
ôÑOÀ$Ç,Â,Ó ÜÑOÀ$Ç,Â,ÓOˆ ô#& d§l¡lÓ"3Ø&Ø=A¿\º\˜¬¨D¯L©LÓ(9Ò9ÈqØ=A¿\º\˜¬¨D¯L©LÓ(9Ò9ÈqØBFÇ,Â, §¡¨bÑ!1°+Ò!>ÐTXØ@DÇ Â  § ¡ ¨Q¡° Ñ <ñ
ð
ðSWñ
ð
rN)ztranslation_history.json)ÚautoÚru)é
) Ú__name__Ú
__module__Ú __qualname__Ú__doc__rr
r&r<r?rFrIr]©rr
rr
s.ÙòLóó*òó

rrcó$eZdZdZdZddZdZy)ÚBatchProcessoru%Batch обработка файловcó ||_g|_yr)Útranslate_funcrD)r ris r
rzBatchProcessor.__init__jsØ,ˆÔ؈ rNc óg|_|D]} t|dd¬«5}|j«}ddd«|j«}|r:t |«t |«j
dt |«j z }nCt |«jt |«j
dt |«j z }t|dd¬«5}|j|«ddd«|jj|dt|«t|«dœ«Œ|jS#1swYŒxYw#1swYŒWxYw#t$r3}|jj|d t|«d
œ«Yd}~Œud}~wwxYw) u4Обработать неÑколько файловrrr_rurÚsuccess)ÚfileÚstatusÚoutputÚcharsÚerror)rmrnrq)
rDrÚreadrirÚstemÚsuffixÚparentÚwriterBÚstrr8r") r Ú
file_pathsÚ
output_dirÚ file_pathrÚcontentÚ translationÚ output_pathr%s r
Ú
process_fileszBatchProcessor.process_filesnsaàˆŒ ä#ˆIð
ä˜) S°7Õ;¸Ÿf™fh#×1°'Ó: ñÜ"& zÓ"2¼¸×8LÑ8LÐ7MÈSÔQUÐV_ÓQ`×QgÑQgÐPhÐ5iÑ"iKä"& y£/×"8Ñ"8¼dÀ9»o×>RÑ>RÐ=SÐSVÔW[Ð\eÓWf×WmÑWmÐVnÐ;oÑ"o˜+ s°WÕØ—GG˜KÔ ×!   %öð'$ðB|‰|Ð÷=;ú÷=ûôò
Ø ×  ›Vñ%÷òûð
úsFED/®B&EÃD<Ã&:EÄ/D9 Ä4EÄ<E ÅEÅ FÅ(E?Å?FcóÞtd|jD««}td|jD««}td|jD««}t|j«|||dœS)u5Получить Ñводку по обработкеc3ó2K|]}|ddk(sŒ dŒy­w)rnrléNre©rTrs r
rUz-BatchProcessor.get_summary.<locals>.<genexpr>—sèø€Ð˜A°°8±À Ó1I”a¡ùó
c3ó2K|]}|ddk(sŒ dŒy­w)rnrqrNrers r
rUz-BatchProcessor.get_summary.<locals>.<genexpr>˜sèø€Ð ˜1°°(± ¸wÓ0F”Q¡ ùrƒc3óRK|]}|ddk(sŒ |jdd«Œ!y­w)rnrlrprNrQrs r
rUz-BatchProcessor.get_summary.<locals>.<genexpr>™s(èø€Ð^±\°ÀQÀxÁ[ÐT]ÓE]˜!Ÿ%™% ¨×+±\ùs
'')ÚtotalrlÚfailedrL)r\rDr8)r rlr‡rLs r
Ú get_summaryzBatchProcessor.get_summary•s_äѧ¢ÓÜѧ ¢ ÓÜÑ^°T·\²\Ó ô˜ŸÓØØ
ð
rr)rarbrcrdrr~rˆrerr
rgrggsÙó%óN 
rrgcóBeZdZdZed«Zedd«Zed«Zy)ÚFileFormatHandleruCОбработка различных форматов файловcóÀgd¢}|D],} t|d|¬«5}|j«cddd«cStd|«#1swYnxYwŒJ#t$rYŒUwxYw)uRПрочитать файл Ñ Ð°Ð²Ñ‚Ð¾Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸ÐµÐ¼ кодировки)rÚcp1251zlatin-1zutf-16rrNuHÐе удалоÑÑŒ определить кодировку файла: )rrrÚUnicodeDecodeErrorÚ
ValueError)rzÚ encodingsrrs r
Ú read_filezFileFormatHandler.read_file¦slò=ˆ ã!ˆ
ܘ) S°8ÕØŸ6™6ÐcÐdmÐcnÐ <úÐ<øä
Ùð
ús'AA© AÁA
Á AÁ AÁAcólt|d|¬«5}|j|«ddd«y#1swYyxYw)uСохранить файлrrN)rrv)rzr{rrs r
Ú save_filezFileFormatHandler.save_file´s*ô)˜S¨8Õ
4¸Ø