some structuring
authorEugene Gagarin <mosfet07@ya.ru>
Wed, 25 Feb 2009 10:07:27 +0000 (13:07 +0300)
committerEugene Gagarin <mosfet07@ya.ru>
Wed, 25 Feb 2009 10:07:27 +0000 (13:07 +0300)
findit [deleted file]
findit.desktop [deleted file]
findit.py [deleted file]
icons/findit_icon_128x128.png [deleted file]
icons/findit_icon_16x16.png [deleted file]
icons/findit_icon_26x26.png [deleted file]
icons/findit_icon_32x32.png [deleted file]
icons/findit_icon_64x64.png [deleted file]
icons/uuencode_b64_26x26.en [deleted file]
ru.po [deleted file]

diff --git a/findit b/findit
deleted file mode 100755 (executable)
index c198574..0000000
--- a/findit
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-exec python -O /usr/share/findit/findit.py
diff --git a/findit.desktop b/findit.desktop
deleted file mode 100644 (file)
index e627894..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-[Desktop Entry]
-Version=1.0
-Encoding=UTF-8
-Name=FindIT
-Exec=/usr/bin/findit
-Icon=findit
-Type=Application
-StartupWMClass=MainWindow
-X-Icon-path=/usr/share/icons
-X-Window-Icon=findit
-X-HildonDesk-ShowInToolbar=true
-X-Osso-Type=application/x-executable
diff --git a/findit.py b/findit.py
deleted file mode 100755 (executable)
index 015d113..0000000
--- a/findit.py
+++ /dev/null
@@ -1,326 +0,0 @@
-#!/usr/bin/env python
-# -*-coding: utf-8 -*-
-# vim: sw=4 ts=4 expandtab ai
-
-import gtk
-import gobject
-import pango
-from os import walk
-from os.path import join, abspath, normcase, basename, \
-                    isdir, getsize, getatime, getmtime
-from heapq import nlargest
-import gettext
-import sys
-import time
-
-try: import hildon; hildonFound = True
-except: hildonFound = False
-
-try:
-    # Подразумевается, что ru/LC_MESSAGES/program.mo находится в текущем каталоге (sys.path[0])
-    # Для стандартного /usr/share/locale писать gettext.translation('findit')
-    #langRU = gettext.translation('findit', sys.path[0], languages=['ru'])
-    langRU = gettext.translation('findit')
-    langRU.install()
-except:
-    # Закомментировать перед использованием pygettext
-    def _(text): return text
-
-
-### Common functions ###########################################################
-
-# Функция которая возвращает строку из числа и единиц для столбца "Размер"("Size")
-def size_convert(size):
-    for i, unit in enumerate(['%d b', '%.1f Kb', '%.2f Mb', '%.3f Gb', '%.4f Tb']):
-        if size < 1024**(i+1):
-            return unit % (size/1024.**i)
-    return '>1024 Tb'
-
-# Функция поставляющая размер файла и путь к нему
-def filegetter(startpath, obj):
-    # Список игнорируемых каталогов:
-    ignore_dirs = ['/dev', '/proc', '/sys', '/mnt']
-    # Проходим по всем папкам вглубь от заданного пути
-    for dirpath, dirnames, fnames in walk(startpath):
-    # Исключаем каталоги из поиска в соответствии со списком исключений
-        for ign_dir in ignore_dirs[:]:
-            for dirname in dirnames[:]:
-                if ign_dir == normcase(join(abspath(dirpath), dirname)):
-                    dirnames.remove(dirname)
-                    ignore_dirs.remove(ign_dir)
-
-        for fname in fnames:
-            flpath = abspath(join(dirpath, fname))
-            # Выводим текущий опрашиваемый файл в строку статуса
-            obj.currFileLbl.set_text(flpath)
-            # обновляем окно
-            gtk.main_iteration()
-            # Останавливаем цикл по нажатию кнопки стоп
-            if obj.stopit:
-                obj.stopit = False
-                raise StopIteration
-            # Проверяем можем ли мы определить размер файла - иначе пропускаем его
-            try:    flsize = getsize(flpath)
-            except: continue
-            # Возвращаем размер и полный путь файла
-            yield flsize, flpath
-
-# Fullscreen
-def toggle_fullscreen(obj):
-    if obj.fullscreen:
-          obj.window.unfullscreen()
-    else: obj.window.fullscreen()
-    obj.fullscreen = not obj.fullscreen
-
-# Нажатие на кнопку клавиатуры
-def on_key_press(obj, event):
-    if hildonFound and event.keyval == gtk.keysyms.F6:
-        toggle_fullscreen(obj)
-
-### Properties dialog ##########################################################
-
-class PropertiesDialog(gtk.Dialog):
-    def __init__(self, path, size, bytesize):
-        gtk.Dialog.__init__(self)
-        self.set_title( _('File properties') )
-        self.set_transient_for(app)
-        self.set_wmclass('PropertiesDialog', 'FindIT')
-        self.add_buttons(gtk.STOCK_OK, gtk.RESPONSE_OK)
-        self.set_resizable(False)
-
-        # Достаем свойства выбранного файла
-        name = basename(path)
-        access = time.strftime('%x %X', time.localtime(getatime(path)))
-        modified = time.strftime('%x %X', time.localtime(getmtime(path)))
-
-        # Таблица надписей
-        table = gtk.Table()
-        table.set_border_width(10)
-        table.set_col_spacings(10)
-        table.set_row_spacings(10)
-
-        # Надписи (подпись: значение)
-        nameLbl = gtk.Label( _('Name') )
-        nameValueLbl = gtk.Label(name)
-
-        sizeLbl = gtk.Label( _('Size') )
-        sizeValueLbl = gtk.Label(size + ' (' + `bytesize` + ' b)')
-
-        accessLbl = gtk.Label( _('Opened') )
-        accessValueLbl = gtk.Label(access)
-
-        modifiedLbl = gtk.Label( _('Modified') )
-        modifiedValueLbl = gtk.Label(modified)
-
-        # Список надписей
-        lbls = [(nameLbl,   nameValueLbl),   (sizeLbl,     sizeValueLbl),
-                (accessLbl, accessValueLbl), (modifiedLbl, modifiedValueLbl)]
-
-        # Упаковка надписей в таблицу и выравнивание
-        for i, lbl in enumerate(lbls):
-            name, value = lbl
-            table.attach(name, 0, 1, i, i+1)
-            table.attach(value, 1, 2, i, i+1)
-            name.set_alignment(1, 0.5)
-            value.set_alignment(0, 0.5)
-
-        # Упаковка таблицы в vbox диалога
-        self.vbox.add(table)
-        self.show_all()
-        self.run()
-        self.destroy()
-
-### Main window ################################################################
-
-class MainWindow(gtk.Window):
-
-    # Окно сообщения заданного типа с заданным текстом
-    def mess_window(self, mestype, content):
-        dialog = gtk.MessageDialog(parent=self, flags=gtk.DIALOG_MODAL,
-                                   type=mestype, buttons=gtk.BUTTONS_OK,
-                                   message_format=content)
-        dialog.set_wmclass('ErrorDialog', 'FindIT')
-        dialog.set_title( _('Error!') )
-        dialog.run()
-        dialog.destroy()
-
-    # Функция выполняющаяся при нажатии на кнопку "Показать"
-    def start_print(self, widget):
-        self.start_path = self.srch_p_entr.get_text()
-        # Проверяем правильное ли значение введено
-        if isdir(self.start_path):
-            self.butt_start.set_sensitive(False)
-            self.butt_stop.set_sensitive(True)
-            self.propertiesBtn.set_sensitive(False)
-            # Получаем значение количества файлов из SpinButton
-            self.fl_cnt = int( self.file_cnt.get_value() )
-            # Очищаем список
-            self.treestore.clear()
-            # Получаем нужное количество самых больших файлов
-            for fsize, fpath in nlargest(self.fl_cnt, filegetter(self.start_path, self)):
-                # Возвращаем значения в treeview в таком порядке - путь,
-                # размер в Мб строкой и размер в байтах
-                # self.treestore.append(None, [fpath.replace(self.start_path,'', 1),
-                #        size_convert(fsize), fsize])
-
-                # Выдает какую-то перманентную ошибку при присвоении значений treestore -
-                # кто увидит скажите - нужна статистика
-                try: self.treestore.append(None, [fpath, size_convert(fsize), fsize])
-                except: 'error', fpath, size_convert(fsize), fsize
-            self.butt_start.set_sensitive(True)
-            self.butt_stop.set_sensitive(False)
-            self.propertiesBtn.set_sensitive(True)
-        else:
-            # Иначе выводим окошко с ошибкой
-            self.mess_window('error', _('Invalid directory') )
-
-    # Функция выполняющаяся при нажатии на кнопку "Стоп"
-    def stop_print(self, widget):
-        self.stopit = True
-
-    # Функция выполняющаяся при нажатии на кнопку "Свойства файла"
-    def show_properties_dialog(self, btn):
-        selection = self.treeview.get_selection()
-        (model, it) = selection.get_selected()
-        try:
-            path = model.get_value(it, 0)
-            size = model.get_value(it, 1)
-            bytesize = model.get_value(it, 2)
-        except:
-            self.mess_window('error', _('Please select file') )
-            return
-        PropertiesDialog(path, size, bytesize)
-
-    ### Window initialization ##################################################
-
-    def __init__(self, win_width, win_height, st_path):
-        # Создаем новое окно
-        gtk.Window.__init__(self)
-        self.set_default_size(win_width, win_height)
-        self.set_border_width(4)
-        self.fullscreen = False
-        self.connect('delete_event', gtk.main_quit)
-        self.connect("key-press-event", on_key_press)
-        self.set_wmclass('MainWindow', 'FindIT')
-
-        #########  Добавляем элементы ################
-        # 1. Строка ввода каталога с которого начинать поиск
-        #    переменная в которой храниться стартовый каталог = self.start_path
-        self.srch_p_entr = gtk.Entry()
-        self.start_path = st_path
-        self.srch_p_entr.set_text(self.start_path)
-        # Отключаем автокапитализацию(ввод первой буквы заглавной) на таблетке
-        if hildonFound:
-            self.srch_p_entr.set_property("hildon-input-mode", 'full')
-        # Нажатие Enter в поле ввода
-        self.srch_p_entr.connect("activate", self.start_print)
-
-        # 2. Кнопка "Обзор"
-
-        # 3. Надпись1 "Количество отображаемых файлов:"
-        label1 = gtk.Label( _('Files quantity') )
-
-        # 4. Окошко ввода количества файлов, мин значение=1 макс=65536 по умолчанию 10
-        #    данные храняться в переменной self.fl_cnt
-        self.fl_cnt = 10
-        if hildonFound:
-            self.file_cnt = hildon.NumberEditor(1, 99)
-            self.file_cnt.set_value(self.fl_cnt)
-        else:
-            adj = gtk.Adjustment(self.fl_cnt, 1, 65536, 1, 5, 0)
-            self.file_cnt = gtk.SpinButton(adj, 0, 0)
-
-        # 5.1 Кнопка "Показать"
-        self.butt_start = gtk.Button( _('Go') )
-        self.butt_start.connect('clicked', self.start_print)
-
-        # 5.2 Кнопка "Остановить"
-        self.butt_stop = gtk.Button( _('Stop') )
-        self.butt_stop.set_sensitive(False)
-        self.butt_stop.connect('clicked', self.stop_print)
-        self.stopit = False
-
-        # 5.3 Кнопка "Свойства файла"
-        self.propertiesBtn = gtk.Button( _('File properties') )
-        self.propertiesBtn.connect('clicked', self.show_properties_dialog)
-        self.propertiesBtn.set_sensitive(False)
-
-        # 6. Закладки
-
-        # 6.1 Список файлов
-        scrollwind = gtk.ScrolledWindow()
-        scrollwind.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
-
-        # Определяем переменную в которой будет храниться выводимый список
-        self.treestore = gtk.TreeStore(str, str, int)
-        self.treeview = gtk.TreeView(self.treestore)
-        # На таблетке не отображаються заголовки столбцов по умолчанию -
-        # след строка заставляет их отображаться принудительно
-        self.treeview.set_headers_visible(1)
-
-        self.treestore.append(None, ['','', 0])
-
-        # Создаем и настраиваем колонку с размером файла
-        size_col = gtk.TreeViewColumn( _('Size') )
-        cell = gtk.CellRendererText()
-        cell.set_property('width', 90)
-        size_col.pack_start(cell, True)
-        size_col.add_attribute(cell, 'text', 1)
-        self.treeview.append_column(size_col)
-        # Создаем и настраиваем колонку с именем файла
-        path_col = gtk.TreeViewColumn( _('Path') )
-        cell2 = gtk.CellRendererText()
-        path_col.pack_start(cell2, True)
-        path_col.add_attribute(cell2, 'text', 0)
-        self.treeview.append_column(path_col)
-
-        # Добавляем сортировку для колонок
-        self.treeview.set_search_column(1)
-        path_col.set_sort_column_id(0)
-        size_col.set_sort_column_id(2)
-
-        # 6.2 Надпись "Найти"
-
-        # 6.3 Строка выводящая текущий осматриваемый файл
-        self.currFileLbl = gtk.Label()
-        self.currFileLbl.set_alignment(0, 0.5)
-        self.currFileLbl.set_ellipsize(pango.ELLIPSIZE_MIDDLE)
-        self.currFileLbl.set_padding(2, 2)
-        currFileFrm = gtk.Frame()
-        currFileFrm.add(self.currFileLbl)
-
-        #########  Упаковываем элементы ################
-        # Создаем основной вертикальный контейнер
-        main_Vbox = gtk.VBox(False, 4)
-
-        # Создаем вспомогательный горизонтальный контейнер для Надписи1,
-        # окошка ввода количества файлов и кнопки "Показать"
-        hbox1 = gtk.HBox(False, 5)
-        # Добавляем вышеперечисленные элементы во вспомогат. контейнер
-        hbox1.pack_start(label1, False, False, 5)
-        hbox1.pack_start(self.file_cnt, False, False, 0)
-        hbox1.pack_start(self.butt_start, True, True, 0)
-        hbox1.pack_start(self.butt_stop, True, True, 0)
-        hbox1.pack_start(self.propertiesBtn, True, True, 0)
-
-        # Добавляем элементы в основной контейнер
-        main_Vbox.pack_start(self.srch_p_entr, False, False, 0)
-        main_Vbox.pack_start(hbox1, False, False, 0)
-        scrollwind.add(self.treeview)
-        main_Vbox.pack_start(scrollwind, True, True, 0)
-        main_Vbox.pack_start(currFileFrm, False, False, 0)
-
-        self.add(main_Vbox)
-
-    def run(self):
-        self.show_all()
-        gtk.main()
-        return 0
-
-
-### Main call ##################################################################
-
-if __name__ == '__main__':
-    gobject.set_application_name( _('FindIT') )
-    app = MainWindow(575, 345, '.')
-    app.run()
diff --git a/icons/findit_icon_128x128.png b/icons/findit_icon_128x128.png
deleted file mode 100644 (file)
index c087dce..0000000
Binary files a/icons/findit_icon_128x128.png and /dev/null differ
diff --git a/icons/findit_icon_16x16.png b/icons/findit_icon_16x16.png
deleted file mode 100644 (file)
index 5657ae9..0000000
Binary files a/icons/findit_icon_16x16.png and /dev/null differ
diff --git a/icons/findit_icon_26x26.png b/icons/findit_icon_26x26.png
deleted file mode 100644 (file)
index a99ade5..0000000
Binary files a/icons/findit_icon_26x26.png and /dev/null differ
diff --git a/icons/findit_icon_32x32.png b/icons/findit_icon_32x32.png
deleted file mode 100644 (file)
index 9e22599..0000000
Binary files a/icons/findit_icon_32x32.png and /dev/null differ
diff --git a/icons/findit_icon_64x64.png b/icons/findit_icon_64x64.png
deleted file mode 100644 (file)
index 3ab3f4d..0000000
Binary files a/icons/findit_icon_64x64.png and /dev/null differ
diff --git a/icons/uuencode_b64_26x26.en b/icons/uuencode_b64_26x26.en
deleted file mode 100644 (file)
index 5aaa508..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAABHNCSVQICAgI
-fAhkiAAAAAlwSFlzAAABNgAAATYBFu8C4gAAABl0RVh0U29mdHdhcmUAd3d3
-Lmlua3NjYXBlLm9yZ5vuPBoAAARvSURBVEiJvZZrbBRVFMf/Zx67s7PP2S3b
-BkqWbbe0VCig+BYRi4piaFI0gq2RIBETqVi+0EQxEZWIkkDE0PAIJET8gIGQ
-WtEIBlES1EK7trZAkdCspY2Udmnpzrb7mOMHrJZ2262J4STnw0z+//O7986d
-ey4xM+5ECHeEAkD6L2KX5tkejeprCKAxC8rytUj/zaeY+XxKkER+pxkLc3Ts
-b2LmxMgCRKRabfZXTje2S4pFHXMw61970XHi2NEZAG4DCR46XJlFl/7w4lyX
-hn31WWhrz6Tg0Qz6qspBb88bpi3yB/Jj40EAoPX8bwzg8uiZYvZ6CYHsoRci
-fJkifCUy5pSYUfx+Jp09NohTOwBk5uYVyADw5eGDtPW9Kp0EgSVRYlGSWJZN
-RjweF/p6w53M/OsoEEG6DiAbAOJoOG4g/EMS7ZcEeLwiMucSbHerWFVrSHVX
-c6cXWgEYLU0Ng+Ge7g0ADgCQhyUzc2eqmUpJdB4XMW1ODGdqb2BtaYzPxUeK
-nLRpjqyGaqb6lglGEnS59WIMwAVmjoy7jsNCiOHnzxl9/THUVaeCAEAvvxM0
-xFbd588xQMyhKx12G6pmThQCAMINfjM4iB8/YPRGxxMORPUp2T6/IQhkhMOh
-mIIFj0yiE/tUWq5NCAQA3Xh2SwIXJo8lIiKnyWyGolgQ7rkOWZbDXbz4hSRC
-p61YXaNR9cJ0IAm49QVF0mpNdG9RjOsaU+gCk7N9gwCUUNtliuqRSS7N0wYX
-YIAkYnut07b3Sl+kfi4zp1z+f37YJId7FXrSrFLZMzofPDZCl5sTyJcAIL+w
-iGu+bxTw904dirKlj+c6Iu9+BKAyFei2s26Av60T4Ew6aOPzt41GkqYH8gut
-AKAoFkyZ6uPhqbk9HI32JRmJ75y0aV0qEJh5VDqweYULO1YOPbvcni+2Vn+W
-aAzp8aXPlfWbzcrAiNRdmvsTZoYdG+erWFU2smZKEDPDhb1r3Ti0XcESVXNn
-NB36+kyiMaTHc/IKugEExvIxMyxYMc+Mx4onBGJmaDiwMgPfnLSaZ9786fy1
-eGNIj1tt9ggAeTwfM0PGPT4RXu+EQMwMK14tcosfJ9ZVNCdPBUNxm93Rlc4z
-zLtawRKVmdM3vgh2szuwv9esAFUvhUSTkN+TzvPvTtMu2FC5edSuGyMC/tx8
-obzCb8x74qIh9m+a5KVfaly0bXE6owhfhgkPva7RzuK0IEEQAnkFd6kAkMQV
-I4xl2xjRNhXlRzIpeFKjPcslmqaM9FlplduE+RsIFsmE+0vTtnKH0zXb5w+I
-APj3iy16Iqk3d/GCIw6q2mXG029YULpbwZJdWdQSNNDbwNCvCXDl2fHWfRJy
-CwFAgHdRWpAgilMyvFkAgKbgWQBoAoA+/rAZwBo7VW5RUFIho+BlCYWPpqrB
-iIiU7rrlcLp22h3OMsWiJv/svNrRf7MvZXsw08OaivJFMmY9IMDzIMEygxHv
-Ygx2xFH/aVoQABDRLNw6F4M8wYsgEdFw7YRA/0f8BQLNWy9YZZMVAAAAAElF
-TkSuQmCC
diff --git a/ru.po b/ru.po
deleted file mode 100755 (executable)
index 6df3ed1..0000000
--- a/ru.po
+++ /dev/null
@@ -1,65 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR ORGANIZATION
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2009-02-17 15:19+Russian Standard Time\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: ENCODING\n"
-"Generated-By: pygettext.py 1.5\n"
-
-
-#: findit.py:83 findit.py:231
-msgid "File properties"
-msgstr "Свойства файла"
-
-#: findit.py:96
-msgid "Name"
-msgstr "Имя"
-
-#: findit.py:99 findit.py:251
-msgid "Size"
-msgstr "Размер"
-
-#: findit.py:102
-msgid "Opened"
-msgstr "Открыт"
-
-#: findit.py:105
-msgid "Modified"
-msgstr "Изменен"
-
-#: findit.py:131
-msgid "Error!"
-msgstr "Ошибка!"
-
-#: findit.py:163
-msgid "Invalid directory"
-msgstr "Каталог не существует"
-
-#: findit.py:178
-msgid "Please select file"
-msgstr "Выберите файл в списке"
-
-#: findit.py:208
-msgid "Files quantity"
-msgstr "Количество файлов"
-
-#: findit.py:221
-msgid "Go"
-msgstr "Пуск"
-
-#: findit.py:225
-msgid "Stop"
-msgstr "Стоп"
-
-#: findit.py:258
-msgid "Path"
-msgstr "Путь"
-