Napíšte si vlastný skript
Táto funkcionalita môže byť užitočná pre znalcov jazyka Python, ktorým nestačia preddefinované
operácie a potrebujú si špecifikovať vlastnú.
Pri písaní skriptu je potrebné dodržiavať rovnaké syntaktické pravidlá aké má Python vo
verzií 2.7. Je potrebné dodržiavať odsek (4 medzery pre vnorený blok), pričom sa začína hneď od kraja.
Skript ktorý napíšete sa spustí pre každý súbor v zozname osobitne, čiže definuje proces
akým sa z dostupných informácií o súbore určí nové meno.
Nové meno súboru uložte do premennej new_name. ID súboru ktorý sa spracováva sa nachádza v
premenej file_id. Názov súboru ako aj všetky ostatné dostupné informácie o súbore získate
prostredníctvom metód lokálnych inštancií tried. Nastavenia zmeníte pomocou lokálnych metód na to určených.
Lokálne metódy
Skript ktorý píšete sa spúšťa v rámci triedy RenameAction.
Podrobná špecifikácia tejto triedy vás nemusí zaujímať, podstatné sú
pre vás len niektoré metódy. S výnimkou prvých dvoch sa jedná o setter-funkcie
ktoré vám umožnia meniť nastavenia v rámci skriptu. Hodnoty ktoré nastavíte prekryjú nastavenia zvolené v grafickom rozhraní.
- numOfFiles()
Funkcia vracia počet súborov v zozname na premenovanie.
- cancel()
Funkcia preruší proces premenovávania.
- setDeliminators([str delim1],[str delim2] .. )
Funkcia slúži na nastavenie znakov ktoré sa považujú za oddeľovače. Typicky medzi oddeľovače patrí medzera, čiarka, bodka atp. Oddeľovače slúžia na nastavenie veľkosti písmen.
-
setLetterSize(str letterSize)
Funkcia nastaví spôsob akým sa budú určovať veľkosti písmen.
Množina povolených hodnôt vstupného parametru letterSize je nasledovná:
- 'll' = malé písmená
- 'LL' = veľké písmená
- 'Ll' = kapitálky
- 'lL' = opačné kapitálky
- 'Lll' = prvé písmeno veľké
- setChangeOrigLetterSize(bool change)
Funkcia nastaví či sa majú meniť veľkosti písmen pôvodných dát.
- setNumAccuracy(int whole = -1, int after = -1)
Nastaví minimálny počet číslic celých aj reálnych čísel (parameter whole), a tiež počet desatinných miest reálnych čísel (parameter after). Hodnota -1 predstavuje automatickú presnosť.
- setEmptyString(str emptyString)
Nastaví prázdny reťazec, ktorý sa použije tam kde nie je požadovaný údaj k dispozícií.
-
setDateFormat(str dayName = None, str monthName = None, str year = None)
Nastaví formát zobrazovania dátumu. Povolené hodnoty sú nasledovné:
- dayName='long' - zobrazuje sa plný názov dňa
- dayName='short' - zobrazuje sa skratka názvu dňa
- monthName='long' - zobrazuje sa plný názov mesiaca
- monthName='short' - zobrazuje sa skratka názvu mesiaca
- year = 'xxxx' - zobrazujú sa všetky štyri číslice roku
- year = 'xx' - zobrazujú sa posledné dve číslice roku
- setSizeUnit(str sizeUnit)
Nastaví jednotku objemu dát ktorá sa použije pri veľkosti súboru. Povolené hodnoty vstupného argumentu: 'B', 'KB', 'MB', 'GB'. Implicitne je nastavené 'KB'.
Pozn.: Pred názvy funkcií nemusíte písať kľúčové slovo self pretože tieto identifikátory už sú definované ako odkazy na metódy triedy.
Lokálne inštancie
V rámci triedy RenameAction v ktorej sa skript spúšťa máte k dispozícií sériu inštancií tried,
ktorých rozhranie umožňuje získať dáta konkrétnej kategórie o súbore ktorý sa v danej iterácií spracováva.
Jedná sa o nasledovné inštancie:
Pozn.: Pred názvy inštancií nemusíte písať kľúčové slovo self pretože tieto identifikátory už sú definované ako odkazy na inštancie vytvorené v inicializačnej sekcií triedy RenameAction.
File
Inštancia trieda ktorá umožňuje prístup k základným vlastnostiam súboru.
Všetky funkcie majú jeden nepovinný vstupný parameter _file, typu string, ktorý predstavuje
celý názov súboru (vrátane cesty). Pokiaľ sa nezadá explicitne, použije sa názov aktuálne spracovávaného súboru.
- File.whole_name( _file = None)
Vráti názov súboru. Pokiaľ _file!=None vráti priamo _file, inak názov spracovávaného súboru.
- File.name(_file = None)
Vráti názov súboru bez prípony.
- File.baseName( _file = None)
Vráti názov súboru aj s príponou, pokiaľ existuje.
- File.ext( _file = None)
Vráti príponu súboru.
- File.path( _file = None)
Vráti cestu k súboru.
- File.size(_file = None)
Vráti veľkosť súboru.
- File.creation_date, File.access_date, File.modif_date
Inštancie triedy _file_date, ktoré umožňujú prístup k informáciám o dátume vzniku, posledného prístupu a poslednej modifikácie súboru.
- File.creation_time, File.access_time, File.modif_time
Inštancie triedy _file_time, ktoré umožňujú prístup k informáciám o čase vzniku, posledného prístupu a poslednej modifikácie súboru.
- File.__call__(_file = None)
Vráti true pokiaľ súbor s menom _file existuje a je prístupný pre zápis.
Current_time
Inštancia umožňuje prístup k položkám aktuálneho času.
- Current_time.second()
Vráti počet sekúnd aktuálneho času.
- Current_time.minute()
Vráti počet minút aktuálneho času.
- Current_time.hour()
Vráti počet hodín aktuálneho času.
- Current_time.__call__()
Vráti hour()+':'+minute()+' '+second()
Current_date
Inštancia umožňuje prístup k položkám aktuálneho dátumu.
- Current_date.dayName()
Vráti názov aktuálneho dňa.
- Current_date.day()
Vráti číslo aktuálneho dňa.
- Current_date.monthName()
Vráti meno aktuálneho mesiaca.
- Current_date.month()
Vráti číslo aktuálneho mesiaca.
- Current_date.year()
Vráti aktuálny rok.
- Current_date.__call__()
Vráti day()+'.'+month()+'.'+year()
Image
Inštancia ktorá umožňuje prístup k základným vlastnostiam obrázku. Všetky funkcie majú jeden nepovinný vstupný parameter _file, typu string, ktorý predstavuje celý názov súboru (vrátane cesty). Pokiaľ sa nezadá explicitne, použije sa názov aktuálne spracovávaného súboru.
- Image.width(_file = None)
Vráti šírku obrázku v pixloch.
- Image.height(_file = None)
Vráti výšku obrázku v pixloch.
- Image.mode(_file = None)
Vráti mód obrázku (RGB / BW / CMYK ..).
- Image.library()
Vráti True pokiaľ knižnica pre prácu s obrázkami je k dispozícií, False v opačnom pŕipade.
- Image.__call__(_file = None)
Vráti True pokiaľ súbor s menom _file existuje a je to obrázok.
Exif
Inštancia ktorá umožňuje prístup k základným položkám EXIF štruktúry obrázku. Všetky funkcie majú jeden nepovinný vstupný parameter _file, typu string, ktorý predstavuje celý názov súboru (vrátane cesty). Pokiaľ sa nezadá explicitne, použije sa názov aktuálne spracovávaného súboru.
- Exif.camera_maker(_file = None)
Vráti reťazec obsahujúci názov značky kamery.
- Exif.camera_model(_file = None)
Vráti reťazec obsahujúci názov modelu kamery.
- Exif.F_stop(_file = None)
Vráti clonové číslo (float).
- Exif.ISO(_file = None)
Vráti ISO (float).
- Exif.focal_length(_file = None)
Vráti ohniskovú vzdialenosť (float).
- Exif.library()
Vráti True pokiaľ knižnica pre prácu s obrázkami je k dispozícií, v opačnom prípade False.
- Exif.__call__()
Vráti True pokiaľ súbor s menom _file existuje, je to obrázok a obsahuje Exif metadata.
ID3
Inštancia ktorá umožňuje prístup k položkám ID3 štruktúry zvukového súboru. Všetky funkcie majú jeden nepovinný vstupný parameter _file, typu string, ktorý predstavuje celý názov súboru (vrátane cesty). Pokiaľ sa nezadá explicitne, použije sa názov aktuálne spracovávaného súboru.
- ID3.artist(_file = None)
Vráti reťazec obsahujúci názov interpreta.
- ID3.album(_file = None)
Vráti reťazec obsahujúci názov albumu.
- ID3.track_name(_file = None)
Vráti reťazec obsahujúci názov skladby.
- ID3.track_num(_file = None)
Vráti číslo skladby v albume.
- ID3.music_style(_file = None)
Vráti reťazec obsahujúci názov hudobného štýlu.
- ID3.year_of_release(_file = None)
Vráti rok vydania albumu.
- ID3.comment(_file = None)
Vráti reťazec obsahujúci vpísaný komentár.
- ID3.setNew(self,_file = None, artist=None, album=None, track_name=None, track_num=None, music_style=None, year=None, comment=None)
Funkcia umožňuje zapísať nové hodnoty ID3 do súboru. Vráti True/False v prípade úspechu/neúspechu.
- ID3.library(_file = None)
Vráti True pokiaľ knižnica pre prácu s ID3 štruktúrou je k dispozícií, v opačnom prípade False.
- ID3.__call__(_file = None)
Vráti True pokiaľ súbor s menom _file existuje, je to hudobný súbor a obsahuje ID3 metadata.
MusicBrainz
Táto inštancia slúži pre prístup k dátam z hudobnej metadatabázy MusicBrainz.org. Dáta vyhľadáva na základe explicitne zadaných informácií(Explicit_data), ID3 informácií a z výsledkov AutoParser-u. Všetky funkcie majú jeden nepovinný vstupný parameter _file, typu string, ktorý predstavuje celý názov súboru (vrátane cesty). Pokiaľ sa nezadá explicitne, použije sa názov aktuálne spracovávaného súboru.
Pre správnu funkčnosť samozrejme vyžaduje pripojenie do internetu. Je dôležité si tiež uvedomiť že vykonanie metódy na získanie konkrétnych dát z internetovej databázy zaberá väčšie množstvo času. Preto každá metóda obsahuje nepovinný parameter timeout, ktorý v prípade že sa nezadá metódy nebudú obmedzené časom. V opačnom prípade ich vykonanie nezaberie dlhší čas ako je nastavené v parametre timeout(v sekundách). Ďalšími voliteľnými parametrami sú urls a only_url. Urls je zoznam preddefinovaných url albumov z MusicBrainz.com, z ktorých sa majú dáta získavať prednostne. Only_url špecifikuje či sa majú použiť len tieto preddefinované adresy, alebo má program prípadne vyhľadať ďalšie.
- MusicBrainz.artist(_file = None,urls = [], only_urls = False,timeout=None)
Vráti reťazec obsahujúci názov interpreta.
- MusicBrainz.album(_file = None,urls = [], only_urls = False,timeout=None)
Vráti reťazec obsahujúci názov albumu.
- MusicBrainz.track_name(self,_file = None,urls = [], only_urls = False,timeout=None)
Vráti reťazec obsahujúci názov skladby.
- MusicBrainz.track_num(self,_file = None,urls = [], only_urls = False,timeout=None)
Vráti číslo skladby v albume.
- MusicBrainz.year_of_release(self,_file = None,urls = [], only_urls = False, timeout=None)
Vráti rok vydania albumu.
- MusicBrainz.library()
Vráti True pokiaľ knižnica musicBrainz.py je k dispozícií, v opačnom prípade False.
Explicit_data
Inštancia slúži na prácu s explicitne zadanými informáciami. Pod explicitne zadanými inf. sa rozumejú dáta vložené konečným užívateľom (nie programátorom), ktoré sú mu známe, avšak nie sú v názve súboru alebo v jeho metadátach dostupné. Používať setter-funkcie v rámci skriptu preto nie je doporučené, ani zmysluplné.
Všetky funkcie majú jeden nepovinný vstupný parameter _file, typu string, ktorý predstavuje celý názov súboru (vrátane cesty). Pokiaľ sa nezadá explicitne, použije sa názov aktuálne spracovávaného súboru.
- Explicit_data.new_file_name(_file = None)
Vráti reťazec obsahujúci nový názov súboru zadaný užívateľom.
- Explicit_data.set_new_file_name(data, _file = None)
Nastaví nove meno súboru.
- Explicit_data.artist(_file = None)
Vráti reťazec obsahujúci interpreta skladby zadaného užívateľom.
- Explicit_data.set_artist(data, _file = None)
Nastaví interpreta skladby.
- Explicit_data.album(_file = None)
Vráti reťazec obsahujúci album skladby zadaný užívateľom.
- Explicit_data.set_album(_file = None)
Nastaví názov albumu.
- Explicit_data.track_name(_file = None)
Vráti reťazec obsahujúci názov skladby zadaný užívateľom.
- Explicit_data.set_track_name(data,_file = None)
Nastaví názov skladby.
- Explicit_data.track_num(_file = None)
Vráti číslo skladby v albume zadané užívateľom.
- Explicit_data.set_track_num(_file = None)
Nastaví číslo skladby.
- Explicit_data.episode_num(_file = None)
Vráti číslo epizódy (v danej sérií) zadané užívateľom.
- Explicit_data.set_episode_num(_file = None)
Nastaví číslo epizódy.
- Explicit_data.season_num(_file = None)
Vráti číslo série zadané užívateľom.
- Explicit_data.set_season_num(_file = None)
Nastaví číslo série.
- Explicit_data.serial_name(_file = None)
Vráti reťazec obsahujúci názov seriálu zadaný užívateľom.
- Explicit_data.set_serial_name(_file = None)
Nastaví názov seriálu.
- Explicit_data.episode_name(_file = None)
Vráti reťazec obsahujúci názov epizódy zadaný užívateľom.
- Explicit_data.set_episode_name(_file = None)
Nastaví názov epizódy.
- Explicit_data.release_type(_file = None)
Vráti typ vydania (napr. Tvrip, bdrip, dvdrip, cam..).
- Explicit_data.set_release_type(_file = None)
Nastaví typ vydania.
- Explicit_data.year_of_release(_file = None)
Vráti rok vydania skladby/filmu/epizódy/seriálu zadaného užívateľom.
- Explicit_data.set_year_of_release(_file = None)
Nastaví rok vydania.
- Explicit_data.uploader(_file = None)
Vráti pseudonym uploader-a.
- Explicit_data.set_uploader(_file = None)
Nastaví pseudonym uploader-a.
Auto_parser
Inštancia umožňuje prístup k dátam získaných automatickým parsovaním názvu súboru. Je to experimentálna funkcia a jej výsledky nie sú zaručene presné. Táto funkcionalita sa vzťahuje na súbory so zvukovými stopami, video súbory a súbory s titulkami.
All functions have one optional input argument _file (string type),
representing whole file name (including path). If it is not set, than the name of the file which is currently being processed will be used.
- Auto_parser.artist(_file = None)
Vráti reťazec obsahujúci interpreta skladby.
- Auto_parser.album(_file = None)
Vráti reťazec obsahujúci názov albumu.
- Auto_parser.track_name(_file = None)
Vráti reťazec obsahujúci názov skladby.
- Auto_parser.track_num(_file = None)
Vráti číslo skladby v albume.
- Auto_parser.episode_num(_file = None)
Vráti číslo epizódy v dane sérií.
- Auto_parser.season_num(_file = None)
Vráti číslo série daného seriálu.
- Auto_parser.episode_name(_file = None)
Vráti reťazec obsahujúci názov epizódy.
- Auto_parser.serial_name(_file = None)
Vráti reťazec obsahujúci názov seriálu.
- Auto_parser.release_type(_file = None)
Vráti typ vydania (napr. Tvrip, bdrip, dvdrip, cam..).
- Auto_parser.year_of_release(_file = None)
Vráti rok vydania skladby/filmu/epizódy/seriálu zadaného užívateľom.
- Auto_parser.uploader(_file = None)
Vráti pseudonym uploader-a.