projects
/
findit
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
b6ef911
)
fixing problem with search path - fixed in src/searchfile.py
author
Alexandr Popov
<popov2al@gmail.com>
Sun, 29 Mar 2009 17:12:30 +0000
(21:12 +0400)
committer
Alexandr Popov
<popov2al@gmail.com>
Sun, 29 Mar 2009 17:12:30 +0000
(21:12 +0400)
src/searchfile.py
patch
|
blob
|
history
diff --git
a/src/searchfile.py
b/src/searchfile.py
index
08f2da0
..
dbd7236
100644
(file)
--- a/
src/searchfile.py
+++ b/
src/searchfile.py
@@
-11,27
+11,26
@@
from heapq import nlargest
class Search_File_Control(object):
class Search_File_Control(object):
- def __init__(self, start_dir, count, ignore_dirs, show_func):
- self.filelist = []
- self.fl_cnt = count
- self.srch_abs = Search_File_Abstraction(start_dir, ignore_dirs)
+ def __init__(self, get_start_data, ignore_dirs, show_func):
+ self.start_data = get_start_data
+ self.srch_abs = Search_File_Abstraction(ignore_dirs)
self.srch_present = Search_File_Presentation(self.start_search, show_func)
def get_ui(self):
return self.srch_present.get_ui()
def start_search(self, stopit, label, show_func):
self.srch_present = Search_File_Presentation(self.start_search, show_func)
def get_ui(self):
return self.srch_present.get_ui()
def start_search(self, stopit, label, show_func):
- #count, start_path = self.srch_present()
- for fsize, fpath in nlargest(self.fl_cnt, \
- self.srch_abs.filegetter(stopit, label) ):
+ self.filelist = []
+ start_path, count = self.start_data()
+ for fsize, fpath in nlargest(count, \
+ self.srch_abs.filegetter(start_path, stopit, label) ):
self.filelist.append([fpath, self.srch_abs.size_convert(fsize), fsize])
show_func(self.filelist)
class Search_File_Abstraction(object):
self.filelist.append([fpath, self.srch_abs.size_convert(fsize), fsize])
show_func(self.filelist)
class Search_File_Abstraction(object):
- def __init__(self, startdir, ignore_dirs):
- self.startdir = startdir
+ def __init__(self, ignore_dirs):
self.ignore_dirs = ignore_dirs
def size_convert(self, size):
self.ignore_dirs = ignore_dirs
def size_convert(self, size):
@@
-41,12
+40,13
@@
class Search_File_Abstraction(object):
return unit % (size/1024.**i)
return '>1024 Tb'
return unit % (size/1024.**i)
return '>1024 Tb'
- def filegetter(self, stopit, label):
+ def filegetter(self, startdir, stopit, label):
"""Generator of file sizes and paths based on os.walk."""
# Проходим по всем папкам вглубь от заданного пути
"""Generator of file sizes and paths based on os.walk."""
# Проходим по всем папкам вглубь от заданного пути
- for dirpath, dirnames, fnames in walk(self.startdir):
+ for dirpath, dirnames, fnames in walk(startdir):
# Исключаем каталоги из поиска в соответствии со списком исключений
# Исключаем каталоги из поиска в соответствии со списком исключений
- for ign_dir in self.ignore_dirs[:]:
+ ignore_dirs = self.ignore_dirs
+ for ign_dir in ignore_dirs[:]:
for dirname in dirnames[:]:
if ign_dir == normcase(join(abspath(dirpath), dirname)):
dirnames.remove(dirname)
for dirname in dirnames[:]:
if ign_dir == normcase(join(abspath(dirpath), dirname)):
dirnames.remove(dirname)
@@
-83,13
+83,13
@@
class Search_File_Presentation(object):
# Кнопка "Показать"
self.butt_start = gtk.Button('Go')
# Кнопка "Показать"
self.butt_start = gtk.Button('Go')
+ self.butt_start.connect('released', self.start_srch, st_func, show_func)
# Кнопка "Остановить"
self.butt_stop = gtk.Button('Stop')
self.butt_stop.set_sensitive(False)
self.stopit = False
self.butt_stop.connect('clicked', self.stop_srch)
# Кнопка "Остановить"
self.butt_stop = gtk.Button('Stop')
self.butt_stop.set_sensitive(False)
self.stopit = False
self.butt_stop.connect('clicked', self.stop_srch)
- self.butt_start.connect('released', self.start_srch, st_func, show_func)
self.search_hbox = gtk.HBox(False, 10)
self.search_hbox = gtk.HBox(False, 10)
@@
-101,6
+101,7
@@
class Search_File_Presentation(object):
return self.search_hbox
def start_srch(self, widget, start_func, show_func):
return self.search_hbox
def start_srch(self, widget, start_func, show_func):
+ self.stopit = False
self.butt_stop.set_sensitive(True)
self.butt_start.set_sensitive(False)
start_func(self.stopit, self.currfilelbl, show_func)
self.butt_stop.set_sensitive(True)
self.butt_start.set_sensitive(False)
start_func(self.stopit, self.currfilelbl, show_func)