Merge branch 'module.laditools'
This commit is contained in:
commit
ed0b757b53
27
bin/ladilog
27
bin/ladilog
|
@ -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)
|
||||
|
|
|
@ -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>
|
2
setup.py
2
setup.py
|
@ -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'])],
|
||||
|
|
Loading…
Reference in New Issue