X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Ffindit.py;h=09feebd174c236687be6191078cfdae6c0ea018d;hb=dbf86c303dd82811477875e1ac7419062a265b17;hp=0783cac0e06eeac005d1e697d2ebff50d54f5c3f;hpb=f267879c3434a16a6e034a0b39c4bfdca0ab1e51;p=findit diff --git a/src/findit.py b/src/findit.py index 0783cac..09feebd 100755 --- a/src/findit.py +++ b/src/findit.py @@ -1,6 +1,7 @@ #!/usr/bin/env python # -*-coding: utf-8 -*- # vim: sw=4 ts=4 expandtab ai +# pylint: disable-msg=C0301 import gtk import gobject @@ -14,7 +15,8 @@ import time from sys import platform try: - import hildon; hildonFound = True + import hildon + hildonFound = True except ImportError: hildonFound = False @@ -34,17 +36,19 @@ except IOError: # Функция которая возвращает строку из числа и единиц для столбца "Размер"("Size") def size_convert(size): + """Return string with file size in b or Kb or Mb or Gb or Tb.""" for i, unit in enumerate(['%d b', '%.1f Kb', '%.2f Mb', '%.3f Gb', '%.4f Tb']): if size < 1024**(i+1): return unit % (size/1024.**i) return '>1024 Tb' # Функция поставляющая размер файла и путь к нему -def filegetter(startpath, obj): +def filegetter(startdir, obj): + """Generator of file sizes and paths based on os.walk.""" # Список игнорируемых каталогов: ignore_dirs = ['/dev', '/proc', '/sys', '/mnt'] # Проходим по всем папкам вглубь от заданного пути - for dirpath, dirnames, fnames in walk(startpath): + for dirpath, dirnames, fnames in walk(startdir): # Исключаем каталоги из поиска в соответствии со списком исключений for ign_dir in ignore_dirs[:]: for dirname in dirnames[:]: @@ -65,13 +69,14 @@ def filegetter(startpath, obj): # Проверяем можем ли мы определить размер файла - иначе пропускаем его try: flsize = getsize(flpath) + # Возвращаем размер и полный путь файла + yield flsize, flpath except OSError: continue - # Возвращаем размер и полный путь файла - yield flsize, flpath # Fullscreen def toggle_fullscreen(obj): + """Switch fullscreen on/off.""" if obj.fullscreen: obj.window.unfullscreen() else: @@ -80,13 +85,18 @@ def toggle_fullscreen(obj): # Нажатие на кнопку клавиатуры def on_key_press(obj, event): + """Key press callback.""" + # Toggle fullscreen on Maemo when hw key is pressed if hildonFound and event.keyval == gtk.keysyms.F6: toggle_fullscreen(obj) ### Properties dialog ########################################################## class PropertiesDialog(gtk.Dialog): + """File property dialog window.""" + def __init__(self, path, size, bytesize): + """Create&show file properties dialog.""" gtk.Dialog.__init__(self) self.set_title( _('File properties') ) self.set_transient_for(app) @@ -139,9 +149,11 @@ class PropertiesDialog(gtk.Dialog): ### Main window ################################################################ class MainWindow(gtk.Window): + """Main window class.""" # Окно сообщения заданного типа с заданным текстом def mess_window(self, mestype, content): + """Show popup message window.""" dialog = gtk.MessageDialog(parent=self, flags=gtk.DIALOG_MODAL, type=mestype, buttons=gtk.BUTTONS_OK, message_format=content) @@ -152,6 +164,7 @@ class MainWindow(gtk.Window): # Функция выполняющаяся при нажатии на кнопку "Показать" def start_print(self, widget): + """Start file search. Button "Go" activate callback.""" self.start_path = self.srch_p_entr.get_text() # Проверяем правильное ли значение введено if isdir(self.start_path): @@ -186,10 +199,12 @@ class MainWindow(gtk.Window): # Функция выполняющаяся при нажатии на кнопку "Стоп" def stop_print(self, widget): + """Stop search. "Stop" button clicked callback.""" self.stopit = True # Функция выполняющаяся при нажатии на кнопку "Свойства файла" def show_properties_dialog(self, *args): + """Show property dialog window.""" selection = self.treeview.get_selection() (model, it) = selection.get_selected() try: @@ -204,6 +219,7 @@ class MainWindow(gtk.Window): ### Window initialization ################################################## def __init__(self, win_width, win_height, st_path): + """Create MainWindow.""" # Создаем новое окно gtk.Window.__init__(self) self.set_default_size(win_width, win_height) @@ -269,7 +285,7 @@ class MainWindow(gtk.Window): self.treeview.set_headers_visible(1) self.treeview.connect('row-activated', self.show_properties_dialog) - self.treestore.append(None, ['','', 0]) + self.treestore.append(None, ['', '', 0]) # Создаем и настраиваем колонку с размером файла size_col = gtk.TreeViewColumn( _('Size') ) @@ -324,6 +340,7 @@ class MainWindow(gtk.Window): self.add(main_Vbox) def run(self): + """Show all widgets and run gtk.main().""" self.show_all() gtk.main()