forked from openlp/openlp
Fixed up a few logging things, a few bits of indentation, and resolved some conflicts from the last update.
bzr-revno: 484
This commit is contained in:
parent
0194e903f2
commit
f12949eb0c
|
@ -51,7 +51,7 @@ class PluginConfig(object):
|
||||||
return ConfigHelper.set_config(self.section, key, value)
|
return ConfigHelper.set_config(self.section, key, value)
|
||||||
|
|
||||||
def get_data_path(self):
|
def get_data_path(self):
|
||||||
app_data = ConfigHelper.get_data_path()
|
#app_data = ConfigHelper.get_data_path()
|
||||||
app_data = ConfigHelper.get_data_path()
|
app_data = ConfigHelper.get_data_path()
|
||||||
safe_name = self.section.replace(u' ',u'-')
|
safe_name = self.section.replace(u' ',u'-')
|
||||||
plugin_data = self.get_config(u'data path', safe_name)
|
plugin_data = self.get_config(u'data path', safe_name)
|
||||||
|
|
|
@ -53,7 +53,7 @@ class PluginManager(object):
|
||||||
"""
|
"""
|
||||||
self.plugin_helpers = plugin_helpers
|
self.plugin_helpers = plugin_helpers
|
||||||
startdepth = len(os.path.abspath(dir).split(os.sep))
|
startdepth = len(os.path.abspath(dir).split(os.sep))
|
||||||
log.debug(u'find plugins %s at depth %d' %( unicode(dir), startdepth))
|
log.debug(u'find plugins %s at depth %d', unicode(dir), startdepth)
|
||||||
|
|
||||||
for root, dirs, files in os.walk(dir):
|
for root, dirs, files in os.walk(dir):
|
||||||
for name in files:
|
for name in files:
|
||||||
|
@ -69,34 +69,46 @@ class PluginManager(object):
|
||||||
modulename = modulename[len(prefix) + 1:]
|
modulename = modulename[len(prefix) + 1:]
|
||||||
modulename = modulename.replace(os.path.sep, '.')
|
modulename = modulename.replace(os.path.sep, '.')
|
||||||
# import the modules
|
# import the modules
|
||||||
log.debug(u'Importing %s from %s. Depth %d' % (modulename, path, thisdepth))
|
log.debug(u'Importing %s from %s. Depth %d', modulename, path, thisdepth)
|
||||||
try:
|
try:
|
||||||
__import__(modulename, globals(), locals(), [])
|
__import__(modulename, globals(), locals(), [])
|
||||||
except ImportError, e:
|
except ImportError, e:
|
||||||
log.error(u'Failed to import module %s on path %s for reason %s', modulename, path, sys.exc_info()[1])
|
log.error(u'Failed to import module %s on path %s for reason %s', modulename, path, e.args[0])
|
||||||
self.plugin_classes = Plugin.__subclasses__()
|
self.plugin_classes = Plugin.__subclasses__()
|
||||||
self.plugins = []
|
self.plugins = []
|
||||||
plugin_objects = []
|
plugin_objects = []
|
||||||
for p in self.plugin_classes:
|
for p in self.plugin_classes:
|
||||||
try:
|
try:
|
||||||
plugin = p(self.plugin_helpers)
|
plugin = p(self.plugin_helpers)
|
||||||
log.debug(u'loaded plugin %s with helpers'%unicode(p))
|
log.debug(u'loaded plugin %s with helpers', unicode(p))
|
||||||
log.debug(u'Plugin: %s', unicode(p))
|
log.debug(u'Plugin: %s', unicode(p))
|
||||||
if plugin.check_pre_conditions():
|
if plugin.check_pre_conditions():
|
||||||
log.debug(u'Appending %s ', unicode(p))
|
log.debug(u'Appending %s ', unicode(p))
|
||||||
plugin_objects.append(plugin)
|
plugin_objects.append(plugin)
|
||||||
eventmanager.register(plugin)
|
eventmanager.register(plugin)
|
||||||
except TypeError:
|
except TypeError:
|
||||||
log.error(u'loaded plugin %s has no helpers'%unicode(p))
|
log.error(u'loaded plugin %s has no helpers', unicode(p))
|
||||||
self.plugins = sorted(plugin_objects, self.order_by_weight)
|
self.plugins = sorted(plugin_objects, self.order_by_weight)
|
||||||
|
|
||||||
def order_by_weight(self, x, y):
|
def order_by_weight(self, x, y):
|
||||||
|
"""
|
||||||
|
Sort two plugins and order them by their weight.
|
||||||
|
|
||||||
|
``x``
|
||||||
|
The first plugin.
|
||||||
|
|
||||||
|
``y``
|
||||||
|
The second plugin.
|
||||||
|
"""
|
||||||
return cmp(x.weight, y.weight)
|
return cmp(x.weight, y.weight)
|
||||||
|
|
||||||
def hook_media_manager(self, mediatoolbox):
|
def hook_media_manager(self, mediatoolbox):
|
||||||
"""
|
"""
|
||||||
Loop through all the plugins. If a plugin has a valid media manager item,
|
Loop through all the plugins. If a plugin has a valid media manager item,
|
||||||
add it to the media manager.
|
add it to the media manager.
|
||||||
|
|
||||||
|
``mediatoolbox``
|
||||||
|
The Media Manager itself.
|
||||||
"""
|
"""
|
||||||
for plugin in self.plugins:
|
for plugin in self.plugins:
|
||||||
media_manager_item = plugin.get_media_manager_item()
|
media_manager_item = plugin.get_media_manager_item()
|
||||||
|
@ -140,3 +152,4 @@ class PluginManager(object):
|
||||||
"""
|
"""
|
||||||
for plugin in self.plugins:
|
for plugin in self.plugins:
|
||||||
plugin.initialise()
|
plugin.initialise()
|
||||||
|
|
||||||
|
|
|
@ -42,8 +42,8 @@ class PresentationPlugin(Plugin):
|
||||||
QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
||||||
|
|
||||||
def get_settings_tab(self):
|
def get_settings_tab(self):
|
||||||
self.presentation_tab = PresentationTab()
|
#self.presentation_tab = PresentationTab()
|
||||||
return self.presentation_tab
|
return None #self.presentation_tab
|
||||||
|
|
||||||
def get_media_manager_item(self):
|
def get_media_manager_item(self):
|
||||||
# Create the MediaManagerItem object
|
# Create the MediaManagerItem object
|
||||||
|
@ -54,3 +54,4 @@ class PresentationPlugin(Plugin):
|
||||||
log.debug('check_pre_conditions')
|
log.debug('check_pre_conditions')
|
||||||
self.openoffice = Openoffice()
|
self.openoffice = Openoffice()
|
||||||
return self.openoffice.checkOoPid()
|
return self.openoffice.checkOoPid()
|
||||||
|
|
||||||
|
|
|
@ -47,8 +47,7 @@ class SongManager():
|
||||||
self.db_url = u''
|
self.db_url = u''
|
||||||
db_type = self.config.get_config(u'db type', u'sqlite')
|
db_type = self.config.get_config(u'db type', u'sqlite')
|
||||||
if db_type == u'sqlite':
|
if db_type == u'sqlite':
|
||||||
self.db_url = u'sqlite:///' + self.config.get_data_path() + \
|
self.db_url = u'sqlite:///%s/songs.sqlite' % self.config.get_data_path()
|
||||||
u'/songs.sqlite'
|
|
||||||
else:
|
else:
|
||||||
self.db_url = db_type + 'u://' + \
|
self.db_url = db_type + 'u://' + \
|
||||||
self.config.get_config(u'db username') + u':' + \
|
self.config.get_config(u'db username') + u':' + \
|
||||||
|
@ -73,13 +72,17 @@ class SongManager():
|
||||||
"""
|
"""
|
||||||
Searches the song title for keywords.
|
Searches the song title for keywords.
|
||||||
"""
|
"""
|
||||||
return self.session.query(Song).filter(Song.search_title.like(u'%' + keywords + u'%')).order_by(Song.search_title.asc()).all()
|
return self.session.query(Song).filter(
|
||||||
|
Song.search_title.like(u'%' + keywords + u'%')).order_by(
|
||||||
|
Song.search_title.asc()).all()
|
||||||
|
|
||||||
def search_song_lyrics(self, keywords):
|
def search_song_lyrics(self, keywords):
|
||||||
"""
|
"""
|
||||||
Searches the song lyrics for keywords.
|
Searches the song lyrics for keywords.
|
||||||
"""
|
"""
|
||||||
return self.session.query(Song).filter(Song.search_lyrics.like(u'%' + keywords + u'%')).order_by(Song.search_lyrics.asc()).all()
|
return self.session.query(Song).filter(
|
||||||
|
Song.search_lyrics.like(u'%' + keywords + u'%')).order_by(
|
||||||
|
Song.search_lyrics.asc()).all()
|
||||||
|
|
||||||
def get_song_from_author(self, keywords):
|
def get_song_from_author(self, keywords):
|
||||||
"""
|
"""
|
||||||
|
|
Loading…
Reference in New Issue