--- /dev/null
+#!/usr/bin/env python
+# -*-coding: utf-8 -*-
+# vim: sw=4 ts=4 expandtab ai
+# pylint: disable-msg=C0301
+
+class SearchFile(object):
+
+ def filesorter(self, dir):
+ import os
+ # Проходим по всем папкам вглубь от заданного пути
+ for dirpath, dirname, names in os.walk(dir):
+ for name in names:
+ flpath = os.path.join(dirpath, name)
+ # Возвращаем размер и полный путь файла
+ yield (os.path.getsize(flpath), flpath)
+
+ def run(self):
+ from file import File
+ import heapq
+ file = File(self.ui)
+ for fsize, fpath in heapq.nlargest(self.count, self.filesorter(self.path)):
+ file.add(fpath, fsize)
+ file.show()
+
+ def __init__(self, input, config, ui):
+ self.path, self.count = input.get_st_par()
+ if not self.path:
+ self.path = config.get("default_start_dir")
+ if not self.count:
+ self.count = config.get("default_count")
+ self.ui = ui