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