Merge branch 'module.laditools'

This commit is contained in:
Alessio Treglia 2011-12-08 17:05:11 +01:00
commit ed0b757b53
3 changed files with 39 additions and 40 deletions

View File

@ -25,6 +25,10 @@ import pty
from signal import SIGTERM
import termios
import tty
import gettext
import laditools
gettext.install(laditools.__name__)
try:
import imp
@ -40,11 +44,9 @@ try:
import pygtk
pygtk.require ('2.0')
import gtk
import gtk.glade
import vte
import laditools
except Exception, e:
error = gtk.MessageDialog (None, gtk.DIALOG_MODAL, gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, "You need to get you dependencies right before you run this program. Ask your package maintainer why this is happening to you\n%s" % repr(e))
error = gtk.MessageDialog (None, gtk.DIALOG_MODAL, gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, _("You need to get you dependencies right before you run this program. Ask your package maintainer why this is happening to you\n%s") % repr(e))
error.run ()
exit (1)
@ -74,7 +76,7 @@ def read_last(lfile, lines):
lfile.seek(endpos, 0)
return backlog
class ladilog (gtk.glade.XML):
class ladilog(object):
def __init__ (self):
self.log_files = [
{
@ -113,27 +115,28 @@ class ladilog (gtk.glade.XML):
# skip logfiles that dont exist
if not os.access(log['logfile_path'], os.R_OK):
self.log_files.remove(log)
print "Skipping '%s' because it does not exist" % log['logfile_path']
print _("Skipping '%s' because it does not exist") % log['logfile_path']
else:
print "Watching '%s'" % log['logfile_path']
print _("Watching '%s'") % log['logfile_path']
max_lines_text = self.param_dict['max_lines']
self.max_lines = int (max_lines_text)
# Load the glade file
gtk.glade.XML.__init__(self, laditools.find_data_file("ladilog_ui.glade"))
builder = gtk.Builder()
builder.add_from_file(laditools.find_data_file("ladilog_ui.ui"))
# Get the ui ready for action
self.event_dict = {"on_ladilog_ui_destroy" : self.on_quit,
"on_close_button_clicked" : self.on_quit,
"on_clear_button_clicked" : self.on_clear_text,
"on_purge_button_clicked" : self.on_purge}
self.signal_autoconnect (self.event_dict)
builder.connect_signals(self.event_dict)
# Create our terminal and display it
for log in self.log_files:
log['term'] = vte.Terminal ()
log["tab_label"] = gtk.Label (log["name"])
self.logview_notebook = self.get_widget ("ladilog_notebook")
self.logview_notebook = builder.get_object ("ladilog_notebook")
for log in self.log_files:
log['term'].show ()
@ -148,9 +151,9 @@ class ladilog (gtk.glade.XML):
log["term"].feed(line)
except ValueError:
print "You called Popen with invalid arguments... dumbass"
print _("You called Popen with invalid arguments... dumbass")
except:
print "Unexpected error:", sys.exc_info ()[0]
print _("Unexpected error:"), sys.exc_info ()[0]
for log in self.log_files:
self.logview_notebook.append_page (log["term"])
@ -191,6 +194,6 @@ class ladilog (gtk.glade.XML):
try:
ladilog().run()
except Exception, e:
error = gtk.MessageDialog(None, gtk.DIALOG_MODAL, gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, "Unexpected error\n\n" + repr(e))
error = gtk.MessageDialog(None, gtk.DIALOG_MODAL, gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, _("Unexpected error\n\n") + repr(e))
error.run()
exit(1)

View File

@ -1,23 +1,22 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
<?xml version="1.0"?>
<!--Generated with glade3 3.4.0 on Tue Aug 5 23:08:01 2008 -->
<glade-interface>
<widget class="GtkWindow" id="ladilog_ui">
<interface>
<object class="GtkWindow" id="ladilog_ui">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="title" translatable="yes">LADI - Log viewer</property>
<property name="icon">laditools_logo.svg</property>
<signal name="destroy" handler="on_ladilog_ui_destroy"/>
<signal handler="on_ladilog_ui_destroy" name="destroy"/>
<child>
<widget class="GtkVBox" id="ladilog_vbox">
<object class="GtkVBox" id="ladilog_vbox">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<child>
<widget class="GtkImage" id="laditools_logo">
<object class="GtkImage" id="laditools_logo">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="pixbuf">laditools_logo.svg</property>
</widget>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
@ -25,72 +24,69 @@
</packing>
</child>
<child>
<widget class="GtkNotebook" id="ladilog_notebook">
<object class="GtkNotebook" id="ladilog_notebook">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
</widget>
</object>
<packing>
<property name="position">1</property>
</packing>
</child>
<child>
<widget class="GtkHBox" id="button_hbox">
<object class="GtkHBox" id="button_hbox">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="border_width">10</property>
<child>
<widget class="GtkButton" id="clear_button">
<object class="GtkButton" id="clear_button">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label" translatable="yes">Clear</property>
<property name="response_id">0</property>
<signal name="clicked" handler="on_clear_button_clicked"/>
</widget>
<signal handler="on_clear_button_clicked" name="clicked"/>
</object>
<packing>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkButton" id="purge_button">
<object class="GtkButton" id="purge_button">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label" translatable="yes">Purge logs</property>
<property name="response_id">0</property>
<signal name="clicked" handler="on_purge_button_clicked"/>
</widget>
<signal handler="on_purge_button_clicked" name="clicked"/>
</object>
<packing>
<property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
<child>
<widget class="GtkButton" id="close_button">
<object class="GtkButton" id="close_button">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label" translatable="yes">Close</property>
<property name="response_id">0</property>
<signal name="clicked" handler="on_close_button_clicked"/>
</widget>
<signal handler="on_close_button_clicked" name="clicked"/>
</object>
<packing>
<property name="fill">False</property>
<property name="position">2</property>
</packing>
</child>
</widget>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">2</property>
</packing>
</child>
</widget>
</object>
</child>
</widget>
</glade-interface>
</object>
</interface>

View File

@ -59,7 +59,7 @@ setup(name='laditools',
('share/applications', ['data/laditray.desktop']),
('share/applications', ['data/ladiconf.desktop']),
('share/laditools/data', ['data/laditools_logo.svg',
'data/ladilog_ui.glade',
'data/ladilog_ui.ui',
'data/started.svg',
'data/starting.svg',
'data/stopped.svg'])],