forked from openlp/openlp
Added setup.py
Added PluginConfig Updated ConfigHelper Updated Bible plugin to use plugin config object bzr-revno: 171
This commit is contained in:
parent
e8430a95f9
commit
3ad3a14ffb
@ -18,10 +18,12 @@ this program; if not, write to the Free Software Foundation, Inc., 59 Temple
|
||||
Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
"""
|
||||
|
||||
from pluginconfig import PluginConfig
|
||||
from plugin import Plugin
|
||||
from settingstab import SettingsTab
|
||||
from mediamanageritem import MediaManagerItem
|
||||
from event import Event
|
||||
from xmlrootclass import XmlRootClass
|
||||
|
||||
__all__ = ['Plugin', 'SettingsTab', 'MediaManagerItem', 'Event', 'XmlRootClass']
|
||||
__all__ = ['PluginConfig', 'Plugin', 'SettingsTab', 'MediaManagerItem', 'Event',
|
||||
'XmlRootClass']
|
||||
|
@ -18,6 +18,8 @@ this program; if not, write to the Free Software Foundation, Inc., 59 Temple
|
||||
Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
"""
|
||||
|
||||
from lib import PluginConfig
|
||||
|
||||
class Plugin(object):
|
||||
"""
|
||||
Base class for openlp plugins to inherit from.
|
||||
@ -70,6 +72,7 @@ class Plugin(object):
|
||||
self.Name = 'Plugin'
|
||||
if version is not None:
|
||||
self.Version = version
|
||||
self.config = PluginConfig(self.Name)
|
||||
#self.MediaManagerItem = None
|
||||
self.SettingsTab = None
|
||||
self.ImportMenuItem = None
|
||||
|
54
openlp/core/lib/pluginconfig.py
Normal file
54
openlp/core/lib/pluginconfig.py
Normal file
@ -0,0 +1,54 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4
|
||||
"""
|
||||
OpenLP - Open Source Lyrics Projection
|
||||
Copyright (c) 2008 Raoul Snyman
|
||||
Portions copyright (c) 2008 Martin Thompson, Tim Bentley
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it under
|
||||
the terms of the GNU General Public License as published by the Free Software
|
||||
Foundation; version 2 of the License.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along with
|
||||
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
|
||||
Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
"""
|
||||
|
||||
import os
|
||||
from core.utils import ConfigHelper
|
||||
|
||||
class PluginConfig(object):
|
||||
"""
|
||||
This is a generic config helper for plugins.
|
||||
"""
|
||||
def __init__(self, plugin_name):
|
||||
"""
|
||||
Initialise the plugin config object, setting the section name to the
|
||||
plugin name.
|
||||
"""
|
||||
self.section = plugin_name.lower()
|
||||
|
||||
def get_config(self, key, default=None):
|
||||
"""
|
||||
Get a configuration value from the configuration registry.
|
||||
"""
|
||||
return ConfigHelper.get_config(self.section, key, default)
|
||||
|
||||
def set_config(self, key, value):
|
||||
"""
|
||||
Set a configuration value in the configuration registry.
|
||||
"""
|
||||
return ConfigHelper.set_config(self.section, key, value)
|
||||
|
||||
def get_data_path(self):
|
||||
app_data = ConfigHelper.get_data_path()
|
||||
safe_name = self.section.replace(' ', '-')
|
||||
plugin_data = self.get_config('data path', safe_name)
|
||||
return os.path.join(app_data, plugin_data)
|
||||
|
||||
def set_data_path(self, path):
|
||||
return self.set_config('data path', os.path.basename(path))
|
@ -27,24 +27,22 @@ class ConfigHelper(object):
|
||||
@staticmethod
|
||||
def get_data_path():
|
||||
reg = ConfigHelper.get_registry()
|
||||
return reg.get_value('main', 'data_path')
|
||||
return reg.get_value('main', 'data path')
|
||||
|
||||
@staticmethod
|
||||
def get_data_path():
|
||||
def get_config(section, key, default=None):
|
||||
reg = ConfigHelper.get_registry()
|
||||
return reg.get_value('main', 'data_path')
|
||||
if reg.has_value(section, key):
|
||||
return reg.get_value(section, key, default)
|
||||
else:
|
||||
return default
|
||||
|
||||
@staticmethod
|
||||
def get_songs_file():
|
||||
path = ConfigHelper.get_data_path()
|
||||
songfile = os.path.join(path, "songs", "songs.olp")
|
||||
if os.path.exists(songfile):
|
||||
filename.set_filename(songfile)
|
||||
print songfile
|
||||
|
||||
@staticmethod
|
||||
def getBiblePath():
|
||||
return os.path.join(ConfigHelper.getConfigPath(), "Data","Bibles")
|
||||
def set_config(section, key, value):
|
||||
reg = ConfigHelper.get_registry()
|
||||
if not reg.has_section(section):
|
||||
reg.create_section(section)
|
||||
return reg.set_value(section, key, value)
|
||||
|
||||
@staticmethod
|
||||
def get_registry():
|
||||
|
@ -40,7 +40,7 @@ class BibleManager():
|
||||
global log
|
||||
log=logging.getLogger("BibleMgr")
|
||||
log.info("Bible manager loaded")
|
||||
def __init__(self):
|
||||
def __init__(self, path):
|
||||
"""
|
||||
Finds all the bibles defined for the system
|
||||
Creates an Interface Object for each bible containing connection information
|
||||
@ -51,7 +51,7 @@ class BibleManager():
|
||||
log.debug( "Bible Initialising")
|
||||
self.bibleDBCache = {} # dict of bible database classes
|
||||
self.bibleHTTPCache = {} # dict of bible http readers
|
||||
self.biblePath = ConfigHelper.getBiblePath()
|
||||
self.biblePath = path #ConfigHelper.getBiblePath()
|
||||
self.dialogobject = None
|
||||
#log.debug( self.biblePath )
|
||||
files = os.listdir(self.biblePath)
|
||||
|
@ -31,7 +31,7 @@ class BiblePlugin(Plugin):
|
||||
Plugin.__init__(self, 'Bible', '1.9.0')
|
||||
self.Weight = -9
|
||||
#Register the bible Manager
|
||||
#self.biblemanager = BibleManager()
|
||||
#self.biblemanager = BibleManager(self.config.get_data_path())
|
||||
self.textsearch = True
|
||||
|
||||
def getMediaManagerItem(self):
|
||||
|
4
setup.py
Normal file
4
setup.py
Normal file
@ -0,0 +1,4 @@
|
||||
from setuptools import setup
APP = ['openlp.pyw']
OPTIONS = {'argv_emulation': True, 'includes': ['sip', 'PyQt4']}
setup(
|
||||
name='openlp.org',
|
||||
version='1.9.0',
|
||||
url='http://www.openlp.org/',
app=APP,
options={'py2app': OPTIONS},
setup_requires=['py2app'],
)
|
Loading…
Reference in New Issue
Block a user