3 # vim: sw=4 ts=4 expandtab ai
4 # pylint: disable-msg=C0301
6 class SearchFile(object):
8 def __init__(self, vvod, config):
9 self.path, self.count = vvod
11 self.path = config.get("default_start_dir")
13 self.count = config.get("default_count")
15 from resultlist import ResultList
16 self.result = ResultList()
18 def filesorter(self, dir):
20 # Проходим по всем папкам вглубь от заданного пути
21 for dirpath, dirname, names in os.walk(dir):
23 flpath = os.path.join(dirpath, name)
24 # Возвращаем размер и полный путь файла
25 yield (os.path.getsize(flpath), flpath)
29 for fsize, fpath in heapq.nlargest(self.count, self.filesorter(self.path)):
30 self.result.add((fpath, fsize))