implemented draft of config globalization
[findit] / src / main.py
index 69c3104..732dec0 100755 (executable)
@@ -5,7 +5,8 @@
 
 import sys
 
-from config import Config
+from config import config
+from misc import _
 
 __progname__ = 'FindIT'
 __version__ = '0.2.0'
@@ -14,14 +15,13 @@ __version__ = '0.2.0'
 
 class Control(object):
     def __init__(self):
-        config = Config ###()
 
         self.abstrac = Abstraction()
 
         if(len(sys.argv) > 1):
-            Cli_Presentation()  ###
+            Cli_Presentation(self.abstrac)  ###
         else:
-            Gtk_Presentation(config, self.abstrac)  ###
+            Gtk_Presentation(self.abstrac)  ###
 
 #==============================================================================
 
@@ -43,46 +43,48 @@ any later version.'
 
 class Cli_Presentation(object):
 
-    def __init__(self):
+    def __init__(self, abstrac):
         from optparse import OptionParser
+        import sys
+
+        self.abstrac = abstrac
 
-        parser = OptionParser()
+        parser = OptionParser(version=__progname__ + ' ' + __version__)
         parser.add_option('--search', '-s', dest='search', type='string')
         parser.add_option('--output', '-o', dest='output', type='string')
         parser.add_option('--params', '-p', dest='params', type='string')
+        parser.add_option('--about',   action='callback', callback=self._about)
+        parser.add_option('--license', action='callback', callback=self._license)
         (options, args) = parser.parse_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()
+
+    def _about(self, *a):
+        print self.abstrac.comments
+        sys.exit()
 
-        self.show_search_toplevel(config)
+    def _license(self, *a):
+        print self.abstrac.license
+        sys.exit()
 
-    def show_search_toplevel(self, config):
+    def show_search_toplevel(self):
         search_module = __import__(config['search'] + '.search')
-        search_toplevel = search_module.search.Control('cli', config).run()
+        search_toplevel = search_module.search.Control('cli').run()
 
 #==============================================================================
 
 class Gtk_Presentation(object):
     """Main window class."""
 
-    def __init__(self, config, abstrac):
+    def __init__(self, abstrac):
         import gtk
 
-        self.config = config
-
         def _create_menu():
             """Create main menu."""
             menubar = gtk.MenuBar()
-            fileitem = gtk.MenuItem( '_File' )
-            viewitem = gtk.MenuItem( '_View' )
-            helpitem = gtk.MenuItem( '_Help' )
+            fileitem = gtk.MenuItem(_('_File'))
+            viewitem = gtk.MenuItem(_('_View'))
+            helpitem = gtk.MenuItem(_('_Help'))
             helpitem.connect('activate', about_dialog)
             menubar.add(fileitem)
             menubar.add(viewitem)
@@ -98,8 +100,8 @@ class Gtk_Presentation(object):
             filesearch_tbtn.set_name('files')
             debsearch_tbtn.set_name('debs')
 
-            filesearch_tbtn.set_label('Files search')
-            debsearch_tbtn.set_label('Debs search')
+            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')
@@ -111,7 +113,7 @@ class Gtk_Presentation(object):
 
             # Activate radio tool button
             for btn in search_tbtns:
-                if btn.get_name() == self.config['search']:
+                if btn.get_name() == config['search']:
                     btn.set_active(True)
 
             return toolbar
@@ -129,8 +131,8 @@ class Gtk_Presentation(object):
             dialog.destroy()
 
         window = gtk.Window()
-        window.set_default_size(560, 400)
-        window.set_geometry_hints(None, 560, 400)
+        window.set_default_size(600, 400)
+        window.set_geometry_hints(None, 600, 400)
         window.set_border_width(4)
         window.set_wmclass('MainWindow', 'FindIT')
         window.connect('destroy', gtk.main_quit)
@@ -141,22 +143,18 @@ class Gtk_Presentation(object):
         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, self.config['search'])
+        self.show_search_toplevel(None, config['search'])
 
         window.add(self.vbox)
         window.show_all()
         gtk.main()
 
-    def about_dialog(self, btn):
-        from about import About
-        About()
-
     #=== Search selecting =====================================================
     def show_search_toplevel(self, btn, searchtype):
         print 'Entering <' + searchtype + '> search mode...'
 
         search_module = __import__(searchtype + '.search')
-        search_toplevel = search_module.search.Control('gtk', self.config).run()
+        search_toplevel = search_module.search.Control('gtk').run()
 
         try:
             self.vbox.remove(self.vbox.get_children()[2])
@@ -170,11 +168,10 @@ class Gtk_Presentation(object):
 class Hildon_Presentation(object):
     """Main window class."""
 
-    def __init__(self, config):
+    def __init__(self):
         import gtk
         import hildon
 
-        self.config = config
 
 #==============================================================================