download
AI Renamer
Typ: aplikácia s grafickým rozhraním
Prog. jazyk: Python
Widget toolkit: PyQt 4.0
IDE: IDLE (Python GUI)
OS: Microsoft Windows, Linux
Licencia: GPL
AI Renamer je sofistikovaný nástroj ktorý posúva hromadné premenovávanie súborov na novú úroveň. Okrem bežných funkcií ako sú operácie na reťazci, menný list či oprava vedúcich núl, ponúka aj pokročilé funkcie ako napr.: použitie EXIF, ID3 dát, automatické parsovanie názvu súboru, získavanie informácií z internetovej hudobnej metadatabázy, pravidelná automatická aktualizácia bez nutnosti zásahu užívateľa atp. Okrem toho prináša užívateľovi možnosť úplnej špecifikácie operácie napísaním vlastného skriptu v rámci prvkov grafického rozhrania. Aplikácia má anglickú, slovenskú aj českú lokalizáciu.
Hromadné premenovávanie súborov rozhodne nepatrí medzi moje záľuby, a preto som hľadal vhodný nástroj na zautomatizovanie tejto
činnosti. Avšak žiadny z dostupných programov nenaplnil moje očakávania. Chýbala mi hlavne schopnosť
programu využiť aktuálne meno súboru, vedieť ho sparsovať a získať tak cenné dáta do následného premenovania.
Mám napríklad hudobné súbory ktoré obsahujú názov interpreta a skladby, avšak chýba číslo skladby a ID3 dáta sú prázdne.
Nenašiel som žiadny freeware program schopný tieto informácie využiť k získaniu čísla skladby.
Za týmto účelom som sa rozhodol vytvoriť vlastný program na hromadné premenovávanie. Nutnou požiadavkou, ktorú som si sám stanovil, mali byť prvky umelej inteligencie v roli analyzovania názvu súboru, spolupracujúce s ostatnými funkciami. Odtiaľ pochádza názov (AI = Artificial Intelligence).
Hotový program je rozsiahlejší a vývoj zabral viac času ako som pôvodne plánoval,
ale zase všetky požiadavky boli splnené. Program obsahuje veľké množstvo funkcií,
medzi tými komplexnejšími stojí za zmienku práve automatické parsovanie názvu súboru a
získavanie informácií z hudobnej metadatabázy MusicBrainz.org.
Parsovanie je postavené na fakte, že názvy mediálnych súborov dodržujú istý pattern. Obzvlášť súbory stiahnuté z internetu
majú dlhé názvy z ktorých sa dá získať veľa informácií už pred otvorením. Napríklad zápis čísla série a epizódy
je obvykle v tvare SxxEyy. Ak adresár obsahuje viacero
hudobných súborov, tak sa jedná pravdepodobne o album a názov interpreta je časť názvu súboru ktorá sa opakuje.
Parser zostáva z veľkého počtu takýchto pravidiel ktoré sa postupne aplikujú a hľadá sa vzor s najlepším ohodnotením.
Neanalyzuje sa len jeden súbor, ale vždy celý adresár, pretože sa predpokladá vzájomný súvis položiek rovnakého priečinku.
Ako som už spomínal, jednotlivé funkcie sú navzájom prepojené, a parser nie je výnimkou. Dáta získané
parsovaním sú v prípade hudobných súborov kombinované s informáciami z ID3 tagu. Každá informácia je vážená svojou
vierohodnosťou a následne použitá k vyhľadaniu daného súboru v internetovej databáze.
Užívateľ môže tento proces ovplyvniť prostredníctvom rozhrania tým, že údaje zadá explicitne, pokiaľ si
ich pravdivosťou je naozaj istý. Takéto dáta majú najvyšší stupeň vierohodnosti a sú k vyhľadaniu na internete využité primárne.

Parser v akcii (ukážka aplikácie niektorých pravidiel)
Avšak AI Renamer nie je len o funkciách, ale aj o rozhraní, ktoré je zo všetkých mojích projektov asi najprepracovanejšie.
Prinútil som sa dokonca k vytvoreniu podrobnej nápovedy ku všetkým funkciám a troch lokalizácií za pomoci Qt Linguist.
Program je tiež schopný samostatnej aktualizácie a to do takej miery, že vám stači modul AI_app.py a všetky ostatné súčasti programu
sa automatický stiahnu pri spustení. Program si najprv stiahne xml súbor popisujúci kompletný zoznam potrebných súborov s verzovacími údajmi.
Tie porovná s tým, čo sa v adresári naozaj nachádza a v prípade potreby aktualizuje.
Program je zložený z viacerých modulov, kľúčové sú hlavne tie z adresára /core. Modul autoParser.py obsahuje spomínaný
automatický parser, musicBrainz.py pristupuje do internetovej hudobnej metadatabázy a renameAction.py všetkú logiku
spája dohromady a vytvára rozhranie pre grafické prostredie.
Pokiaľ budete chcieť program vyskúšať, je nutné mať nainštalovaný Python najlepšie verzie 2.7 a tiež dva balíky, ktoré nie sú nevyhnuté pre beh celého programu, ale sú nutné pre chod niektorých funkcií programu (tie sú inak vypnuté). Jedná sa o známy balík PIL a eyeD3. Spúšťačom celého programu je modul AI_app.py.