From: Dirk M. <di...@fr...> - 2009-02-25 20:37:27
|
Author: dmeyer Date: Wed Feb 25 15:37:17 2009 New Revision: 11326 Log: refactoring part 1: core module Added: branches/candy/ui/src/core/ branches/candy/ui/src/core/__init__.py (contents, props changed) - copied, changed from r11325, /branches/candy/ui/src/__init__.py branches/candy/ui/src/core/api.py (contents, props changed) - copied, changed from r11323, /branches/candy/ui/src/api.py branches/candy/ui/src/core/application/ (props changed) - copied from r11322, /branches/candy/ui/src/application/ branches/candy/ui/src/core/application/__init__.py - copied, changed from r11324, /branches/candy/ui/src/application/__init__.py branches/candy/ui/src/core/application/handler.py - copied, changed from r11323, /branches/candy/ui/src/application/handler.py branches/candy/ui/src/core/application/window.py - copied unchanged from r11323, /branches/candy/ui/src/application/window.py branches/candy/ui/src/core/config.cxml (props changed) - copied unchanged from r11322, /branches/candy/ui/src/config.cxml branches/candy/ui/src/core/directory.py (props changed) - copied unchanged from r11323, /branches/candy/ui/src/directory.py branches/candy/ui/src/core/event.py (props changed) - copied unchanged from r11322, /branches/candy/ui/src/event.py branches/candy/ui/src/core/fxditem.py (props changed) - copied unchanged from r11323, /branches/candy/ui/src/fxditem.py branches/candy/ui/src/core/mainmenu.py (props changed) - copied unchanged from r11324, /branches/candy/ui/src/mainmenu.py branches/candy/ui/src/core/mediamenu.py (props changed) - copied unchanged from r11323, /branches/candy/ui/src/mediamenu.py branches/candy/ui/src/core/menu/ (props changed) - copied from r11322, /branches/candy/ui/src/menu/ branches/candy/ui/src/core/menu/gridmenu.py - copied unchanged from r11323, /branches/candy/ui/src/menu/gridmenu.py branches/candy/ui/src/core/menu/mediaitem.py - copied unchanged from r11323, /branches/candy/ui/src/menu/mediaitem.py branches/candy/ui/src/core/menu/menu.py - copied unchanged from r11323, /branches/candy/ui/src/menu/menu.py branches/candy/ui/src/core/menu/stack.py - copied unchanged from r11323, /branches/candy/ui/src/menu/stack.py branches/candy/ui/src/core/playlist.py (props changed) - copied unchanged from r11323, /branches/candy/ui/src/playlist.py branches/candy/ui/src/core/util.py (props changed) - copied unchanged from r11322, /branches/candy/ui/src/util.py Removed: branches/candy/ui/src/api.py branches/candy/ui/src/application/ branches/candy/ui/src/config.cxml branches/candy/ui/src/core/application/menuw.py branches/candy/ui/src/directory.py branches/candy/ui/src/event.py branches/candy/ui/src/fxditem.py branches/candy/ui/src/mainmenu.py branches/candy/ui/src/mediamenu.py branches/candy/ui/src/menu/ branches/candy/ui/src/playlist.py branches/candy/ui/src/util.py Modified: branches/candy/ui/bin/freevo branches/candy/ui/src/__init__.py branches/candy/ui/src/audio/audiodiskitem.py branches/candy/ui/src/audio/audioitem.py branches/candy/ui/src/audio/interface.py branches/candy/ui/src/audio/player.py branches/candy/ui/src/audio/plugins/album.py branches/candy/ui/src/audio/plugins/artist.py branches/candy/ui/src/image/fxdhandler.py branches/candy/ui/src/image/imageitem.py branches/candy/ui/src/image/interface.py branches/candy/ui/src/image/plugins/apod.py branches/candy/ui/src/image/plugins/calendar.py branches/candy/ui/src/image/viewer.py branches/candy/ui/src/input/eventmap.py branches/candy/ui/src/input/plugins/interface.py branches/candy/ui/src/input/plugins/joystick.py branches/candy/ui/src/input/plugins/keyboard.py branches/candy/ui/src/input/plugins/lirc.py branches/candy/ui/src/plugins/dpms.py branches/candy/ui/src/plugins/file_ops.py branches/candy/ui/src/plugins/idlebar/plugin.py branches/candy/ui/src/plugins/lcd.py branches/candy/ui/src/plugins/osd.py branches/candy/ui/src/plugins/shoppingcart.py branches/candy/ui/src/plugins/shutdown.py branches/candy/ui/src/plugins/unpack.py branches/candy/ui/src/video/configure.py branches/candy/ui/src/video/fxdhandler.py branches/candy/ui/src/video/interface.py branches/candy/ui/src/video/player.py branches/candy/ui/src/video/playlist.py branches/candy/ui/src/video/plugins/resume.py branches/candy/ui/src/video/videoitem.py Modified: branches/candy/ui/bin/freevo ============================================================================== --- branches/candy/ui/bin/freevo (original) +++ branches/candy/ui/bin/freevo Wed Feb 25 15:37:17 2009 @@ -205,10 +205,6 @@ from freevo import beacon import freevo.view -# load the fxditem to make sure it's the first in the -# mimetypes list -import freevo.ui.fxditem - # # Freevo main function # @@ -238,8 +234,7 @@ freevo.view.load_theme() # start menu - from freevo.ui.mainmenu import MainMenu - MainMenu() + freevo.ui.MainMenu() # start main loop kaa.main.run() Modified: branches/candy/ui/src/__init__.py ============================================================================== --- branches/candy/ui/src/__init__.py (original) +++ branches/candy/ui/src/__init__.py Wed Feb 25 15:37:17 2009 @@ -6,7 +6,7 @@ # # ----------------------------------------------------------------------------- # Freevo - A Home Theater PC framework -# Copyright (C) 2007 Dirk Meyer, et al. +# Copyright (C) 2007-2009 Dirk Meyer, et al. # # First Edition: Dirk Meyer <di...@fr...> # Maintainer: Dirk Meyer <di...@fr...> @@ -29,16 +29,4 @@ # # ----------------------------------------------------------------------------- -import api as __api__ -import event as __event__ -for obj in dir(__event__): - if obj.upper() == obj or obj == 'Event': - __api__.__all__.append(obj) - setattr(__api__, obj, getattr(__event__, obj)) -for module in ('menu', 'application', 'fxditem', 'playlist', 'directory', 'mainmenu', 'mediamenu'): - exec('import %s as module' % module) - for obj in module.__all__: - __api__.__all__.append(obj) - setattr(__api__, obj, getattr(module, obj)) -from api import * -__all__ = __api__.__all__ +from core import * Modified: branches/candy/ui/src/audio/audiodiskitem.py ============================================================================== --- branches/candy/ui/src/audio/audiodiskitem.py (original) +++ branches/candy/ui/src/audio/audiodiskitem.py Wed Feb 25 15:37:17 2009 @@ -41,7 +41,7 @@ import kaa # Freevo imports -from .. import api as freevo +from .. import core as freevo from audioitem import AudioItem # get logging object Modified: branches/candy/ui/src/audio/audioitem.py ============================================================================== --- branches/candy/ui/src/audio/audioitem.py (original) +++ branches/candy/ui/src/audio/audioitem.py Wed Feb 25 15:37:17 2009 @@ -40,7 +40,7 @@ import time # freevo imports -from .. import api as freevo +from .. import core as freevo # audio player import player as audioplayer Modified: branches/candy/ui/src/audio/interface.py ============================================================================== --- branches/candy/ui/src/audio/interface.py (original) +++ branches/candy/ui/src/audio/interface.py Wed Feb 25 15:37:17 2009 @@ -45,7 +45,7 @@ import stat # Freevo imports -from .. import api as freevo +from .. import core as freevo # AudioItem from audioitem import AudioItem Modified: branches/candy/ui/src/audio/player.py ============================================================================== --- branches/candy/ui/src/audio/player.py (original) +++ branches/candy/ui/src/audio/player.py Wed Feb 25 15:37:17 2009 @@ -40,7 +40,7 @@ import kaa.popcorn # Freevo imports -from .. import api as freevo +from .. import core as freevo # get logging object log = logging.getLogger('audio') Modified: branches/candy/ui/src/audio/plugins/album.py ============================================================================== --- branches/candy/ui/src/audio/plugins/album.py (original) +++ branches/candy/ui/src/audio/plugins/album.py Wed Feb 25 15:37:17 2009 @@ -40,7 +40,7 @@ import kaa.beacon # Freevo imports -from ... import api as freevo +from ... import core as freevo class AlbumItem(freevo.MediaItem): """ Modified: branches/candy/ui/src/audio/plugins/artist.py ============================================================================== --- branches/candy/ui/src/audio/plugins/artist.py (original) +++ branches/candy/ui/src/audio/plugins/artist.py Wed Feb 25 15:37:17 2009 @@ -40,7 +40,7 @@ import kaa.beacon # Freevo imports -from ... import api as freevo +from ... import core as freevo class AlbumItem(freevo.Item): Copied: branches/candy/ui/src/core/__init__.py (from r11325, /branches/candy/ui/src/__init__.py) ============================================================================== --- /branches/candy/ui/src/__init__.py (original) +++ branches/candy/ui/src/core/__init__.py Wed Feb 25 15:37:17 2009 @@ -6,7 +6,7 @@ # # ----------------------------------------------------------------------------- # Freevo - A Home Theater PC framework -# Copyright (C) 2007 Dirk Meyer, et al. +# Copyright (C) 2009 Dirk Meyer, et al. # # First Edition: Dirk Meyer <di...@fr...> # Maintainer: Dirk Meyer <di...@fr...> @@ -38,7 +38,11 @@ for module in ('menu', 'application', 'fxditem', 'playlist', 'directory', 'mainmenu', 'mediamenu'): exec('import %s as module' % module) for obj in module.__all__: - __api__.__all__.append(obj) - setattr(__api__, obj, getattr(module, obj)) + if obj == 'signals': + for name, signal in module.signals.items(): + __api__.signals[name] = signal + else: + __api__.__all__.append(obj) + setattr(__api__, obj, getattr(module, obj)) from api import * __all__ = __api__.__all__ Copied: branches/candy/ui/src/core/api.py (from r11323, /branches/candy/ui/src/api.py) ============================================================================== --- /branches/candy/ui/src/api.py (original) +++ branches/candy/ui/src/core/api.py Wed Feb 25 15:37:17 2009 @@ -29,11 +29,14 @@ # # ----------------------------------------------------------------------------- -__all__ = [ 'config', 'plugins', 'util' ] +__all__ = [ 'config', 'plugins', 'signals', 'util' ] # python imports import os +# kaa imports +import kaa + # freevo core imports import freevo.conf import freevo.xmlconfig @@ -53,6 +56,9 @@ # load config structure. This will add 'config', 'plugins' and 'events' execfile(pycfgfile) +# create empty signals dict +signals = {} + # add events defined in xml config to event.py. for e in events: setattr(event, e, event.Event(e)) Copied: branches/candy/ui/src/core/application/__init__.py (from r11324, /branches/candy/ui/src/application/__init__.py) ============================================================================== --- /branches/candy/ui/src/application/__init__.py (original) +++ branches/candy/ui/src/core/application/__init__.py Wed Feb 25 15:37:17 2009 @@ -33,7 +33,7 @@ # # ----------------------------------------------------------------------------- -__all__ = [ 'Application', 'get_active', 'get_eventmap', 'signals', +__all__ = [ 'Application', 'get_application', 'get_eventmap', 'signals', 'STATUS_RUNNING', 'STATUS_STOPPING', 'STATUS_STOPPED', 'STATUS_IDLE', 'CAPABILITY_TOGGLE', 'CAPABILITY_PAUSE', 'CAPABILITY_FULLSCREEN', 'TextWindow', 'MessageWindow', 'ConfirmWindow' ] @@ -47,7 +47,7 @@ from handler import handler as _handler from window import TextWindow, MessageWindow, ConfirmWindow -def get_active(): +def get_application(): """ Get active application. """ Copied: branches/candy/ui/src/core/application/handler.py (from r11323, /branches/candy/ui/src/application/handler.py) ============================================================================== --- /branches/candy/ui/src/application/handler.py (original) +++ branches/candy/ui/src/core/application/handler.py Wed Feb 25 15:37:17 2009 @@ -77,7 +77,7 @@ kaa.EventHandler(self.handle).register() # Signals - self.signals = { 'changed': kaa.Signal() } + self.signals = { 'application-change': kaa.Signal() } def set_focus(self): @@ -96,7 +96,7 @@ # same app as before return log.info('switch application from %s to %s' % (self.current, app)) - self.signals['changed'].emit(app) + self.signals['application-change'].emit(app) app.signals['show'].emit() app.gui_context.show() if self.current: Modified: branches/candy/ui/src/image/fxdhandler.py ============================================================================== --- branches/candy/ui/src/image/fxdhandler.py (original) +++ branches/candy/ui/src/image/fxdhandler.py Wed Feb 25 15:37:17 2009 @@ -58,7 +58,7 @@ import kaa # Freevo imports -from .. import api as freevo +from .. import core as freevo # ImageItem from imageitem import ImageItem Modified: branches/candy/ui/src/image/imageitem.py ============================================================================== --- branches/candy/ui/src/image/imageitem.py (original) +++ branches/candy/ui/src/image/imageitem.py Wed Feb 25 15:37:17 2009 @@ -38,7 +38,7 @@ import time # freevo imports -from .. import api as freevo +from .. import core as freevo from viewer import viewer class ImageItem(freevo.MediaItem): Modified: branches/candy/ui/src/image/interface.py ============================================================================== --- branches/candy/ui/src/image/interface.py (original) +++ branches/candy/ui/src/image/interface.py Wed Feb 25 15:37:17 2009 @@ -40,7 +40,7 @@ __all__ = [ 'PluginInterface' ] # freevo imports -from .. import api as freevo +from .. import core as freevo # ImageItem from imageitem import ImageItem Modified: branches/candy/ui/src/image/plugins/apod.py ============================================================================== --- branches/candy/ui/src/image/plugins/apod.py (original) +++ branches/candy/ui/src/image/plugins/apod.py Wed Feb 25 15:37:17 2009 @@ -39,7 +39,7 @@ import kaa.beacon # freevo imports -from ... import api as freevo +from ... import core as freevo from .. import ImageItem class ApodMainMenuItem(freevo.Item): Modified: branches/candy/ui/src/image/plugins/calendar.py ============================================================================== --- branches/candy/ui/src/image/plugins/calendar.py (original) +++ branches/candy/ui/src/image/plugins/calendar.py Wed Feb 25 15:37:17 2009 @@ -40,7 +40,7 @@ import kaa.beacon # freevo imports -from ... import api as freevo +from ... import core as freevo class BeaconQueryItem(freevo.Item): Modified: branches/candy/ui/src/image/viewer.py ============================================================================== --- branches/candy/ui/src/image/viewer.py (original) +++ branches/candy/ui/src/image/viewer.py Wed Feb 25 15:37:17 2009 @@ -41,7 +41,7 @@ import kaa.imlib2 # freevo imports -from .. import api as freevo +from .. import core as freevo # get logging object log = logging.getLogger('image') Modified: branches/candy/ui/src/input/eventmap.py ============================================================================== --- branches/candy/ui/src/input/eventmap.py (original) +++ branches/candy/ui/src/input/eventmap.py Wed Feb 25 15:37:17 2009 @@ -1,6 +1,6 @@ __all__ = [ 'EVENTMAP' ] -from .. import api as freevo +from .. import core as freevo # # Default key-event map Modified: branches/candy/ui/src/input/plugins/interface.py ============================================================================== --- branches/candy/ui/src/input/plugins/interface.py (original) +++ branches/candy/ui/src/input/plugins/interface.py Wed Feb 25 15:37:17 2009 @@ -38,7 +38,7 @@ # freevo imports from freevo import plugin -from ... import api as freevo +from ... import core as freevo from .. import EVENTMAP as global_map # get logging object Modified: branches/candy/ui/src/input/plugins/joystick.py ============================================================================== --- branches/candy/ui/src/input/plugins/joystick.py (original) +++ branches/candy/ui/src/input/plugins/joystick.py Wed Feb 25 15:37:17 2009 @@ -43,7 +43,7 @@ # freevo imports from freevo.resources import ResourceHandler -from ... import api as freevo +from ... import core as freevo from interface import InputPlugin import logging Modified: branches/candy/ui/src/input/plugins/keyboard.py ============================================================================== --- branches/candy/ui/src/input/plugins/keyboard.py (original) +++ branches/candy/ui/src/input/plugins/keyboard.py Wed Feb 25 15:37:17 2009 @@ -35,7 +35,7 @@ import logging # freevo imports -from ... import api as freevo +from ... import core as freevo from .. import KEYBOARD_MAP from freevo.view import signals from interface import InputPlugin Modified: branches/candy/ui/src/input/plugins/lirc.py ============================================================================== --- branches/candy/ui/src/input/plugins/lirc.py (original) +++ branches/candy/ui/src/input/plugins/lirc.py Wed Feb 25 15:37:17 2009 @@ -32,7 +32,7 @@ # ----------------------------------------------------------------------------- import kaa.input.lirc -from ... import api as freevo +from ... import core as freevo from interface import InputPlugin class PluginInterface(InputPlugin): Modified: branches/candy/ui/src/plugins/dpms.py ============================================================================== --- branches/candy/ui/src/plugins/dpms.py (original) +++ branches/candy/ui/src/plugins/dpms.py Wed Feb 25 15:37:17 2009 @@ -40,9 +40,7 @@ from freevo.plugin import Plugin # freevo imports -from .. import api as freevo -# FIXME: api import failure -from ..application import signals as app_signals +from .. import core as freevo # blanking modes OFF, AUTO, USER = range(3) @@ -64,7 +62,7 @@ # turn on dpms on shutdown kaa.main.signals['shutdown'].connect(self.xset, '+dpms') # register to application changes - app_signals['changed'].connect(self.application_changed) + freevo.signals['application-change'].connect(self.application_changed) # turn off dpms self.xset('-dpms s off') Modified: branches/candy/ui/src/plugins/file_ops.py ============================================================================== --- branches/candy/ui/src/plugins/file_ops.py (original) +++ branches/candy/ui/src/plugins/file_ops.py Wed Feb 25 15:37:17 2009 @@ -32,7 +32,7 @@ import logging # freevo imports -from .. import api as freevo +from .. import core as freevo # get logging object log = logging.getLogger() Modified: branches/candy/ui/src/plugins/idlebar/plugin.py ============================================================================== --- branches/candy/ui/src/plugins/idlebar/plugin.py (original) +++ branches/candy/ui/src/plugins/idlebar/plugin.py Wed Feb 25 15:37:17 2009 @@ -31,9 +31,9 @@ import logging +# freevo imports from freevo import plugin, view -# FIXME: api import failure -from ... import application +from ... import core as freevo # get logging object log = logging.getLogger() @@ -46,7 +46,7 @@ init the idlebar """ # register for signals - application.signals['changed'].connect(self._app_change) + freevo.signals['application-change'].connect(self._app_change) self.widget = None def _app_change(self, app): @@ -54,7 +54,7 @@ self.widget = view.show_widget('idlebar') for p in IdleBarPlugin.plugins(): self.widget.connect(p) - fullscreen = app.has_capability(application.CAPABILITY_FULLSCREEN) + fullscreen = app.has_capability(freevo.CAPABILITY_FULLSCREEN) self.widget.visible = not fullscreen Modified: branches/candy/ui/src/plugins/lcd.py ============================================================================== --- branches/candy/ui/src/plugins/lcd.py (original) +++ branches/candy/ui/src/plugins/lcd.py Wed Feb 25 15:37:17 2009 @@ -26,19 +26,16 @@ # ----------------------------------------------------------------------- */ import re +import logging import kaa +import kaa.display from freevo import plugin -from .. import api as freevo -# FIXME: api import failure -from .. import application +from .. import core as freevo -import logging log = logging.getLogger() -import kaa.display - varreg = re.compile('%%.*?%%') # This is the config for a display layout. Right now only 16x2 displays @@ -115,8 +112,8 @@ self.columns = c kaa.EventHandler(self.eventhandler).register() - application.signals['changed'].connect(self.set_application) - self.set_application(application.get_active()) + freevo.signals['application-change'].connect(self.set_application) + self.set_application(freevo.get_application()) def set_application(self, app): Modified: branches/candy/ui/src/plugins/osd.py ============================================================================== --- branches/candy/ui/src/plugins/osd.py (original) +++ branches/candy/ui/src/plugins/osd.py Wed Feb 25 15:37:17 2009 @@ -40,7 +40,7 @@ # freevo imports from freevo import plugin, view -from .. import api as freevo +from .. import core as freevo # get logging object log = logging.getLogger() Modified: branches/candy/ui/src/plugins/shoppingcart.py ============================================================================== --- branches/candy/ui/src/plugins/shoppingcart.py (original) +++ branches/candy/ui/src/plugins/shoppingcart.py Wed Feb 25 15:37:17 2009 @@ -38,7 +38,7 @@ import kaa # freevo imports -from .. import api as freevo +from .. import core as freevo class PluginInterface(freevo.ItemPlugin): Modified: branches/candy/ui/src/plugins/shutdown.py ============================================================================== --- branches/candy/ui/src/plugins/shutdown.py (original) +++ branches/candy/ui/src/plugins/shutdown.py Wed Feb 25 15:37:17 2009 @@ -38,7 +38,7 @@ import kaa # freevo imports -from .. import api as freevo +from .. import core as freevo # get shutdown config config = freevo.config.plugin.shutdown Modified: branches/candy/ui/src/plugins/unpack.py ============================================================================== --- branches/candy/ui/src/plugins/unpack.py (original) +++ branches/candy/ui/src/plugins/unpack.py Wed Feb 25 15:37:17 2009 @@ -41,7 +41,7 @@ import kaa # freevo imports -from .. import api as freevo +from .. import core as freevo # possible archives and how to unpack them _cmdlines = { Modified: branches/candy/ui/src/video/configure.py ============================================================================== --- branches/candy/ui/src/video/configure.py (original) +++ branches/candy/ui/src/video/configure.py Wed Feb 25 15:37:17 2009 @@ -42,7 +42,7 @@ import kaa.popcorn # freevo imports -from .. import api as freevo +from .. import core as freevo def play_movie(item, **kwargs): """ Modified: branches/candy/ui/src/video/fxdhandler.py ============================================================================== --- branches/candy/ui/src/video/fxdhandler.py (original) +++ branches/candy/ui/src/video/fxdhandler.py Wed Feb 25 15:37:17 2009 @@ -68,7 +68,7 @@ import kaa # freevo imports -from .. import api as freevo +from .. import core as freevo from videoitem import VideoItem # get logging object Modified: branches/candy/ui/src/video/interface.py ============================================================================== --- branches/candy/ui/src/video/interface.py (original) +++ branches/candy/ui/src/video/interface.py Wed Feb 25 15:37:17 2009 @@ -41,7 +41,7 @@ import string # freevo imports -from .. import api as freevo +from .. import core as freevo # video imports from videoitem import VideoItem Modified: branches/candy/ui/src/video/player.py ============================================================================== --- branches/candy/ui/src/video/player.py (original) +++ branches/candy/ui/src/video/player.py Wed Feb 25 15:37:17 2009 @@ -40,7 +40,7 @@ import kaa.popcorn # Freevo imports -from .. import api as freevo +from .. import core as freevo # get logging object log = logging.getLogger('video') Modified: branches/candy/ui/src/video/playlist.py ============================================================================== --- branches/candy/ui/src/video/playlist.py (original) +++ branches/candy/ui/src/video/playlist.py Wed Feb 25 15:37:17 2009 @@ -33,7 +33,7 @@ # ----------------------------------------------------------------------------- # freevo imports -from .. import api as freevo +from .. import core as freevo class VideoPlaylist(freevo.Playlist): type = 'video' Modified: branches/candy/ui/src/video/plugins/resume.py ============================================================================== --- branches/candy/ui/src/video/plugins/resume.py (original) +++ branches/candy/ui/src/video/plugins/resume.py Wed Feb 25 15:37:17 2009 @@ -37,7 +37,7 @@ import kaa.beacon # freevo imports -from ... import api as freevo +from ... import core as freevo # the logging object log = logging.getLogger() Modified: branches/candy/ui/src/video/videoitem.py ============================================================================== --- branches/candy/ui/src/video/videoitem.py (original) +++ branches/candy/ui/src/video/videoitem.py Wed Feb 25 15:37:17 2009 @@ -46,7 +46,7 @@ import kaa # freevo imports -from .. import api as freevo +from .. import core as freevo # video imports import configure |