# HG changeset patch # User Radek Brich # Date 1329758113 -3600 # Node ID c0cdef06fd1619647af89ed9d863b24b387845eb # Parent feee783d4fc520aa0dd5b8372bb5e60ad1187e09 Import only one driver from application. diff -r feee783d4fc5 -r c0cdef06fd16 .hgignore --- a/.hgignore Wed Oct 12 10:11:27 2011 +0200 +++ b/.hgignore Mon Feb 20 18:15:13 2012 +0100 @@ -6,3 +6,4 @@ \.project \.pydevproject \.settings +.*\.appstats diff -r feee783d4fc5 -r c0cdef06fd16 demo_window.py --- a/demo_window.py Wed Oct 12 10:11:27 2011 +0200 +++ b/demo_window.py Mon Feb 20 18:15:13 2012 +0100 @@ -48,7 +48,7 @@ app = MyApplication() #app.start() - cProfile.run('app.start()', 'appstats') - p = pstats.Stats('appstats') + cProfile.run('app.start()', 'demo_window.appstats') + p = pstats.Stats('demo_window.appstats') p.sort_stats('time', 'cumulative').print_stats(20) diff -r feee783d4fc5 -r c0cdef06fd16 tuikit/application.py --- a/tuikit/application.py Wed Oct 12 10:11:27 2011 +0200 +++ b/tuikit/application.py Mon Feb 20 18:15:13 2012 +0100 @@ -5,9 +5,6 @@ import math from tuikit.container import Container -from tuikit.driver_curses import DriverCurses -from tuikit.driver_pygame import DriverPygame -from tuikit.driver_dummy import DriverDummy class TopWindow(Container): @@ -85,11 +82,9 @@ self.quit = False - #FIXME: import only selected driver, not all - driver_dict = {'dummy': DriverDummy, 'curses': DriverCurses, 'pygame': DriverPygame} - self.driver = driver_dict[driver]() - '''Driver class (render + input), e.g. DriverCurses.''' - + self.driver = self.get_driver_instance(driver) + '''Driver class instance (render + input), e.g. DriverCurses.''' + self.log = logging.getLogger('tuikit') self.log.setLevel(logging.DEBUG) handler = logging.FileHandler('./tuikit.log') @@ -148,3 +143,8 @@ driver.setcolor('menu', 'black on cyan') driver.setcolor('menu-active', 'white on cyan, bold') + + def get_driver_instance(self, name): + module = __import__('tuikit.driver_' + name, fromlist=['driverclass']) + return module.driverclass() + diff -r feee783d4fc5 -r c0cdef06fd16 tuikit/driver_curses.py --- a/tuikit/driver_curses.py Wed Oct 12 10:11:27 2011 +0200 +++ b/tuikit/driver_curses.py Mon Feb 20 18:15:13 2012 +0100 @@ -409,3 +409,7 @@ raise Exception('Unknown mouse event: %x' % t) return out + + +driverclass = DriverCurses + diff -r feee783d4fc5 -r c0cdef06fd16 tuikit/driver_dummy.py --- a/tuikit/driver_dummy.py Wed Oct 12 10:11:27 2011 +0200 +++ b/tuikit/driver_dummy.py Mon Feb 20 18:15:13 2012 +0100 @@ -83,3 +83,6 @@ '''Hide cursor.''' self.log.info('DummyDriver.hidecursor()') + +driverclass = DriverDummy + diff -r feee783d4fc5 -r c0cdef06fd16 tuikit/driver_pygame.py --- a/tuikit/driver_pygame.py Wed Oct 12 10:11:27 2011 +0200 +++ b/tuikit/driver_pygame.py Mon Feb 20 18:15:13 2012 +0100 @@ -339,3 +339,6 @@ def hidecursor(self): '''Hide cursor.''' + +driverclass = DriverPygame +