#!/usr/bin/env python
# -*-coding: utf-8 -*-
# vim: sw=4 ts=4 expandtab ai
-# main.py --search files -o=table -p ". 7"
+# main.py --search files -o outtable -p ". 3"
import sys
+from config import Config
+
__progname__ = 'FindIT'
__version__ = '0.2.0'
class Control(object):
def __init__(self):
+ config = Config ###()
+
+ self.abstrac = Abstraction()
+
if(len(sys.argv) > 1):
- Cli_Presentation()
+ Cli_Presentation() ###
else:
- Gtk_Presentation()
+ Gtk_Presentation(config, self.abstrac) ###
#==============================================================================
parser.add_option('--output', '-o', dest='output', type='string')
parser.add_option('--params', '-p', dest='params', type='string')
(options, args) = parser.parse_args()
- print options
- print args
+# print options
+# print args
+
+ config = {}
+ config['search'] = options.search
+ config['outtype'] = options.output
+ config['ignore_dirs'] = ['/dev', '/proc', '/sys', '/mnt']
+ config['start_path'] = options.params.split(' ')[0]
+ config['count'] = options.params.split(' ')[1]
- self.show_search_toplevel(options.search, options.output, options.params)
+ self.show_search_toplevel(config)
- def show_search_toplevel(self, search, output, params):
- search_present = __import__(search + '.search', globals(), locals(), 'Cli_Presentation')
+ def show_search_toplevel(self, config):
+ search_module = __import__(config['search'] + '.search')
+ search_toplevel = search_module.search.Control('cli', config).run()
#==============================================================================
class Gtk_Presentation(object):
"""Main window class."""
- def __init__(self):
+ def __init__(self, config, abstrac):
import gtk
+ self.config = config
+
def _create_menu():
- """ Create main menu """
+ """Create main menu."""
menubar = gtk.MenuBar()
fileitem = gtk.MenuItem( '_File' )
viewitem = gtk.MenuItem( '_View' )
menubar.add(helpitem)
return menubar
+ def _create_toolbar():
+ """Create toolbar."""
+ toolbar = gtk.Toolbar()
+ filesearch_tbtn = gtk.RadioToolButton(None)
+ debsearch_tbtn = gtk.RadioToolButton(filesearch_tbtn)
+
+ filesearch_tbtn.set_label('Files search')
+ debsearch_tbtn.set_label('Debs search')
+
+ filesearch_tbtn.connect('clicked', self.show_search_toplevel, 'files')
+ debsearch_tbtn.connect('clicked', self.show_search_toplevel, 'debs')
+
+ toolbar.insert(filesearch_tbtn, -1)
+ toolbar.insert(debsearch_tbtn, -1)
+
+ return toolbar
+
window = gtk.Window()
window.set_default_size(560, 400)
window.set_border_width(4)
window.connect('destroy', gtk.main_quit)
menu = _create_menu()
-
- about_btn = gtk.Button('About')
- about_btn.set_size_request(-1, 30)
- about_btn.connect('clicked', self.about_dialog)
-
- quit_btn = gtk.Button('Exit')
- quit_btn.connect('clicked', gtk.main_quit)
-
- file_btn = gtk.Button('Files search')
- file_btn.connect('clicked', self.show_search_toplevel, 'files')
-
- deb_btn = gtk.Button('Debs search')
- deb_btn.connect('clicked', self.show_search_toplevel, 'debs')
-
- toolbar = gtk.HBox(True, 4)
- toolbar.pack_start(file_btn)
- toolbar.pack_start(deb_btn)
- toolbar.pack_start(about_btn)
- toolbar.pack_start(quit_btn)
+ toolbar = _create_toolbar()
self.vbox = gtk.VBox(False, 4)
self.vbox.pack_start(menu, False, False, 0)
self.vbox.pack_start(toolbar, False, False, 0)
- self.show_search_toplevel(None, 'files') ###
+ self.show_search_toplevel(None, self.config['search'])
window.add(self.vbox)
window.show_all()
#=== Search selecting =====================================================
def show_search_toplevel(self, btn, searchtype):
print 'Entering <' + searchtype + '> search mode...'
-# search_present = __import__(searchtype + '.search')
-# toplevel = search_present.search.Gtk_Presentation().get_toplevel()
- search_control = __import__(searchtype + '.search')
- toplevel = search_control.search.Control().run()
+ search_module = __import__(searchtype + '.search')
+ search_toplevel = search_module.search.Control('gtk', self.config).run()
try:
self.vbox.remove(self.vbox.get_children()[2])
except:
pass
- self.vbox.pack_start(toplevel, True, True, 0)
+ self.vbox.pack_start(search_toplevel, True, True, 0)
+ search_toplevel.show_all()
#==============================================================================