[Pymoul-svn] SF.net SVN: pymoul: [87] pymoul/trunk/src/moul
Status: Alpha
Brought to you by:
tiran
|
From: <ti...@us...> - 2007-01-26 19:03:25
|
Revision: 87
http://pymoul.svn.sourceforge.net/pymoul/?rev=87&view=rev
Author: tiran
Date: 2007-01-26 11:03:20 -0800 (Fri, 26 Jan 2007)
Log Message:
-----------
Status message
More log cleanups
More logging
Modified Paths:
--------------
pymoul/trunk/src/moul/log.py
pymoul/trunk/src/moul/osdependent/singleapp.py
pymoul/trunk/src/moul/qt/mainwindow.py
pymoul/trunk/src/moul/qt/moulqt.py
pymoul/trunk/src/moul/qt/ui/mainwindow.py
pymoul/trunk/src/moul/qt/ui/mainwindow.ui
Modified: pymoul/trunk/src/moul/log.py
===================================================================
--- pymoul/trunk/src/moul/log.py 2007-01-26 18:30:56 UTC (rev 86)
+++ pymoul/trunk/src/moul/log.py 2007-01-26 19:03:20 UTC (rev 87)
@@ -72,8 +72,9 @@
"""
global mhdlr
global fhdlr
- mhdlr.setTarget(fhdlr)
- mhdlr.flush()
+ if mhdlr:
+ mhdlr.setTarget(fhdlr)
+ mhdlr.flush()
root.removeHandler(mhdlr)
del mhdlr
@@ -114,11 +115,15 @@
else:
_installMemoryHdlr()
_systemInfo()
+
+def createLogfile():
+ """Create log file and redirect stdout/stderr to logfile
+ """
_installFileHdlr()
_removeMemoryHdlr()
# Redirect stdout and stderr to logger when running as frozen app
- #sys.stdout = LoggingStdout(getLogger('stdout').info)
- #sys.stderr = LoggingStdout(getLogger('stderr').error)
+ sys.stdout = LoggingStdout(getLogger('stdout').info)
+ sys.stderr = LoggingStdout(getLogger('stderr').error)
__LOG_SIGNALS__ = not __FROZEN__
def signalLogDecorator(__logger__):
Modified: pymoul/trunk/src/moul/osdependent/singleapp.py
===================================================================
--- pymoul/trunk/src/moul/osdependent/singleapp.py 2007-01-26 18:30:56 UTC (rev 86)
+++ pymoul/trunk/src/moul/osdependent/singleapp.py 2007-01-26 19:03:20 UTC (rev 87)
@@ -87,11 +87,14 @@
__version__ = "$Id$"
__revision__ = "$Revision$"
+import atexit
import os
import getpass
+from logging import getLogger
import tempfile
-import atexit
+LOG = getLogger('singleapp')
+
TEMPDIR = tempfile.gettempdir()
USER = getpass.getuser()
PID = os.getpid()
@@ -170,7 +173,9 @@
self._fd.close()
self._fd = None
raise SingleAppError("Another instance is already running")
- return self.lckfile, self.pid
+ else:
+ LOG.info("Create lock file %s for PID %i" % (self.lckfile, self.pid))
+ return self.lckfile, self.pid
def release(self):
"""Release lock
@@ -184,6 +189,7 @@
if self._fd:
self._fd.close()
if os.path.isfile(self.lckfile):
+ LOG.info("Remove lock file %s" % self.lckfile)
os.unlink(self.lckfile)
def checkLocked(self):
Modified: pymoul/trunk/src/moul/qt/mainwindow.py
===================================================================
--- pymoul/trunk/src/moul/qt/mainwindow.py 2007-01-26 18:30:56 UTC (rev 86)
+++ pymoul/trunk/src/moul/qt/mainwindow.py 2007-01-26 19:03:20 UTC (rev 87)
@@ -83,15 +83,32 @@
self._documents_init()
# run checker
+ self._moulrunning = None
self._moulrunning_thread = MoulRunningThread()
self.connect(self._moulrunning_thread, SIGNAL('moulIsRunning(bool)'),
self.on_moulIsRunning)
self._moulrunning_thread.startChecker(5.0) # check now and every 5 seconds
@signalLogDecorator(LOG)
- def on_moulIsRunning(self, bool):
- pass
-
+ def on_moulIsRunning(self, boolean):
+ sb = self.statusbar
+ boolean = bool(boolean)
+ if boolean is not self._moulrunning:
+ self._moulrunning = boolean
+ self.systemtray.setToolTip
+ if boolean:
+ msg = self.trUtf8("MOUL is running")
+ sb.showMessage(msg)
+ self.systemtray.setToolTip(msg)
+ self.systemtray.showMessage(self.trUtf8('MOUL'), msg,
+ QtGui.QSystemTrayIcon.Information, 10000)
+ else:
+ msg = self.trUtf8("MOUL is not running")
+ sb.showMessage(msg)
+ self.systemtray.setToolTip(msg)
+ self.systemtray.showMessage(self.trUtf8('MOUL'), msg,
+ QtGui.QSystemTrayIcon.Information, 10000)
+
def _notimplemented(self):
"""TODO: remove me
"""
Modified: pymoul/trunk/src/moul/qt/moulqt.py
===================================================================
--- pymoul/trunk/src/moul/qt/moulqt.py 2007-01-26 18:30:56 UTC (rev 86)
+++ pymoul/trunk/src/moul/qt/moulqt.py 2007-01-26 19:03:20 UTC (rev 87)
@@ -31,8 +31,24 @@
from moul.osdependent.singleapp import SimpleSingleApp
from moul.config import getPyMoulDataDir
from moul.osdependent import isMoulRunning
+from moul.log import createLogfile
+from moul.log import getLogger
+LOG = getLogger('moul.qt')
+
def main(*args):
+ """Main application
+
+ Flow diagram:
+ * create app
+ * check if other instance of pymoulqt is running
+ o exit app if another instance is running
+ * create log file handler
+ * check if URU is running
+ o exit if URU is running
+ * Show the main window
+ """
+ LOG.info("Starting PyMoul QT UI with argv %s" % repr(args))
app = QtGui.QApplication(*args)
singleapp = SimpleSingleApp('pymoulqt', path=getPyMoulDataDir())
try:
@@ -43,16 +59,22 @@
"""An instance of pyMoul QT is already running!""")
mb.exec_()
sys.exit(1)
- if isMoulRunning():
- mb = criticalMessageBox(app,
- "URU is running",
- """URU is running! Please close Uru or Uru Launcher first.""")
- mb.exec_()
- sys.exit(2)
+
+ createLogfile()
+
+# if isMoulRunning():
+# mb = criticalMessageBox(app,
+# "URU is running",
+# """URU is running! Please close Uru or Uru Launcher first.""")
+# mb.exec_()
+# sys.exit(2)
+ LOG.info("Invoking PyMoul QT MainWindow")
mainWindow = MainWindow()
mainWindow.show()
- return app.exec_()
+ err = app.exec_()
+ LOG.info("Exiting PyMoul QT UI with status %i" % err)
+ return err
if __name__ == '__main__':
err = main(sys.argv)
Modified: pymoul/trunk/src/moul/qt/ui/mainwindow.py
===================================================================
--- pymoul/trunk/src/moul/qt/ui/mainwindow.py 2007-01-26 18:30:56 UTC (rev 86)
+++ pymoul/trunk/src/moul/qt/ui/mainwindow.py 2007-01-26 19:03:20 UTC (rev 87)
@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'src\moul\qt\ui\mainwindow.ui'
#
-# Created: Fri Jan 26 14:28:09 2007
+# Created: Fri Jan 26 19:48:46 2007
# by: PyQt4 UI code generator 4.1.1
#
# WARNING! All changes made in this file will be lost!
@@ -14,7 +14,7 @@
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.setWindowModality(QtCore.Qt.NonModal)
- MainWindow.resize(QtCore.QSize(QtCore.QRect(0,0,460,530).size()).expandedTo(MainWindow.minimumSizeHint()))
+ MainWindow.resize(QtCore.QSize(QtCore.QRect(0,0,460,534).size()).expandedTo(MainWindow.minimumSizeHint()))
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Policy(0),QtGui.QSizePolicy.Policy(0))
sizePolicy.setHorizontalStretch(0)
Modified: pymoul/trunk/src/moul/qt/ui/mainwindow.ui
===================================================================
--- pymoul/trunk/src/moul/qt/ui/mainwindow.ui 2007-01-26 18:30:56 UTC (rev 86)
+++ pymoul/trunk/src/moul/qt/ui/mainwindow.ui 2007-01-26 19:03:20 UTC (rev 87)
@@ -10,7 +10,7 @@
<x>0</x>
<y>0</y>
<width>460</width>
- <height>530</height>
+ <height>534</height>
</rect>
</property>
<property name="sizePolicy" >
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|