From 054b8af5fcfc1ad111a1cff11230b27613b978dc Mon Sep 17 00:00:00 2001 From: Alexandr Popov Date: Mon, 9 Mar 2009 19:12:00 +0300 Subject: [PATCH] adding file with Saerch object --- src/searchfile.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/searchfile.py diff --git a/src/searchfile.py b/src/searchfile.py new file mode 100644 index 0000000..d543551 --- /dev/null +++ b/src/searchfile.py @@ -0,0 +1,31 @@ +#!/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 -- 1.7.9.5