Kolko vidim u kodu funkciji kao param uvek prosledjujes self.storageDirEdit koji je clan klase tako da ne vidim sto ga jednostavno ne bi uvek koristio u funckiji umesto sto ga prosledjujes kao parametar. Ako postoji neki razlog dalje u kodu onda ok.
Samo jos par stilskih saveta koji se odnose na Python tj stil kodiranja:
Kôd:
while i<s:
if self.l[i] is not None and str(self.l[i].text()) is not '':
options['Labels'][str(self.l[i].text())] = str(self.e[i].text())
i += 1
se u Python-u pise otprilike ovako:
Kôd:
for i, el in self.l.eunmerate():
if el and str(el.text()):
options['Labels'][str(el.text())] = str(self.e[i].text())
(Mada ako u l i e koristis indekse tako - mozda dict umesto liste?)
Dok konstrukti tipa:
Kôd:
if self.useImdbCheckbox.isChecked():
options['Global']['imdb'] = '1'
else:
options['Global']['imdb'] = '0'
elegantnije mogu da budu napisani:
Kôd:
options['Global']['imdb'] = self.useImdbCheckbox.isChecked() and '1' or '0'
Ovo poslednje je JS fora ali dok je tamo ne treba koristi u zbog coercion-a u Pythonu se cak preporucuje.
Ovo nije pokusaj cepidlacenja nego proizilazi iz Zen of Python dela:
"There should be one—and preferably only one—obvious way to do it.".
Naravno da tvoje radi savrseno, ali stil je bitna stvar u Python jer je jezik koji dozvoljava svojim konstruktima da stil bude manje vise unificiran sto doprinosi da maltene svako moze da cita svaciji kod. Nikako zanemarljiva osobina.
Procitaj isto i (ako dosad nisi):
http://python.net/~goodger/projects/...c/handout.html