Changeset 277
- Timestamp:
- 07/28/09 05:01:31 (3 years ago)
- Location:
- trunk
- Files:
-
- 4 edited
-
console.py (modified) (5 diffs)
-
screenshot.py (modified) (2 diffs)
-
server.py (modified) (4 diffs)
-
uigtk.py (modified) (12 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/console.py
r274 r277 26 26 27 27 # Global output functions 28 def print_m (string):28 def print_message(string): 29 29 """ 30 30 Print wrapper. … … 44 44 """ 45 45 46 print_m ('WARNING: %s' % (" - ".join(str(item) for item in strings)))46 print_message('WARNING: %s' % (" - ".join(str(item) for item in strings))) 47 47 48 48 def print_error(*strings): … … 54 54 """ 55 55 56 print_m ('ERROR: %s' % (" - ".join(str(item) for item in strings)))56 print_message('ERROR: %s' % (" - ".join(str(item) for item in strings))) 57 57 58 58 def print_debug(*strings): … … 64 64 """ 65 65 66 print_m ('DEBUG: %s' % (" - ".join(str(item) for item in strings)))66 print_message('DEBUG: %s' % (" - ".join(str(item) for item in strings))) 67 67 68 68 # Register them for global use 69 __builtin__.print_m = print_m 70 __builtin__.print_e rror= print_error71 __builtin__.print_w arning= print_warning72 __builtin__.print_d ebug= print_debug69 __builtin__.print_m = print_message 70 __builtin__.print_e = print_error 71 __builtin__.print_w = print_warning 72 __builtin__.print_d = print_debug 73 73 74 74 class BaseMessage: … … 86 86 87 87 self.message = message 88 print_m (self.message)88 print_message(self.message) 89 89 90 90 class BaseFailureMessage(BaseMessage): -
trunk/screenshot.py
r274 r277 56 56 self.current_window_failed = False 57 57 58 #: Final absolute path to the screenshot file59 self.shot_file = os.path.join(self.configuration['screenshot']['path'], 'itakashot.%s' % (self.configuration['screenshot']['format']))60 61 58 self.root_screen = gtk.gdk.screen_get_default() 62 59 self.root_window = gtk.gdk.get_default_root_window() … … 104 101 """ 105 102 106 # Get up to date configuration values everytime there is a request 107 103 # Get up to date configuration values and build shot file path everytime there is a request 108 104 self.configuration = self.gui.configuration 109 105 106 #: Final absolute path to the screenshot file 107 self.shot_file = os.path.join(self.configuration['screenshot']['path'], 'itakashot.%s' % (self.configuration['screenshot']['format'])) 108 110 109 if self.configuration['screenshot']['currentwindow'] and not self.itaka_globals.system == 'nt': 111 110 try: -
trunk/server.py
r274 r277 32 32 import error 33 33 except ImportError: 34 print_e rror(_('Failed to import Itaka modules'))34 print_e(_('Failed to import Itaka modules')) 35 35 traceback.print_exc() 36 36 sys.exit(1) … … 39 39 from twisted.python import log 40 40 from twisted.web import server, static, http, resource 41 from twisted.internet import reactor42 41 import twisted.internet.error 43 42 except ImportError: 44 print_e rror(_('Could not import Twisted Network Framework'))43 print_e(_('Could not import Twisted Network Framework')) 45 44 traceback.print_exc() 46 45 sys.exit(1) … … 107 106 self.site = server.Site(resource) 108 107 109 def start_server(self, port):108 def start_server(self, reactor, port): 110 109 """ 111 110 Start the server 111 112 @type reactor: twisted.internet.gtk2reactor.Gtk2Reactor 113 @param reactor: An instance of a reactor already run() 112 114 113 115 @type port: int … … 116 118 117 119 try: 118 self.server = reactor.listenTCP(port, self.site) 120 if hasattr(self, 'server'): 121 self.server.startListening() 122 else: 123 self.server = reactor.listenTCP(port, self.site) 119 124 except twisted.internet.error.CannotListenError, e: 120 125 raise error.ItakaServerCannotListenError, e -
trunk/uigtk.py
r275 r277 23 23 """ Itaka GTK+ GUI """ 24 24 25 import copy 26 import datetime 27 import os 25 28 import sys 26 import os 27 import datetime 29 import signal 28 30 import traceback 29 import copy30 31 31 32 try: … … 34 35 gtk2reactor.install() 35 36 except Exception, e: 36 print_e rror(_('Could not initiate GTK modules: %s' % (e)))37 print_e(_('Could not initiate GTK modules: %s' % (e))) 37 38 sys.exit(1) 38 39 from twisted.internet import reactor 39 40 except ImportError: 40 print_e rror(_('Could not import Twisted Network Framework'))41 print_e(_('Could not import Twisted Network Framework')) 41 42 sys.exit(1) 42 43 … … 45 46 import error 46 47 except ImportError: 47 print_e rror(_('Failed to import Itaka modules'))48 print_e(_('Failed to import Itaka modules')) 48 49 traceback.print_exc() 49 50 sys.exit(1) … … 53 54 pygtk.require("2.0") 54 55 except ImportError: 55 print_w arning(_('Pygtk module is missing'))56 print_w(_('Pygtk module is missing')) 56 57 pass 57 58 try: 58 59 import gtk, gobject, pango 59 60 except ImportError: 60 print_e rror(_('GTK+ bindings are missing'))61 print_e(_('GTK+ bindings are missing')) 61 62 sys.exit(1) 62 63 63 64 if gtk.gtk_version[1] < 10: 64 print_e rror(_('Itaka requires GTK+ 2.10, you have %s installed' % (".".join(str(x) for x in gtk.gtk_version))))65 print_e(_('Itaka requires GTK+ 2.10, you have %s installed' % (".".join(str(x) for x in gtk.gtk_version)))) 65 66 sys.exit(1) 66 67 … … 115 116 @param icon: The first argument is a string of either 'stock' or 'pixbuf', and the second is a string of gtk.STOCK_ICON or a gtk.gdk.pixbuf object (without the 'gtk.' prefix) 116 117 """ 117 118 118 119 self.console.message(message) 119 120 self._write_gui_log(message, None, icon, False) … … 307 308 self.icon_pixbuf = gtk.gdk.pixbuf_new_from_file(os.path.join(self.itaka_globals.image_dir, 'itaka.png')) 308 309 self.window = gtk.Window(gtk.WINDOW_TOPLEVEL) 309 self.window.connect('destroy', self. destroy)310 self.window.connect('destroy', self._destroy) 310 311 self.window.connect('size-allocate', self._window_size_changed) 311 312 self.window.set_title('Itaka') … … 352 353 self.menu_item_separator1 = gtk.SeparatorMenuItem() 353 354 self.menu_item_quit = gtk.ImageMenuItem(gtk.STOCK_QUIT) 354 self.menu_item_quit.connect('activate', self. destroy)355 self.menu_item_quit.connect('activate', self._destroy) 355 356 356 357 self.status_menu.append(self.menu_item_start) … … 679 680 self.format_value = 'jpeg' 680 681 self.configuration['screenshot']['format'] = 'jpeg' 682 683 # Delete stale old screenshot 684 if (self.current_configuration['screenshot']['format'] != self.configuration['screenshot']['format']): 685 if os.path.exists(os.path.join(self.current_configuration['screenshot']['path'], 'itakashot.%s' % (self.current_configuration['screenshot']['format']))): 686 os.remove(os.path.join(self.current_configuration['screenshot']['path'], 'itakashot.%s' % (self.current_configuration['screenshot']['format']))) 687 if self.itaka_globals.console_verbosity['debug']: print_m(_("Deleting stale screenshot file '%s'" % ((os.path.join(self.current_configuration['screenshot']['path'], 'itakashot.%s' % (self.current_configuration['screenshot']['format'])))))) 688 681 689 682 690 if self.itaka_globals.notify_available: … … 1071 1079 """ 1072 1080 1073 # Server reactor (interacts with the Twisted reactor) 1074 self.sreact = reactor.run() 1075 1081 # Run the gtk.main() loop and start a reactor for our server. 1082 # False can be passed for it to not register to it's SIGINT handler. 1083 # Register our own handler to send to _destroy 1084 signal.signal(signal.SIGINT, self._destroy) 1085 reactor.run() 1086 1076 1087 def _preferences_combo_changed(self, widget): 1077 1088 """ … … 1148 1159 1149 1160 try: 1150 self.server.start_server( self.configuration['server']['port'])1161 self.server.start_server(reactor, self.configuration['server']['port']) 1151 1162 except error.ItakaServerCannotListenError, e: 1152 1163 self.log.failure(('Gui', 'start_server'), (_('Failed to start server on port %(port)s: %(errorstring)s' % {'port': e.value.port, 'errorstring': e.value.args[-1][-1]}), _('Failed to start server: %s') % e.value), 'ERROR') … … 1228 1239 self.start_server(None, True) 1229 1240 1230 def destroy(self, *args):1241 def _destroy(self, *args): 1231 1242 """ 1232 1243 Main window destroy event … … 1243 1254 del self.status_icon 1244 1255 1256 self.log.verbose_message(_('Itaka Shutting down'), _('Received SIGINT, shutting down'), ['stock', 'STOCK_DISCONNECT']) 1257 1245 1258 self.console.message(_('Itaka shutting down')) 1246 gtk.main_quit() 1259 1260 reactor.stop() 1247 1261 1248 1262 def _literal_time_difference(self, dtime):
Note: See TracChangeset
for help on using the changeset viewer.

