diff --git a/openlp/plugins/bibles/forms/importwizardform.py b/openlp/plugins/bibles/forms/importwizardform.py index 742598fdb..d25ad4b4c 100644 --- a/openlp/plugins/bibles/forms/importwizardform.py +++ b/openlp/plugins/bibles/forms/importwizardform.py @@ -32,6 +32,7 @@ from PyQt4 import QtCore, QtGui from bibleimportwizard import Ui_BibleImportWizard from openlp.core.lib import Receiver +from openlp.core.utils import AppLocation from openlp.plugins.bibles.lib.manager import BibleFormat log = logging.getLogger(__name__) @@ -258,9 +259,8 @@ class ImportWizardForm(QtGui.QWizard, Ui_BibleImportWizard): Load the list of Crosswalk and BibleGateway bibles. """ #Load and store Crosswalk Bibles - filepath = os.path.abspath(os.path.join( - os.path.split(os.path.abspath(__file__))[0], - u'..', u'resources')) + filepath = AppLocation.get_directory(AppLocation.PluginsDir) + filepath = os.path.join(filepath, u'bibles', u'resources') fbibles = None try: self.web_bible_list[DownloadLocation.Crosswalk] = {} diff --git a/openlp/plugins/bibles/lib/http.py b/openlp/plugins/bibles/lib/http.py index bd4ad8e0b..5a170d84c 100644 --- a/openlp/plugins/bibles/lib/http.py +++ b/openlp/plugins/bibles/lib/http.py @@ -31,6 +31,7 @@ import sqlite3 from BeautifulSoup import BeautifulSoup from openlp.core.lib import Receiver +from openlp.core.utils import AppLocation from common import BibleCommon, SearchResults from db import BibleDB from openlp.plugins.bibles.lib.models import Book @@ -43,8 +44,9 @@ class HTTPBooks(object): @staticmethod def get_cursor(): if HTTPBooks.cursor is None: - filepath = os.path.join(os.path.dirname(os.path.abspath(__file__)), - u'..', u'resources', u'httpbooks.sqlite') + filepath = os.path.join( + AppLocation.get_directory(AppLocation.PluginsDir), u'bibles', + u'resources', u'httpbooks.sqlite') conn = sqlite3.connect(filepath) HTTPBooks.cursor = conn.cursor() return HTTPBooks.cursor diff --git a/openlp/plugins/bibles/lib/osis.py b/openlp/plugins/bibles/lib/osis.py index 658ac8a0b..e4cb79e73 100644 --- a/openlp/plugins/bibles/lib/osis.py +++ b/openlp/plugins/bibles/lib/osis.py @@ -33,6 +33,7 @@ import re from PyQt4 import QtCore from openlp.core.lib import Receiver +from openlp.core.utils import AppLocation from db import BibleDB log = logging.getLogger(__name__) @@ -66,9 +67,9 @@ class OSISBible(BibleDB): self.q_regex = re.compile(r'') self.spaces_regex = re.compile(r'([ ]{2,})') self.books = {} - filepath = os.path.split(os.path.abspath(__file__))[0] - filepath = os.path.abspath(os.path.join( - filepath, u'..', u'resources', u'osisbooks.csv')) + filepath = os.path.join( + AppLocation.get_directory(AppLocation.PluginsDir), u'bibles', + u'resources', u'osisbooks.csv') fbibles = None try: fbibles = open(filepath, u'r') diff --git a/openlp/plugins/presentations/presentationplugin.py b/openlp/plugins/presentations/presentationplugin.py index 8353611ab..bfb3bcbca 100644 --- a/openlp/plugins/presentations/presentationplugin.py +++ b/openlp/plugins/presentations/presentationplugin.py @@ -27,6 +27,7 @@ import os import logging from openlp.core.lib import Plugin, build_icon, Receiver, PluginStatus +from openlp.core.utils import AppLocation from openlp.plugins.presentations.lib import * log = logging.getLogger(__name__) @@ -84,11 +85,13 @@ class PresentationPlugin(Plugin): If Not do not install the plugin. """ log.debug(u'check_pre_conditions') - dir = os.path.join(os.path.dirname(__file__), u'lib') - for filename in os.listdir(dir): + controller_dir = os.path.join( + AppLocation.get_directory(AppLocation.PluginsDir), + u'presentations', u'lib') + for filename in os.listdir(controller_dir): if filename.endswith(u'controller.py') and \ not filename == 'presentationcontroller.py': - path = os.path.join(dir, filename) + path = os.path.join(controller_dir, filename) if os.path.isfile(path): modulename = u'openlp.plugins.presentations.lib.' + \ os.path.splitext(filename)[0] diff --git a/resources/innosetup/OpenLP-2.0.iss b/resources/innosetup/OpenLP-2.0.iss index 4b25d6a28..41e9cd84b 100644 --- a/resources/innosetup/OpenLP-2.0.iss +++ b/resources/innosetup/OpenLP-2.0.iss @@ -5,7 +5,7 @@ #define MyAppVerName "OpenLP 2.0" #define MyAppPublisher "OpenLP Developers" #define MyAppURL "http://openlp.org/" -#define MyAppExeName "openlp.exe" +#define MyAppExeName "OpenLP.exe" [Setup] ; NOTE: The value of AppId uniquely identifies this application. @@ -20,12 +20,14 @@ AppSupportURL={#MyAppURL} AppUpdatesURL={#MyAppURL} DefaultDirName={pf}\{#MyAppName} DefaultGroupName=OpenLP 2.0 -AllowNoIcons=yes +AllowNoIcons=true LicenseFile=LICENSE.txt -OutputBaseFilename=OpenLP-2.0-setup +OutputBaseFilename=OpenLP-1.9.0-bzr737-setup Compression=lzma SolidCompression=true -SetupIconFile=OpenLP.ico +SetupIconFile=C:\Program Files\Inno Setup 5\Examples\Setup.ico +WizardImageFile=C:\Program Files\Inno Setup 5\WizModernImage-IS.bmp +WizardSmallImageFile=C:\Program Files\Inno Setup 5\WizModernSmallImage-IS.bmp [Languages] Name: english; MessagesFile: compiler:Default.isl @@ -51,14 +53,16 @@ Name: slovenian; MessagesFile: compiler:Languages\Slovenian.isl Name: spanish; MessagesFile: compiler:Languages\Spanish.isl [Tasks] -Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked -Name: quicklaunchicon; Description: {cm:CreateQuickLaunchIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked +Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons} +Name: quicklaunchicon; Description: {cm:CreateQuickLaunchIcon}; GroupDescription: {cm:AdditionalIcons} [Files] -Source: C:\Documents and Settings\raoul\My Documents\My Projects\openlp\pyinstaller\dist\openlp\*; DestDir: {app}; Flags: ignoreversion -Source: C:\Documents and Settings\raoul\My Documents\My Projects\openlp\pyinstaller\dist\openlp\plugins\*; DestDir: {app}\plugins; Flags: ignoreversion recursesubdirs createallsubdirs -Source: C:\Documents and Settings\raoul\My Documents\My Projects\openlp\pyinstaller\dist\openlp\Microsoft.VC90.CRT\*; DestDir: {app}\Microsoft.VC90.CRT; Flags: ignoreversion recursesubdirs createallsubdirs -Source: C:\Documents and Settings\raoul\My Documents\My Projects\openlp\pyinstaller\dist\openlp\qt4_plugins\*; DestDir: {app}\qt4_plugins; Flags: ignoreversion recursesubdirs createallsubdirs +Source: ..\..\dist\OpenLP\*; DestDir: {app}; Flags: ignoreversion +Source: ..\..\dist\OpenLP\plugins\*; DestDir: {app}\plugins; Flags: ignoreversion recursesubdirs createallsubdirs +Source: ..\..\dist\OpenLP\Microsoft.VC90.CRT\*; DestDir: {app}\Microsoft.VC90.CRT; Flags: ignoreversion recursesubdirs createallsubdirs +Source: ..\..\dist\OpenLP\qt4_plugins\*; DestDir: {app}\qt4_plugins; Flags: ignoreversion recursesubdirs createallsubdirs +Source: ..\..\dist\OpenLP\eggs\*; DestDir: {app}\eggs; Flags: ignoreversion recursesubdirs createallsubdirs +Source: openlp.conf; DestDir: {userappdata}\openlp; Flags: ignoreversion onlyifdoesntexist ; NOTE: Don't use "Flags: ignoreversion" on any shared system files [Icons] diff --git a/resources/innosetup/openlp.conf b/resources/innosetup/openlp.conf new file mode 100644 index 000000000..aab3b2260 --- /dev/null +++ b/resources/innosetup/openlp.conf @@ -0,0 +1,26 @@ +[bibles] +status = 1 + +[media] +status = 1 + +[alerts] +status = 1 + +[presentations] +status = 1 + +[custom] +status = 1 + +[remotes] +status = 0 + +[images] +status = 1 + +[songusage] +status = 1 + +[songs] +status = 1 diff --git a/resources/pyinstaller/hook-lxml.objectify.py b/resources/pyinstaller/hook-lxml.objectify.py new file mode 100644 index 000000000..071a0dca4 --- /dev/null +++ b/resources/pyinstaller/hook-lxml.objectify.py @@ -0,0 +1 @@ +hiddenimports = ['lxml.etree']