Move Windows stuff all into a single "Windows" directory.

This commit is contained in:
Raoul Snyman 2010-10-10 17:40:54 +02:00
parent f1fd4b6d2b
commit 51edce8c17
10 changed files with 705 additions and 65 deletions

View File

@ -1,19 +0,0 @@
# -*- mode: python -*-
a = Analysis([os.path.join(HOMEPATH,'support\\_mountzlib.py'), os.path.join(HOMEPATH,'support\\useUnicode.py'), 'openlp.pyw'],
pathex=[os.path.abspath('.')])
pyz = PYZ(a.pure)
exe = EXE(pyz,
a.scripts,
exclude_binaries=1,
name=os.path.join('build\\pyi.win32\\OpenLP', 'OpenLP.exe'),
debug=False,
strip=False,
upx=True,
console=False , icon='resources\\images\\OpenLP.ico')
coll = COLLECT( exe,
a.binaries,
a.zipfiles,
a.datas,
strip=False,
upx=True,
name=os.path.join('dist', 'OpenLP'))

View File

@ -27,6 +27,7 @@ DefaultDirName={pf}\{#AppName}
DefaultGroupName={#AppVerName} DefaultGroupName={#AppVerName}
AllowNoIcons=true AllowNoIcons=true
LicenseFile=LICENSE.txt LicenseFile=LICENSE.txt
OutputDir=..\..\dist
OutputBaseFilename=OpenLP-{#RealVersion}-setup OutputBaseFilename=OpenLP-{#RealVersion}-setup
Compression=lzma Compression=lzma
SolidCompression=true SolidCompression=true

View File

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View File

@ -0,0 +1,14 @@
# -*- mode: python -*-
a = Analysis([
os.path.join(HOMEPATH, 'support\\_mountzlib.py'),
os.path.join(HOMEPATH, 'support\\useUnicode.py'),
os.path.abspath('openlp.pyw')],
pathex=[os.path.abspath('.')])
pyz = PYZ(a.pure)
exe = EXE(pyz, a.scripts, exclude_binaries=1,
name=os.path.abspath(os.path.join('build', 'pyi.win32', 'OpenLP',
'OpenLP.exe')),
debug=False, strip=False, upx=True, console=False,
icon=os.path.abspath(os.path.join('resources', 'images', 'OpenLP.ico')))
coll = COLLECT(exe, a.binaries, a.zipfiles, a.datas, strip=False, upx=True,
name=os.path.abspath(os.path.join('dist', 'OpenLP')))

View File

@ -0,0 +1,611 @@
W: no module named openlp.core.lib.build_html (top-level import by openlp.core.ui.maindisplay)
W: no module named mx (top-level import by sqlite.main)
W: no module named ctypes.create_string_buffer (delayed import by urllib)
W: no module named openlp.core.ui.ServiceNoteForm (top-level import by openlp.core.ui.servicemanager)
W: no module named openlp.core.lib.MediaManagerItem (top-level import by openlp.plugins.images.lib.mediaitem)
W: no module named openlp.core.lib.SettingsManager (top-level import by openlp.core.ui.mainwindow)
W: no module named email.Iterators (delayed import by email.message)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.custom.lib.mediaitem)
W: no module named sqlalchemy.sql.join (top-level import by sqlalchemy)
W: no module named java (conditional import by xml.sax._exceptions)
W: no module named openlp.plugins.images.lib.ImageMediaItem (top-level import by openlp.plugins.images.imageplugin)
W: no module named sqlalchemy.SMALLINT (top-level import by sqlalchemy.databases.sybase)
W: no module named sqlalchemy.engine.create_engine (top-level import by sqlalchemy)
W: no module named sqlalchemy.sql.asc (top-level import by sqlalchemy)
W: no module named openlp.plugins.bibles.lib.BiblesTab (top-level import by openlp.plugins.bibles.bibleplugin)
W: no module named PyQt4._qt (top-level import by PyQt4.QtCore)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.alerts.lib.alertstab)
W: no module named sqlalchemy.Column (top-level import by openlp.plugins.custom.lib.db)
W: no module named openlp.core.lib.build_icon (top-level import by openlp.plugins.songusage.songusageplugin)
W: no module named openlp.plugins.alerts.lib.AlertsManager (top-level import by openlp.plugins.alerts.alertsplugin)
W: no module named openlp.core.lib.Receiver (top-level import by openlp.core.ui.generaltab)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.alerts.forms.alertdialog)
W: no module named openlp.core.lib.check_item_selected (top-level import by openlp.plugins.custom.lib.mediaitem)
W: no module named sqlalchemy.orm.MapperExtension (top-level import by sqlalchemy.orm.scoping)
W: no module named pyodbc (delayed import by sqlalchemy.databases.access)
W: no module named openlp.core.lib.expand_tags (top-level import by openlp.core.lib.renderer)
W: no module named openlp.core.lib.Receiver (top-level import by openlp.core.ui.servicemanager)
W: no module named sqlalchemy.exceptions (top-level import by sqlalchemy.orm.dynamic)
W: no module named ctypes._SimpleCData (top-level import by ctypes.wintypes)
W: no module named openlp.core.lib.SettingsTab (top-level import by openlp.core.ui.generaltab)
W: no module named simplejson (conditional import by openlp.plugins.remotes.lib.httpserver)
W: no module named openlp.core.lib.build_icon (top-level import by openlp.plugins.alerts.forms.alertdialog)
W: no module named sqlalchemy.exceptions (top-level import by sqlalchemy.orm.collections)
W: no module named openlp.core.lib.resize_image (top-level import by openlp.core.lib.serviceitem)
W: no module named openlp.plugins.songs.lib.SongXMLParser (top-level import by openlp.plugins.songs.forms.editsongform)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.bibles.bibleplugin)
W: no module named xml.dom.XMLNS_NAMESPACE (top-level import by xml.dom.minidom)
W: no module named openlp.plugins.songs.lib.VerseType (top-level import by openlp.plugins.songs.lib.songimport)
W: no module named openlp.plugins.songs.lib.SongXMLBuilder (top-level import by openlp.plugins.songs.forms.editsongform)
W: no module named openlp.core.ui.GeneralTab (top-level import by openlp.core.ui.settingsform)
W: no module named openlp.core.lib.SettingsManager (top-level import by openlp.plugins.images.lib.mediaitem)
W: no module named openlp.core.lib.BaseListWithDnD (top-level import by openlp.plugins.presentations.lib.mediaitem)
W: no module named openlp.core.lib.build_icon (top-level import by openlp.plugins.presentations.presentationplugin)
W: no module named informixdb (delayed import by sqlalchemy.databases.informix)
W: no module named openlp.core.lib.Plugin (top-level import by openlp.plugins.custom.customplugin)
W: no module named cjkcodecs (top-level import by BeautifulSoup)
W: no module named readline (delayed, conditional import by cmd)
W: no module named openlp.core.lib.Receiver (top-level import by openlp.plugins.songs.lib.songimport)
W: no module named openlp.core.lib.Plugin (top-level import by openlp.plugins.media.mediaplugin)
W: no module named openlp.core.lib.ThemeXML (top-level import by openlp.core.ui.amendthemeform)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.bibles.lib.manager)
W: no module named openlp.core.lib.Receiver (top-level import by openlp.plugins.custom.lib.mediaitem)
W: no module named openlp.core.lib.ServiceItem (top-level import by openlp.core.ui.maindisplay)
W: no module named openlp.plugins.songs.forms.EditVerseForm (top-level import by openlp.plugins.songs.forms.editsongform)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.songs.lib.ewimport)
W: no module named openlp.core.lib.SettingsTab (top-level import by openlp.plugins.songs.lib.songstab)
W: no module named openlp.core.utils.AppLocation (top-level import by openlp.core.ui.thememanager)
W: no module named openlp.core.ui.HideMode (top-level import by openlp.core.ui.maindisplay)
W: no module named sqlalchemy.Column (top-level import by sqlalchemy.databases.sybase)
W: no module named openlp.core.lib.build_icon (top-level import by openlp.core.ui.servicemanager)
W: no module named openlp.core.lib.translate (top-level import by openlp.core.ui.slidecontroller)
W: no module named openlp.core.lib.Receiver (top-level import by openlp.plugins.songs.forms.songimportform)
W: no module named openlp.core.lib.Receiver (top-level import by openlp.plugins.presentations.lib.mediaitem)
W: no module named openlp.core.lib.translate (top-level import by openlp.core.ui.aboutdialog)
W: no module named sqlalchemy.sql.insert (top-level import by sqlalchemy)
W: no module named openlp.core.lib.str_to_bool (top-level import by openlp.core.ui.thememanager)
W: no module named sqlalchemy.MetaData (top-level import by sqlalchemy.databases.sybase)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.bibles.lib.biblestab)
W: no module named openlp.plugins.bibles.lib.BibleManager (top-level import by openlp.plugins.bibles.bibleplugin)
W: no module named openlp.core.ui.SlideController (top-level import by openlp.core.ui.mainwindow)
W: no module named MacOS (delayed import by platform)
W: no module named openlp.core.lib.ThemeXML (top-level import by openlp.core.ui.thememanager)
W: no module named cx_Oracle (delayed import by sqlalchemy.databases.oracle)
W: no module named openlp.core.lib.Receiver (top-level import by openlp.core.ui.slidecontroller)
W: no module named openlp.core.lib.translate (top-level import by openlp.core.ui.servicenotedialog)
W: no module named sqlalchemy.sql.except_ (top-level import by sqlalchemy)
W: no module named openlp.core.ui.AboutForm (top-level import by openlp.core.ui.mainwindow)
W: no module named EasyDialogs (conditional import by getpass)
W: no module named openlp.core.lib.SettingsManager (top-level import by openlp.core.lib.mediamanageritem)
W: no module named sqlalchemy.orm.SessionExtension (top-level import by sqlalchemy.orm.session)
W: no module named sqlalchemy.orm.relation (top-level import by openlp.plugins.bibles.lib.db)
W: no module named openlp.plugins.songs.lib.VerseType (top-level import by openlp.plugins.songs.forms.editsongform)
W: no module named openlp.core.utils.AppLocation (top-level import by openlp.plugins.bibles.lib.http)
W: no module named sqlalchemy.sql.func (top-level import by sqlalchemy)
W: no module named openlp.core.lib.translate (top-level import by openlp.core.utils.languagemanager)
W: no module named openlp.core.lib.Receiver (top-level import by openlp.core.ui.mainwindow)
W: no module named uno (conditional import by openlp.plugins.songs.lib.oooimport)
W: no module named kinterbasdb (delayed import by sqlalchemy.databases.firebird)
W: no module named multiprocessing.RLock (top-level import by multiprocessing.sharedctypes)
W: no module named openlp.core.lib.translate (top-level import by openlp.core.ui.filerenameform)
W: no module named sqlalchemy.ForeignKey (top-level import by sqlalchemy.databases.mssql)
W: no module named openlp.core.lib.Renderer (top-level import by openlp.core.lib.rendermanager)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.songs.forms.songmaintenancedialog)
W: no module named openlp.core.lib.check_item_selected (top-level import by openlp.plugins.songs.lib.mediaitem)
W: no module named openlp.core.lib.build_icon (top-level import by openlp.core.lib.mediamanageritem)
W: no module named openlp.core.ui.FileRenameForm (top-level import by openlp.core.ui.thememanager)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.songs.songsplugin)
W: no module named openlp.core.lib.build_icon (top-level import by openlp.plugins.bibles.bibleplugin)
W: no module named vms_lib (delayed, conditional import by platform)
W: no module named openlp.core.lib.resize_image (top-level import by openlp.core.ui.slidecontroller)
W: no module named openlp.core.lib.Receiver (top-level import by openlp.plugins.alerts.lib.alertsmanager)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.songusage.forms.songusagedetaildialog)
W: no module named openlp.plugins.remotes.lib.RemoteTab (top-level import by openlp.plugins.remotes.remoteplugin)
W: no module named openlp.core.ui.ServiceManager (top-level import by openlp.core.ui.mainwindow)
W: no module named openlp.core.lib.SettingsManager (top-level import by openlp.plugins.songusage.forms.songusagedetailform)
W: no module named openlp.core.ui.SettingsForm (top-level import by openlp.core.ui.mainwindow)
W: no module named openlp.plugins.alerts.lib.AlertsTab (top-level import by openlp.plugins.alerts.alertsplugin)
W: no module named xdg (delayed, conditional import by openlp.core.utils)
W: no module named openlp.core.lib.build_icon (top-level import by openlp.plugins.custom.customplugin)
W: no module named openlp.core.ui.AmendThemeForm (top-level import by openlp.core.ui.thememanager)
W: no module named openlp.core.lib.ItemCapabilities (top-level import by openlp.plugins.songs.lib.mediaitem)
W: no module named openlp.core.lib.ItemCapabilities (top-level import by openlp.plugins.custom.lib.mediaitem)
W: no module named posix (delayed, conditional import by iu)
W: no module named openlp.plugins.songs.lib.VerseType (top-level import by openlp.plugins.songs.forms.editversedialog)
W: no module named multiprocessing.dummy.Process (delayed import by __main__)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.presentations.presentationplugin)
W: no module named sqlalchemy.String (top-level import by sqlalchemy.databases.mssql)
W: no module named xml.dom.EMPTY_PREFIX (top-level import by xml.dom.expatbuilder)
W: no module named openlp.core.lib.MediaManagerItem (top-level import by openlp.plugins.custom.lib.mediaitem)
W: no module named openlp.core.lib.ServiceItem (top-level import by openlp.core.lib.mediamanageritem)
W: no module named openlp.core.lib.PluginManager (top-level import by openlp.core.ui.mainwindow)
W: no module named multiprocessing.current_process (top-level import by multiprocessing.reduction)
W: no module named openlp.core.lib.MediaManagerItem (top-level import by openlp.plugins.songs.lib.mediaitem)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.songs.forms.songbookform)
W: no module named openlp.core.lib.Plugin (top-level import by openlp.plugins.presentations.presentationplugin)
W: no module named xmltok (top-level import by pyexpat)
W: no module named openlp.plugins.bibles.lib.SearchResults (top-level import by openlp.plugins.bibles.lib.http)
W: no module named sqlalchemy.sql.delete (top-level import by sqlalchemy)
W: no module named openlp.core.lib.Receiver (top-level import by openlp.plugins.songs.lib.oooimport)
W: no module named _emx_link (conditional import by os)
W: no module named openlp.core.lib.build_icon (top-level import by openlp.core.ui.aboutdialog)
W: no module named openlp.core.lib.build_icon (top-level import by openlp.plugins.bibles.forms.bibleimportwizard)
W: no module named openlp.core.lib.Plugin (top-level import by openlp.core.lib.pluginmanager)
W: no module named openlp.plugins.songs.lib.SongsTab (top-level import by openlp.plugins.songs.songsplugin)
W: no module named sqlalchemy.CHAR (top-level import by sqlalchemy.databases.sybase)
W: no module named sqlalchemy.sql.collate (top-level import by sqlalchemy)
W: no module named sqlalchemy.sql.outparam (top-level import by sqlalchemy)
W: no module named openlp.core.utils.AppLocation (top-level import by openlp.core.lib.db)
W: no module named openlp.core.ui.PluginForm (top-level import by openlp.core.ui.mainwindow)
W: no module named gobject (top-level import by enchant.checker.GtkSpellCheckerDialog)
W: no module named openlp.core.utils.VersionThread (top-level import by __main__)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.songs.forms.topicsform)
W: no module named sqlalchemy.Integer (top-level import by sqlalchemy.databases.mssql)
W: no module named openlp.core.lib.translate (top-level import by openlp.core.ui.exceptiondialog)
W: no module named pwd (delayed, conditional import by distutils.util)
W: no module named uno (conditional import by openlp.plugins.presentations.lib.impresscontroller)
W: no module named openlp.core.lib.Receiver (top-level import by openlp.core.utils)
W: no module named sqlalchemy.orm.class_mapper (top-level import by openlp.plugins.songs.lib.olpimport)
W: no module named sqlalchemy.orm.relation (top-level import by openlp.plugins.songs.lib.olpimport)
W: no module named readline (delayed import by pdb)
W: no module named openlp.core.ui.MainDisplay (top-level import by openlp.core.lib.rendermanager)
W: no module named openlp.core.lib.build_icon (top-level import by openlp.plugins.media.lib.mediaitem)
W: no module named sqlalchemy.Table (top-level import by openlp.plugins.songusage.lib.db)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.alerts.alertsplugin)
W: no module named openlp.core.lib.SettingsManager (top-level import by openlp.plugins.media.lib.mediaitem)
W: no module named openlp.core.lib.BaseListWithDnD (top-level import by openlp.plugins.images.lib.mediaitem)
W: no module named openlp.core.lib.Receiver (top-level import by openlp.plugins.bibles.forms.importwizardform)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.remotes.remoteplugin)
W: no module named openlp.core.lib.build_icon (top-level import by openlp.plugins.images.imageplugin)
W: no module named openlp.core.lib.SettingsTab (top-level import by openlp.plugins.alerts.lib.alertstab)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.songs.forms.editversedialog)
W: no module named openlp.core.lib.Receiver (top-level import by openlp.plugins.songusage.songusageplugin)
W: no module named openlp.core.ui.HideMode (top-level import by openlp.core.ui.slidecontroller)
W: no module named sqlalchemy.sql.between (top-level import by sqlalchemy)
W: no module named xml.dom.EMPTY_PREFIX (top-level import by xml.dom.minidom)
W: no module named pysqlite2 (delayed import by sqlalchemy.databases.sqlite)
W: no module named openlp.core.lib.SettingsManager (top-level import by openlp.core.ui.thememanager)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.custom.lib.customtab)
W: no module named gtk (top-level import by enchant.checker.GtkSpellCheckerDialog)
W: no module named xml.dom.EMPTY_NAMESPACE (top-level import by xml.dom.expatbuilder)
W: no module named openlp.core.lib.Receiver (top-level import by openlp.plugins.remotes.lib.httpserver)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.songusage.forms.songusagedeleteform)
W: no module named sqlalchemy.orm.scoped_session (top-level import by openlp.core.lib.db)
W: no module named openlp.core.lib.clean_tags (top-level import by openlp.core.lib.serviceitem)
W: no module named openlp.core.utils.get_filesystem_encoding (top-level import by openlp.core.ui.thememanager)
W: no module named xml.dom.EMPTY_NAMESPACE (top-level import by xml.dom.minidom)
W: no module named openlp.core.lib.build_icon (top-level import by openlp.core.lib.toolbar)
W: no module named openlp.core.lib.build_icon (top-level import by openlp.plugins.remotes.remoteplugin)
W: no module named sqlalchemy.exceptions (top-level import by sqlalchemy.orm.attributes)
W: no module named sqlalchemy.ForeignKey (top-level import by sqlalchemy.databases.sybase)
W: no module named openlp.core.lib.translate (top-level import by openlp.core.ui.servicemanager)
W: no module named sqlalchemy.Column (top-level import by openlp.plugins.alerts.lib.db)
W: no module named openlp.core.lib.SettingsTab (top-level import by openlp.core.ui.advancedtab)
W: no module named AES (delayed, conditional import by archive)
W: no module named openlp.core.lib.Receiver (top-level import by openlp.plugins.songs.forms.songmaintenanceform)
W: no module named openlp.core.lib.context_menu_separator (top-level import by openlp.core.lib.mediamanageritem)
W: no module named fcntl (top-level import by tempfile)
W: no module named openlp.core.lib.translate (top-level import by openlp.core.ui.thememanager)
W: no module named mx (top-level import by sqlalchemy.databases.mxODBC)
W: no module named sqlalchemy.sql.union (top-level import by sqlalchemy)
W: no module named openlp.plugins.songs.forms.TopicsForm (top-level import by openlp.plugins.songs.forms.songmaintenanceform)
W: no module named openlp.core.lib.ItemCapabilities (top-level import by openlp.plugins.images.lib.mediaitem)
W: no module named MacOS (delayed import by distutils.sysconfig)
W: no module named openlp.core.lib.SpellTextEdit (top-level import by openlp.plugins.custom.forms.editcustomdialog)
W: no module named ic (top-level import by webbrowser)
W: no module named com (conditional import by openlp.plugins.presentations.lib.impresscontroller)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.media.mediaplugin)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.custom.forms.editcustomform)
W: no module named openlp.core.lib.translate (top-level import by openlp.core.lib.spelltextedit)
W: no module named openlp.core.lib.html_expands (top-level import by openlp.core.lib.spelltextedit)
W: no module named openlp.core.lib.context_menu_action (top-level import by openlp.plugins.images.lib.mediaitem)
W: no module named sqlalchemy.Column (top-level import by openlp.plugins.songs.lib.db)
W: no module named py2exe (delayed import by enchant.tests)
W: no module named openlp.plugins.songs.forms.AuthorsForm (top-level import by openlp.plugins.songs.forms.songmaintenanceform)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.songs.forms.authorsform)
W: no module named openlp.plugins.remotes.lib.HttpServer (top-level import by openlp.plugins.remotes.remoteplugin)
W: no module named sqlalchemy.Table (top-level import by openlp.plugins.bibles.lib.db)
W: no module named openlp.core.lib.Plugin (top-level import by openlp.plugins.remotes.remoteplugin)
W: no module named openlp.core.lib.translate (top-level import by openlp.core.ui.filerenamedialog)
W: no module named openlp.core.lib.BaseListWithDnD (top-level import by openlp.plugins.media.lib.mediaitem)
W: no module named sapdb (delayed import by sqlalchemy.databases.maxdb)
W: no module named ctypes.cdll (delayed import by ctypes.util)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.presentations.lib.presentationtab)
W: no module named openlp.core.lib.MediaManagerItem (top-level import by openlp.plugins.presentations.lib.mediaitem)
W: no module named sqlalchemy.sql.text (top-level import by sqlalchemy)
W: no module named openlp.core.lib.image_to_byte (top-level import by openlp.core.lib.renderer)
W: no module named openlp.core.utils.AppLocation (top-level import by openlp.plugins.bibles.forms.importwizardform)
W: no module named openlp.core.lib.image_to_byte (top-level import by openlp.core.ui.maindisplay)
W: no module named iconv_codec (top-level import by BeautifulSoup)
W: no module named openlp.plugins.songs.forms.SongBookForm (top-level import by openlp.plugins.songs.forms.songmaintenanceform)
W: no module named sqlalchemy.sql.not_ (top-level import by sqlalchemy)
W: no module named multiprocessing.Pipe (top-level import by multiprocessing.queues)
W: no module named openlp.core.lib.check_item_selected (top-level import by openlp.plugins.images.lib.mediaitem)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.songusage.forms.songusagedetailform)
W: no module named sqlalchemy.sql.subquery (top-level import by sqlalchemy)
W: no module named openlp.core.lib.build_icon (top-level import by openlp.plugins.songs.songsplugin)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.songs.forms.editsongdialog)
W: no module named openlp.core.lib.Plugin (top-level import by openlp.plugins.bibles.bibleplugin)
W: no module named openlp.plugins.songs.forms.SongMaintenanceForm (top-level import by openlp.plugins.songs.lib.mediaitem)
W: no module named xmlparse (top-level import by pyexpat)
W: no module named sqlalchemy.sql.exists (top-level import by sqlalchemy)
W: no module named sqlalchemy.sql.and_ (top-level import by openlp.plugins.songs.forms.songmaintenanceform)
W: no module named multiprocessing.Process (top-level import by multiprocessing.pool)
W: no module named openlp.core.lib.translate (top-level import by openlp.core.ui.settingsdialog)
W: no module named sqlalchemy.exceptions (top-level import by openlp.core.lib.db)
W: no module named sqlalchemy.sql.outerjoin (top-level import by sqlalchemy)
W: no module named openlp.core.lib.build_icon (top-level import by openlp.plugins.songs.forms.editsongdialog)
W: no module named openlp.plugins.custom.lib.CustomXMLParser (top-level import by openlp.plugins.custom.lib.mediaitem)
W: no module named openlp.core.lib.build_icon (top-level import by openlp.plugins.custom.forms.editcustomdialog)
W: no module named sqlalchemy.Integer (top-level import by sqlalchemy.databases.sybase)
W: no module named sqlalchemy.exceptions (top-level import by sqlalchemy.orm.properties)
W: no module named multiprocessing.current_process (top-level import by multiprocessing.managers)
W: no module named openlp.core.ui.SplashScreen (top-level import by __main__)
W: no module named multiprocessing.TimeoutError (top-level import by multiprocessing.dummy)
W: no module named openlp.core.lib.SettingsManager (top-level import by openlp.plugins.songs.forms.songimportform)
W: no module named xml.dom.XMLNS_NAMESPACE (top-level import by xml.dom.expatbuilder)
W: no module named ctypes.c_int32 (delayed import by urllib)
W: no module named openlp.core.lib.translate (top-level import by openlp.core.ui.amendthemedialog)
W: no module named openlp.core.lib.build_icon (top-level import by openlp.core.lib.serviceitem)
W: no module named openlp.core.utils.LanguageManager (top-level import by __main__)
W: no module named sqlalchemy.orm.object_mapper (top-level import by sqlalchemy.orm.properties)
W: no module named openlp.core.utils.AppLocation (top-level import by openlp.core.utils.languagemanager)
W: no module named sqlalchemy.sql.literal_column (top-level import by sqlalchemy)
W: no module named openlp.plugins.songs.lib.SongXMLParser (top-level import by openlp.plugins.songs.lib.mediaitem)
W: no module named ctypes.c_char_p (delayed import by urllib)
W: no module named openlp.core.lib.Plugin (top-level import by openlp.plugins.images.imageplugin)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.remotes.lib.remotetab)
W: no module named openlp.core.lib.build_icon (top-level import by openlp.core.ui.mainwindow)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.bibles.lib.opensong)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.songs.forms.songimportform)
W: no module named sqlalchemy.sql.select (top-level import by sqlalchemy)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.songs.forms.songbookdialog)
W: no module named openlp.plugins.bibles.lib.BibleMediaItem (top-level import by openlp.plugins.bibles.bibleplugin)
W: no module named PyQt4._qt (top-level import by PyQt4.QtNetwork)
W: no module named openlp.core.lib.Plugin (top-level import by openlp.plugins.songs.songsplugin)
W: no module named sqlalchemy.sql.case (top-level import by sqlalchemy)
W: no module named wx (top-level import by enchant.checker.wxSpellCheckerDialog)
W: no module named openlp.core.lib.build_icon (top-level import by openlp.plugins.alerts.alertsplugin)
W: no module named com (conditional import by openlp.plugins.songs.lib.sofimport)
W: no module named PyQt4._qt (top-level import by PyQt4)
W: no module named SOCKS (top-level import by ftplib)
W: no module named openlp.plugins.songusage.forms.SongUsageDetailForm (top-level import by openlp.plugins.songusage.songusageplugin)
W: no module named sqlalchemy.sql.null (top-level import by sqlalchemy)
W: no module named sqlalchemy.MetaData (top-level import by openlp.core.lib.db)
W: no module named openlp.core.lib.ItemCapabilities (top-level import by openlp.core.ui.servicemanager)
W: no module named openlp.plugins.custom.forms.EditCustomForm (top-level import by openlp.plugins.custom.customplugin)
W: no module named org (delayed import by xml.sax)
W: no module named openlp.core.lib.SpellTextEdit (top-level import by openlp.plugins.songs.forms.editversedialog)
W: no module named sqlalchemy.orm.EXT_CONTINUE (top-level import by sqlalchemy.orm.scoping)
W: no module named openlp.core.lib.build_lyrics_outline_css (top-level import by openlp.core.lib.renderer)
W: no module named openlp.plugins.songs.lib.VerseType (top-level import by openlp.plugins.songs.forms.editverseform)
W: no module named com (conditional import by openlp.plugins.songs.lib.oooimport)
W: no module named openlp.core.lib.str_to_bool (top-level import by openlp.core.lib.theme)
W: no module named sqlalchemy.sql.literal (top-level import by sqlalchemy)
W: no module named termios (top-level import by getpass)
W: no module named openlp.core.lib.build_lyrics_format_css (top-level import by openlp.core.lib.renderer)
W: no module named ctypes.byref (delayed import by urllib)
W: no module named openlp.plugins.custom.lib.CustomTab (top-level import by openlp.plugins.custom.customplugin)
W: no module named openlp.core.lib.BaseListWithDnD (top-level import by openlp.plugins.songs.lib.mediaitem)
W: no module named openlp.core.lib.build_icon (top-level import by openlp.plugins.images.lib.mediaitem)
W: no module named openlp.plugins.bibles.lib.parse_reference (top-level import by openlp.plugins.bibles.lib.manager)
W: no module named java (delayed import by platform)
W: no module named openlp.core.ui.ServiceItemEditForm (top-level import by openlp.core.ui.servicemanager)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.custom.customplugin)
W: no module named openlp.core.lib.ThemeLevel (top-level import by openlp.core.lib.rendermanager)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.bibles.lib.db)
W: no module named _xmlrpclib (top-level import by xmlrpclib)
W: no module named openlp.core.lib.SettingsManager (top-level import by openlp.plugins.presentations.lib.mediaitem)
W: no module named openlp.plugins.media.lib.MediaMediaItem (top-level import by openlp.plugins.media.mediaplugin)
W: no module named openlp.plugins.custom.lib.CustomXMLBuilder (top-level import by openlp.plugins.custom.forms.editcustomform)
W: no module named rourl2path (conditional import by urllib)
W: no module named pwd (delayed import by webbrowser)
W: no module named openlp.core.lib.Receiver (top-level import by openlp.core.ui.themestab)
W: no module named PyQt4._qt (top-level import by PyQt4.QtWebKit)
W: no module named sqlalchemy.orm.class_mapper (delayed, conditional import by sqlalchemy.orm.interfaces)
W: no module named PyQt4._qt (top-level import by PyQt4.phonon)
W: no module named openlp.core.ui.HideMode (top-level import by openlp.plugins.presentations.lib.messagelistener)
W: no module named openlp.plugins.songusage.forms.SongUsageDeleteForm (top-level import by openlp.plugins.songusage.songusageplugin)
W: no module named openlp.core.lib.context_menu_separator (top-level import by openlp.core.ui.thememanager)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.media.lib.mediaitem)
W: no module named openlp.core.lib.translate (top-level import by openlp.core.ui.plugindialog)
W: no module named fcntl (conditional import by subprocess)
W: no module named openlp.core.lib.BaseListWithDnD (top-level import by openlp.plugins.bibles.lib.mediaitem)
W: no module named openlp.core.lib.PluginStatus (top-level import by openlp.core.lib.pluginmanager)
W: no module named openlp.core.lib.Receiver (top-level import by openlp.plugins.songs.forms.editsongform)
W: no module named openlp.core.ui.ScreenList (top-level import by __main__)
W: no module named sqlalchemy.or_ (top-level import by openlp.plugins.bibles.lib.db)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.songs.forms.editsongform)
W: no module named openlp.plugins.songs.forms.ImportWizardForm (top-level import by openlp.plugins.songs.lib.mediaitem)
W: no module named openlp.core.lib.check_item_selected (top-level import by openlp.core.ui.thememanager)
W: no module named openlp.core.ui.ThemeManager (top-level import by openlp.core.ui.mainwindow)
W: no module named pyodbc (delayed, conditional import by sqlalchemy.databases.mssql)
W: no module named openlp.core.utils.AppLocation (top-level import by openlp.core.ui.servicemanager)
W: no module named openlp.core.lib.translate (top-level import by openlp.core.lib.mediamanageritem)
W: no module named openlp.core.lib.Receiver (top-level import by openlp.plugins.bibles.lib.biblestab)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.songusage.songusageplugin)
W: no module named multiprocessing.active_children (top-level import by multiprocessing.managers)
W: no module named openlp.plugins.songs.forms.EditSongForm (top-level import by openlp.plugins.songs.lib.mediaitem)
W: no module named email.Generator (delayed import by email.message)
W: no module named mx (delayed import by sqlalchemy.databases.mxODBC)
W: no module named sqlalchemy.sql.or_ (top-level import by sqlalchemy)
W: no module named sqlalchemy.Table (top-level import by openlp.plugins.custom.lib.db)
W: no module named sqlalchemy.Table (top-level import by sqlalchemy.databases.sybase)
W: no module named openlp.core.lib.get_text_file_string (top-level import by openlp.core.ui.thememanager)
W: no module named sqlalchemy.orm.object_session (top-level import by sqlalchemy.orm.scoping)
W: no module named openlp.core.lib.MediaManagerItem (top-level import by openlp.plugins.bibles.lib.mediaitem)
W: no module named sqlalchemy.Table (top-level import by sqlalchemy.databases.mssql)
W: no module named openlp.core.utils.AppLocation (top-level import by openlp.core.ui.mainwindow)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.bibles.forms.bibleimportwizard)
W: no module named openlp.core.lib.resize_image (top-level import by openlp.core.lib.renderer)
W: no module named pymssql (delayed import by sqlalchemy.databases.mssql)
W: no module named sqlalchemy.orm.sessionmaker (top-level import by openlp.plugins.songs.lib.olpimport)
W: no module named openlp.core.lib.context_menu_action (top-level import by openlp.core.ui.thememanager)
W: no module named openlp.core.lib.expand_tags (top-level import by openlp.core.lib.serviceitem)
W: no module named gestalt (delayed import by platform)
W: no module named enchant.checker.SpellChecker (top-level import by enchant.checker.CmdLineChecker)
W: no module named openlp.core.lib.translate (top-level import by openlp.core.ui.themestab)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.songs.lib.olp1import)
W: no module named openlp.core.lib.Receiver (top-level import by openlp.plugins.presentations.lib.messagelistener)
W: no module named sqlalchemy.exceptions (top-level import by sqlalchemy.orm.interfaces)
W: no module named sqlalchemy.orm.object_mapper (top-level import by sqlalchemy.orm.query)
W: no module named sqlalchemy.sql.distinct (top-level import by sqlalchemy)
W: no module named openlp.core.lib.context_menu_action (top-level import by openlp.plugins.media.lib.mediaitem)
W: no module named sqlalchemy.sql.extract (top-level import by sqlalchemy)
W: no module named sqlalchemy.Column (top-level import by openlp.plugins.bibles.lib.db)
W: no module named psycopg2 (delayed import by sqlalchemy.databases.postgres)
W: no module named enchant.checker.SpellChecker (delayed import by enchant.checker.GtkSpellCheckerDialog)
W: no module named clr (conditional import by adodbapi.adodbapi)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.images.lib.mediaitem)
W: no module named openlp.plugins.custom.lib.CustomXMLParser (top-level import by openlp.plugins.custom.forms.editcustomform)
W: no module named openlp.core.theme.Theme (top-level import by openlp.core.ui.thememanager)
W: no module named openlp.core.lib.Receiver (top-level import by openlp.plugins.custom.forms.editcustomform)
W: no module named openlp.core.lib.Receiver (top-level import by openlp.plugins.songs.lib.mediaitem)
W: no module named openlp.core.utils.AppLocation (top-level import by openlp.core.lib.settingsmanager)
W: no module named openlp.core.lib.Receiver (top-level import by __main__)
W: no module named openlp.core.lib.SettingsManager (top-level import by openlp.plugins.bibles.lib.manager)
W: no module named org (top-level import by pickle)
W: no module named enchant.DictNotFoundError (top-level import by openlp.core.lib.spelltextedit)
W: no module named sqlalchemy.sql.except_all (top-level import by sqlalchemy)
W: no module named openlp.plugins.presentations.lib.PresentationTab (top-level import by openlp.plugins.presentations.presentationplugin)
W: no module named sqlalchemy.sql.cast (top-level import by sqlalchemy)
W: no module named sqlalchemy.orm.relation (top-level import by openlp.plugins.songs.lib.db)
W: no module named openlp.core.lib.build_icon (top-level import by openlp.core.ui.settingsdialog)
W: no module named openlp.core.utils.LanguageManager (top-level import by openlp.core.ui.mainwindow)
W: no module named openlp.core.lib.ItemCapabilities (top-level import by openlp.plugins.media.lib.mediaitem)
W: no module named sqlalchemy.sql.intersect (top-level import by sqlalchemy)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.songs.lib.songimport)
W: no module named sqlalchemy.orm.class_mapper (top-level import by sqlalchemy.orm.scoping)
W: no module named sqlalchemy.exceptions (top-level import by sqlalchemy.orm.util)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.songs.lib.opensongimport)
W: no module named openlp.core.lib.SettingsTab (top-level import by openlp.plugins.bibles.lib.biblestab)
W: no module named openlp.core.lib.translate (top-level import by openlp.core.ui.aboutform)
W: no module named openlp.plugins.custom.lib.CustomMediaItem (top-level import by openlp.plugins.custom.customplugin)
W: no module named sqlalchemy.orm.scoped_session (top-level import by openlp.plugins.songs.lib.olpimport)
W: no module named openlp.core.lib.translate (top-level import by openlp.core.ui.amendthemeform)
W: no module named sqlalchemy.engine.engine_from_config (top-level import by sqlalchemy)
W: no module named openlp.core.lib.SettingsTab (top-level import by openlp.core.ui.themestab)
W: no module named openlp.core.lib.OpenLPToolbar (top-level import by openlp.core.ui.servicemanager)
W: no module named openlp.core.lib.Receiver (top-level import by openlp.core.ui.maindisplay)
W: no module named openlp.core.lib.PluginStatus (top-level import by openlp.core.ui.pluginform)
W: no module named openlp.core.lib.Receiver (top-level import by openlp.plugins.bibles.lib.http)
W: no module named openlp.core.utils.AppLocation (top-level import by openlp.plugins.remotes.lib.httpserver)
W: no module named sqlalchemy.Table (top-level import by openlp.plugins.songs.lib.db)
W: no module named openlp.core.lib.translate (top-level import by openlp.core.utils)
W: no module named openlp.core.lib.RenderManager (top-level import by openlp.core.ui.mainwindow)
W: no module named openlp.core.lib.Plugin (top-level import by openlp.plugins.alerts.alertsplugin)
W: no module named openlp.core.lib.Receiver (top-level import by openlp.core.lib.plugin)
W: no module named sqlalchemy.ForeignKey (top-level import by openlp.plugins.bibles.lib.db)
W: no module named openlp.plugins.songs.lib.SongMediaItem (top-level import by openlp.plugins.songs.songsplugin)
W: no module named sqlalchemy.Index (top-level import by openlp.plugins.songs.lib.db)
W: no module named multiprocessing.TimeoutError (top-level import by multiprocessing.pool)
W: no module named openlp.core.lib.build_icon (top-level import by openlp.plugins.songusage.forms.songusagedetaildialog)
W: no module named enchant.DictWithPWL (delayed import by enchant.checker.tests)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.songs.lib.songstab)
W: no module named openlp.core.ui.AdvancedTab (top-level import by openlp.core.ui.settingsform)
W: no module named MySQLdb (delayed import by sqlalchemy.databases.mysql)
W: no module named openlp.plugins.presentations.lib.PresentationMediaItem (top-level import by openlp.plugins.presentations.presentationplugin)
W: no module named openlp.plugins.alerts.forms.AlertForm (top-level import by openlp.plugins.alerts.alertsplugin)
W: no module named ctypes.c_int (delayed import by urllib)
W: no module named xml.dom.XML_NAMESPACE (delayed import by xml.dom.pulldom)
W: no module named ctypes.c_void_p (delayed import by urllib)
W: no module named openlp.core.utils.AppLocation (top-level import by openlp.plugins.bibles.lib.osis)
W: no module named sqlalchemy.create_engine (top-level import by openlp.core.lib.db)
W: no module named win32com.client._get_good_object_ (top-level import by win32com.client.util)
W: no module named openlp.core.ui.MainDisplay (top-level import by openlp.core.ui.slidecontroller)
W: no module named openlp.core.lib.resize_image (top-level import by openlp.plugins.presentations.lib.presentationcontroller)
W: no module named openlp.core.lib.SettingsTab (top-level import by openlp.plugins.remotes.lib.remotetab)
W: no module named openlp.core.ui.MediaDockManager (top-level import by openlp.core.ui.mainwindow)
W: no module named sqlalchemy.exceptions (top-level import by sqlalchemy.orm.session)
W: no module named sqlalchemy.Column (top-level import by sqlalchemy.databases.mssql)
W: no module named openlp.core.lib.build_icon (top-level import by openlp.plugins.songs.forms.editversedialog)
W: no module named multiprocessing.Process (top-level import by multiprocessing.managers)
W: no module named openlp.core.lib.Receiver (top-level import by openlp.plugins.presentations.lib.presentationcontroller)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.songs.lib.mediaitem)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.custom.forms.editcustomdialog)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.alerts.lib.alertsmanager)
W: no module named sgmlop (top-level import by xmlrpclib)
W: no module named MacOS (conditional import by py_compile)
W: no module named multiprocessing.cpu_count (top-level import by multiprocessing.dummy)
W: no module named _dummy_threading (top-level import by dummy_threading)
W: no module named openlp.core.lib.translate (top-level import by openlp.core.ui.mainwindow)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.songs.forms.songmaintenanceform)
W: no module named openlp.plugins.presentations.lib.PresentationController (top-level import by openlp.plugins.presentations.presentationplugin)
W: no module named openlp.core.lib.OpenLPToolbar (top-level import by openlp.core.lib.mediamanageritem)
W: no module named sqlalchemy.sql.union_all (top-level import by sqlalchemy)
W: no module named openlp.core.lib.Receiver (top-level import by openlp.plugins.bibles.lib.opensong)
W: no module named openlp.core.lib.ItemCapabilities (top-level import by openlp.plugins.bibles.lib.mediaitem)
W: no module named openlp.core.lib.Receiver (top-level import by openlp.plugins.bibles.lib.osis)
W: no module named openlp.core.lib.Receiver (top-level import by openlp.core.ui.settingsform)
W: no module named enchant.tokenize.get_tokenizer (top-level import by enchant.checker)
W: no module named openlp.core.utils.AppLocation (top-level import by openlp.plugins.bibles.lib.manager)
W: no module named org (top-level import by copy)
W: no module named openlp.core.lib.Receiver (top-level import by openlp.core.ui.thememanager)
W: no module named openlp.core.lib.SettingsManager (top-level import by openlp.core.ui.servicemanager)
W: no module named sqlalchemy.MetaData (top-level import by openlp.plugins.songs.lib.olpimport)
W: no module named openlp.core.lib.build_icon (top-level import by openlp.plugins.songs.forms.songmaintenancedialog)
W: no module named sqlalchemy.sql.select (top-level import by sqlalchemy.databases.mssql)
W: no module named openlp.core.lib.SettingsManager (top-level import by openlp.plugins.bibles.forms.importwizardform)
W: no module named multiprocessing.current_process (top-level import by multiprocessing.connection)
W: no module named sqlalchemy.orm.sessionmaker (top-level import by openlp.core.lib.db)
W: no module named sqlalchemy.sql.desc (top-level import by sqlalchemy)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.songusage.forms.songusagedeletedialog)
W: no module named openlp.core.lib.Receiver (top-level import by openlp.plugins.bibles.lib.mediaitem)
W: no module named ctypes.cdll (delayed import by urllib)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.songs.lib)
W: no module named openlp.core.lib.build_icon (top-level import by openlp.plugins.media.mediaplugin)
W: no module named openlp.core.lib.SettingsTab (top-level import by openlp.plugins.presentations.lib.presentationtab)
W: no module named MySQLdb (delayed, conditional import by sqlalchemy.databases.mysql)
W: no module named openlp.core.lib.build_icon (top-level import by openlp.plugins.presentations.lib.mediaitem)
W: no module named openlp.core.lib.MediaManagerItem (top-level import by openlp.plugins.media.lib.mediaitem)
W: no module named sqlalchemy.orm.object_session (top-level import by sqlalchemy.orm.dynamic)
W: no module named sqlalchemy.sql.modifier (top-level import by sqlalchemy)
W: no module named _xmlplus (top-level import by xml)
W: no module named sqlalchemy.Column (top-level import by openlp.plugins.songusage.lib.db)
W: no module named openlp.core.lib.translate (top-level import by openlp.core.ui.advancedtab)
W: no module named sqlalchemy.sql.and_ (top-level import by sqlalchemy)
W: no module named sqlalchemy.MetaData (top-level import by sqlalchemy.databases.mssql)
W: no module named sqlalchemy.exceptions (top-level import by sqlalchemy.orm.dependency)
W: no module named openlp.core.lib.ThemeLevel (top-level import by openlp.core.ui.themestab)
W: no module named openlp.core.lib.Receiver (top-level import by openlp.plugins.presentations.lib.presentationtab)
W: no module named openlp.core.utils.get_images_filter (top-level import by openlp.core.ui.amendthemeform)
W: no module named openlp.core.utils.AppLocation (top-level import by openlp.plugins.presentations.presentationplugin)
W: no module named openlp.plugins.presentations.lib.MessageListener (top-level import by openlp.plugins.presentations.lib.mediaitem)
W: no module named openlp.plugins.bibles.forms.ImportWizardForm (top-level import by openlp.plugins.bibles.lib.mediaitem)
W: no module named openlp.core.utils.AppLocation (top-level import by __main__)
W: no module named sqlalchemy.ForeignKey (top-level import by openlp.plugins.songs.lib.db)
W: no module named openlp.core.lib.OpenLPToolbar (top-level import by openlp.core.ui.thememanager)
W: no module named ctypes.cdll (conditional import by openlp.plugins.presentations.lib.pptviewcontroller)
W: no module named pwd (delayed import by getpass)
W: no module named sqlalchemy.sql.and_ (top-level import by openlp.plugins.songusage.forms.songusagedetailform)
W: no module named openlp.core.lib.build_icon (top-level import by openlp.core.ui.amendthemedialog)
W: no module named openlp.core.lib.build_icon (top-level import by openlp.plugins.songs.forms.songimportwizard)
W: no module named openlp.core.lib.translate (top-level import by openlp.core.ui.serviceitemeditdialog)
W: no module named openlp.core.lib.resize_image (top-level import by openlp.core.ui.maindisplay)
W: no module named openlp.core.lib.BaseListWithDnD (top-level import by openlp.plugins.custom.lib.mediaitem)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.songs.forms.topicsdialog)
W: no module named PyQt4._qt (top-level import by PyQt4.QtGui)
W: no module named sqlalchemy.sql.update (top-level import by sqlalchemy)
W: no module named multiprocessing.current_process (delayed, conditional import by logging)
W: no module named multiprocessing.Pool (top-level import by multiprocessing.managers)
W: no module named sqlalchemy.create_engine (delayed, conditional import by sqlalchemy.schema)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.bibles.forms.importwizardform)
W: no module named openlp.core.lib.context_menu_action (top-level import by openlp.core.lib.mediamanageritem)
W: no module named posix (conditional import by os)
W: no module named sqlalchemy.sql.bindparam (top-level import by sqlalchemy)
W: no module named xml.dom.DOMImplementation (top-level import by xml.dom.domreg)
W: no module named openlp.core.utils.add_actions (top-level import by openlp.core.ui.mainwindow)
W: no module named sqlalchemy.create_engine (top-level import by openlp.plugins.songs.lib.olpimport)
W: no module named multiprocessing.cpu_count (top-level import by multiprocessing.pool)
W: no module named multiprocessing.AuthenticationError (top-level import by multiprocessing.connection)
W: no module named openlp.core.ui.ThemesTab (top-level import by openlp.core.ui.settingsform)
W: no module named openlp.core.lib.check_item_selected (top-level import by openlp.plugins.media.lib.mediaitem)
W: no module named sqlalchemy.orm.class_mapper (top-level import by openlp.plugins.bibles.lib.db)
W: no module named sqlalchemy.String (top-level import by sqlalchemy.databases.sybase)
W: no module named openlp.core.lib.context_menu_action (top-level import by openlp.core.ui.servicemanager)
W: no module named openlp.core.utils.AppLocation (top-level import by openlp.plugins.images.lib.mediaitem)
W: no module named pwd (delayed, conditional import by posixpath)
W: no module named sqlalchemy.exceptions (top-level import by sqlalchemy.orm.strategies)
W: no module named mx (top-level import by adodbapi.adodbapi)
W: no module named sqlalchemy.sql.alias (top-level import by sqlalchemy)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.songs.forms.authorsdialog)
W: no module named sqlalchemy.Table (top-level import by openlp.plugins.alerts.lib.db)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.bibles.lib.mediaitem)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.images.imageplugin)
W: no module named sqlalchemy.orm.mapperlib (delayed import by sqlalchemy.orm.util)
W: no module named openlp.core.lib.ServiceItem (top-level import by openlp.core.lib.rendermanager)
W: no module named openlp.core.lib.OpenLPDockWidget (top-level import by openlp.core.ui.mainwindow)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.songs.forms.songimportwizard)
W: no module named openlp.core.lib.Plugin (top-level import by openlp.plugins.songusage.songusageplugin)
W: no module named openlp.core.utils.AppLocation (top-level import by openlp.plugins.presentations.lib.presentationcontroller)
W: no module named openlp.core.lib.context_menu_action (top-level import by openlp.core.lib.spelltextedit)
W: no module named openlp.core.lib.build_icon (top-level import by openlp.core.ui.thememanager)
W: no module named openlp.core.lib.check_item_selected (top-level import by openlp.plugins.presentations.lib.mediaitem)
W: no module named openlp.core.lib.translate (top-level import by openlp.core.ui.pluginform)
W: no module named enchant.checker.SpellChecker (delayed import by enchant.checker.wxSpellCheckerDialog)
W: no module named sqlalchemy.DefaultClause (top-level import by sqlalchemy.databases.sqlite)
W: no module named openlp.core.lib.ServiceItem (top-level import by openlp.core.ui.servicemanager)
W: no module named openlp.core.lib.ItemCapabilities (top-level import by openlp.core.ui.slidecontroller)
W: no module named openlp.core.utils.get_images_filter (top-level import by openlp.plugins.images.lib.mediaitem)
W: no module named pyodbc (delayed import by sqlalchemy.databases.mssql)
W: no module named openlp.core.lib.OpenLPToolbar (top-level import by openlp.core.ui.slidecontroller)
W: no module named System (conditional import by adodbapi.adodbapi)
W: no module named openlp.core.lib.SettingsTab (top-level import by openlp.plugins.custom.lib.customtab)
W: no module named openlp.core.lib.Receiver (top-level import by openlp.plugins.bibles.lib.csvbible)
W: no module named openlp.core.lib.translate (top-level import by openlp.core.ui.generaltab)
W: no module named openlp.core.lib.ThemeLevel (top-level import by openlp.core.ui.servicemanager)
W: no module named sqlalchemy.exceptions (top-level import by sqlalchemy.orm.scoping)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.alerts.forms.alertform)
W: no module named mypyodbc (delayed import by sqlalchemy.databases.sybase)
W: no module named sqlalchemy.sql.intersect_all (top-level import by sqlalchemy)
W: no module named openlp.core.lib.translate (top-level import by openlp.plugins.presentations.lib.mediaitem)
W: __all__ is built strangely at line 0 - dummy_threading (C:\Python26\lib\dummy_threading.pyc)
W: delayed exec statement detected at line 0 - bdb (C:\Python26\lib\bdb.pyc)
W: delayed eval hack detected at line 0 - bdb (C:\Python26\lib\bdb.pyc)
W: delayed eval hack detected at line 0 - bdb (C:\Python26\lib\bdb.pyc)
W: delayed __import__ hack detected at line 0 - optparse (C:\Python26\lib\optparse.pyc)
W: delayed conditional __import__ hack detected at line 0 - pkg_resources (build/bdist.linux-i686/egg/pkg_resources.pyc)
W: delayed conditional exec statement detected at line 0 - pkg_resources (build/bdist.linux-i686/egg/pkg_resources.pyc)
W: delayed conditional __import__ hack detected at line 0 - pkg_resources (build/bdist.linux-i686/egg/pkg_resources.pyc)
W: delayed __import__ hack detected at line 0 - pkg_resources (build/bdist.linux-i686/egg/pkg_resources.pyc)
W: delayed conditional __import__ hack detected at line 0 - doctest (C:\Python26\lib\doctest.pyc)
W: delayed exec statement detected at line 0 - doctest (C:\Python26\lib\doctest.pyc)
W: delayed conditional __import__ hack detected at line 0 - doctest (C:\Python26\lib\doctest.pyc)
W: __all__ is built strangely at line 0 - sqlalchemy.orm.interfaces (C:\Python26\lib\site-packages\sqlalchemy-0.5.8-py2.6.egg\sqlalchemy\orm\interfaces.pyc)
W: __all__ is built strangely at line 0 - tokenize (C:\Python26\lib\tokenize.pyc)
W: __all__ is built strangely at line 0 - sqlalchemy.engine (C:\Python26\lib\site-packages\sqlalchemy-0.5.8-py2.6.egg\sqlalchemy\engine\__init__.pyc)
W: delayed __import__ hack detected at line 0 - pickle (C:\Python26\lib\pickle.pyc)
W: delayed __import__ hack detected at line 0 - pickle (C:\Python26\lib\pickle.pyc)
W: top-level conditional exec statement detected at line 0 - sqlalchemy.sql.util (C:\Python26\lib\site-packages\sqlalchemy-0.5.8-py2.6.egg\sqlalchemy\sql\util.pyc)
W: top-level conditional exec statement detected at line 0 - sqlalchemy.sql.util (C:\Python26\lib\site-packages\sqlalchemy-0.5.8-py2.6.egg\sqlalchemy\sql\util.pyc)
W: delayed conditional __import__ hack detected at line 0 - openlp.core.lib.pluginmanager (c:\Documents and Settings\raoul\My Documents\My Projects\openlp\movements\openlp\core\lib\pluginmanager.pyc)
W: delayed conditional exec statement detected at line 0 - multiprocessing.sharedctypes (C:\Python26\lib\multiprocessing\sharedctypes.pyc)
W: delayed __import__ hack detected at line 0 - encodings (C:\Python26\lib\encodings\__init__.pyc)
W: __all__ is built strangely at line 0 - sqlalchemy.databases.mysql (C:\Python26\lib\site-packages\sqlalchemy-0.5.8-py2.6.egg\sqlalchemy\databases\mysql.pyc)
W: delayed exec statement detected at line 0 - sqlalchemy.orm.attributes (C:\Python26\lib\site-packages\sqlalchemy-0.5.8-py2.6.egg\sqlalchemy\orm\attributes.pyc)
W: delayed conditional __import__ hack detected at line 0 - openlp.plugins.presentations.presentationplugin (c:\Documents and Settings\raoul\My Documents\My Projects\openlp\movements\openlp\plugins\presentations\presentationplugin.pyc)
W: delayed __import__ hack detected at line 0 - enchant.tokenize (C:\Python26\lib\site-packages\enchant\tokenize\__init__.pyc)
W: __all__ is built strangely at line 0 - multiprocessing (C:\Python26\lib\multiprocessing\__init__.pyc)
W: __all__ is built strangely at line 0 - dis (C:\Python26\lib\dis.pyc)
W: __all__ is built strangely at line 0 - sqlalchemy.databases (C:\Python26\lib\site-packages\sqlalchemy-0.5.8-py2.6.egg\sqlalchemy\databases\__init__.pyc)
W: delayed __import__ hack detected at line 0 - win32com.server.policy (C:\Python26\lib\site-packages\win32com\server\policy.pyc)
W: __all__ is built strangely at line 0 - sqlalchemy.orm.mapper (C:\Python26\lib\site-packages\sqlalchemy-0.5.8-py2.6.egg\sqlalchemy\orm\mapper.pyc)
W: top-level exec statement detected at line 0 - hashlib (C:\Python26\lib\hashlib.pyc)
W: top-level conditional exec statement detected at line 0 - hashlib (C:\Python26\lib\hashlib.pyc)
W: delayed conditional eval hack detected at line 0 - warnings (C:\Python26\lib\warnings.pyc)
W: delayed conditional __import__ hack detected at line 0 - warnings (C:\Python26\lib\warnings.pyc)
W: delayed exec statement detected at line 0 - cgi (C:\Python26\lib\cgi.pyc)
W: delayed __import__ hack detected at line 0 - email (C:\Python26\lib\email\__init__.pyc)
W: __all__ is built strangely at line 0 - sqlalchemy.orm (C:\Python26\lib\site-packages\sqlalchemy-0.5.8-py2.6.egg\sqlalchemy\orm\__init__.pyc)
W: delayed __import__ hack detected at line 0 - ctypes (C:\Python26\lib\ctypes\__init__.pyc)
W: delayed __import__ hack detected at line 0 - ctypes (C:\Python26\lib\ctypes\__init__.pyc)
W: delayed conditional __import__ hack detected at line 0 - xml.dom.domreg (C:\Python26\lib\xml\dom\domreg.pyc)
W: delayed exec statement detected at line 0 - pdb (C:\Python26\lib\pdb.pyc)
W: delayed conditional eval hack detected at line 0 - pdb (C:\Python26\lib\pdb.pyc)
W: delayed eval hack detected at line 0 - pdb (C:\Python26\lib\pdb.pyc)
W: delayed conditional eval hack detected at line 0 - pdb (C:\Python26\lib\pdb.pyc)
W: delayed eval hack detected at line 0 - pdb (C:\Python26\lib\pdb.pyc)
W: delayed conditional __import__ hack detected at line 0 - unittest (C:\Python26\lib\unittest.pyc)
W: delayed conditional __import__ hack detected at line 0 - unittest (C:\Python26\lib\unittest.pyc)
W: delayed conditional __import__ hack detected at line 0 - pkgutil (C:\Python26\lib\pkgutil.pyc)
W: delayed conditional __import__ hack detected at line 0 - pkgutil (C:\Python26\lib\pkgutil.pyc)
W: __all__ is built strangely at line 0 - sqlalchemy.orm.properties (C:\Python26\lib\site-packages\sqlalchemy-0.5.8-py2.6.egg\sqlalchemy\orm\properties.pyc)
W: delayed conditional exec statement detected at line 0 - iu (c:\Documents and Settings\raoul\My Documents\My Projects\pyinstaller\iu.pyc)
W: delayed conditional exec statement detected at line 0 - iu (c:\Documents and Settings\raoul\My Documents\My Projects\pyinstaller\iu.pyc)
W: __all__ is built strangely at line 0 - sqlalchemy.sql (C:\Python26\lib\site-packages\sqlalchemy-0.5.8-py2.6.egg\sqlalchemy\sql\__init__.pyc)
W: __all__ is built strangely at line 0 - collections (C:\Python26\lib\collections.pyc)
W: delayed exec statement detected at line 0 - collections (C:\Python26\lib\collections.pyc)
W: delayed __import__ hack detected at line 0 - sqlalchemy.engine.url (C:\Python26\lib\site-packages\sqlalchemy-0.5.8-py2.6.egg\sqlalchemy\engine\url.pyc)
W: delayed exec statement detected at line 0 - multiprocessing.managers (C:\Python26\lib\multiprocessing\managers.pyc)
W: delayed exec statement detected at line 0 - socket (C:\Python26\lib\socket.pyc)
W: delayed conditional __import__ hack detected at line 0 - win32com.client.gencache (C:\Python26\lib\site-packages\win32com\client\gencache.pyc)
W: delayed __import__ hack detected at line 0 - win32com.client.gencache (C:\Python26\lib\site-packages\win32com\client\gencache.pyc)
W: delayed eval hack detected at line 0 - os (C:\Python26\lib\os.pyc)
W: __all__ is built strangely at line 0 - __future__ (C:\Python26\lib\__future__.pyc)
W: delayed __import__ hack detected at line 0 - win32com.client.makepy (C:\Python26\lib\site-packages\win32com\client\makepy.pyc)
W: delayed exec statement detected at line 0 - win32com.client.dynamic (C:\Python26\lib\site-packages\win32com\client\dynamic.pyc)
W: __all__ is built strangely at line 0 - sqlalchemy (C:\Python26\lib\site-packages\sqlalchemy-0.5.8-py2.6.egg\sqlalchemy\__init__.pyc)
W: delayed __import__ hack detected at line 0 - xml.sax (C:\Python26\lib\xml\sax\__init__.pyc)
W: delayed eval hack detected at line 0 - gettext (C:\Python26\lib\gettext.pyc)
W: delayed eval hack detected at line 0 - sqlalchemy.util (C:\Python26\lib\site-packages\sqlalchemy-0.5.8-py2.6.egg\sqlalchemy\util.pyc)
W: delayed exec statement detected at line 0 - sqlalchemy.util (C:\Python26\lib\site-packages\sqlalchemy-0.5.8-py2.6.egg\sqlalchemy\util.pyc)

View File

@ -63,6 +63,7 @@ IGNORED_PATHS = [u'scripts']
IGNORED_FILES = [u'setup.py'] IGNORED_FILES = [u'setup.py']
verbose_mode = False verbose_mode = False
quiet_mode = False
class Command(object): class Command(object):
""" """
@ -128,6 +129,20 @@ class CommandStack(object):
results.append(str((item[u'command'], ))) results.append(str((item[u'command'], )))
return u'[%s]' % u', '.join(results) return u'[%s]' % u', '.join(results)
def print_quiet(text, linefeed=True):
"""
This method checks to see if we are in quiet mode, and if not prints
``text`` out.
``text``
The text to print.
"""
global quiet_mode
if not quiet_mode:
if linefeed:
print text
else:
print text,
def print_verbose(text): def print_verbose(text):
""" """
@ -137,8 +152,8 @@ def print_verbose(text):
``text`` ``text``
The text to print. The text to print.
""" """
global verbose_mode global verbose_mode, quiet_mode
if verbose_mode: if not quiet_mode and verbose_mode:
print u' %s' % text print u' %s' % text
def run(command): def run(command):
@ -155,7 +170,6 @@ def run(command):
print_verbose(u'ReadyRead: %s' % QtCore.QString(process.readAll())) print_verbose(u'ReadyRead: %s' % QtCore.QString(process.readAll()))
print_verbose(u'Error(s):\n%s' % process.readAllStandardError()) print_verbose(u'Error(s):\n%s' % process.readAllStandardError())
print_verbose(u'Output:\n%s' % process.readAllStandardOutput()) print_verbose(u'Output:\n%s' % process.readAllStandardOutput())
print u' Done.'
def update_export_at_pootle(source_filename): def update_export_at_pootle(source_filename):
""" """
@ -170,7 +184,7 @@ def update_export_at_pootle(source_filename):
print_verbose(u'Accessing: %s' % (REVIEW_URL)) print_verbose(u'Accessing: %s' % (REVIEW_URL))
page = urllib.urlopen(REVIEW_URL) page = urllib.urlopen(REVIEW_URL)
page.close() page.close()
def download_file(source_filename, dest_filename): def download_file(source_filename, dest_filename):
""" """
@ -194,7 +208,7 @@ def download_translations():
""" """
This method downloads the translation files from the Pootle server. This method downloads the translation files from the Pootle server.
""" """
print 'Download translation files from Pootle' print_quiet(u'Download translation files from Pootle')
page = urllib.urlopen(SERVER_URL) page = urllib.urlopen(SERVER_URL)
soup = BeautifulSoup(page) soup = BeautifulSoup(page)
languages = soup.findAll(text=re.compile(r'.*\.ts')) languages = soup.findAll(text=re.compile(r'.*\.ts'))
@ -205,14 +219,14 @@ def download_translations():
language_file) language_file)
print_verbose(u'Get Translation File: %s' % filename) print_verbose(u'Get Translation File: %s' % filename)
download_file(language_file, filename) download_file(language_file, filename)
print u' Done.' print_quiet(u' Done.')
def prepare_project(): def prepare_project():
""" """
This method creates the project file needed to update the translation files This method creates the project file needed to update the translation files
and compile them into .qm files. and compile them into .qm files.
""" """
print u'Generating the openlp.pro file' print_quiet(u'Generating the openlp.pro file')
lines = [] lines = []
start_dir = os.path.abspath(u'..') start_dir = os.path.abspath(u'..')
start_dir = start_dir + os.sep start_dir = start_dir + os.sep
@ -251,10 +265,10 @@ def prepare_project():
file = open(os.path.join(start_dir, u'openlp.pro'), u'w') file = open(os.path.join(start_dir, u'openlp.pro'), u'w')
file.write(u'\n'.join(lines).encode('utf8')) file.write(u'\n'.join(lines).encode('utf8'))
file.close() file.close()
print u' Done.' print_quiet(u' Done.')
def update_translations(): def update_translations():
print u'Update the translation files' print_quiet(u'Update the translation files')
if not os.path.exists(os.path.join(os.path.abspath(u'..'), u'openlp.pro')): if not os.path.exists(os.path.join(os.path.abspath(u'..'), u'openlp.pro')):
print u'You have no generated a project file yet, please run this ' + \ print u'You have no generated a project file yet, please run this ' + \
u'script with the -p option.' u'script with the -p option.'
@ -265,7 +279,7 @@ def update_translations():
os.chdir(os.path.abspath(u'scripts')) os.chdir(os.path.abspath(u'scripts'))
def generate_binaries(): def generate_binaries():
print u'Generate the related *.qm files' print_quiet(u'Generate the related *.qm files')
if not os.path.exists(os.path.join(os.path.abspath(u'..'), u'openlp.pro')): if not os.path.exists(os.path.join(os.path.abspath(u'..'), u'openlp.pro')):
print u'You have not generated a project file yet, please run this ' + \ print u'You have not generated a project file yet, please run this ' + \
u'script with the -p option. It is also recommended that you ' + \ u'script with the -p option. It is also recommended that you ' + \
@ -283,8 +297,9 @@ def generate_binaries():
src_list = os.listdir(src_path) src_list = os.listdir(src_path)
for file in src_list: for file in src_list:
if re.search('.qm$', file): if re.search('.qm$', file):
copy(os.path.join(src_path, u'%s' % file), copy(os.path.join(src_path, u'%s' % file),
os.path.join(dest_path, u'%s' % file)) os.path.join(dest_path, u'%s' % file))
print_quiet(u' Done.')
def create_translation(language): def create_translation(language):
@ -294,17 +309,17 @@ def create_translation(language):
``language`` ``language``
The language file to create. The language file to create.
""" """
print "Create new Translation File" print_quiet(u'Create new Translation File')
if not language.endswith(u'.ts'): if not language.endswith(u'.ts'):
language += u'.ts' language += u'.ts'
filename = os.path.join(os.path.abspath(u'..'), u'resources', u'i18n', language) filename = os.path.join(os.path.abspath(u'..'), u'resources', u'i18n', language)
download_file(u'en.ts', filename) download_file(u'en.ts', filename)
print u' ** Please Note **' print_quiet(u' ** Please Note **')
print u' In order to get this file into OpenLP and onto the Pootle ' + \ print_quiet(u' In order to get this file into OpenLP and onto the '
u'translation server you will need to subscribe to the OpenLP' + \ u'Pootle translation server you will need to subscribe to the '
u'Translators mailing list, and request that your language file ' + \ u'OpenLP Translators mailing list, and request that your language '
u'be added to the project.' u'file be added to the project.')
print u' Done' print_quiet(u' Done.')
def process_stack(command_stack): def process_stack(command_stack):
""" """
@ -315,9 +330,9 @@ def process_stack(command_stack):
The command stack to process. The command stack to process.
""" """
if command_stack: if command_stack:
print u'Processing %d commands...' % len(command_stack) print_quiet(u'Processing %d commands...' % len(command_stack))
for command in command_stack: for command in command_stack:
print u'%d.' % (command_stack.current_index), print_quiet(u'%d.' % (command_stack.current_index), False)
if command == Command.Download: if command == Command.Download:
download_translations() download_translations()
elif command == Command.Prepare: elif command == Command.Prepare:
@ -329,12 +344,12 @@ def process_stack(command_stack):
elif command == Command.Create: elif command == Command.Create:
arguments = command_stack.arguments() arguments = command_stack.arguments()
create_translation(*arguments) create_translation(*arguments)
print u'Finished processing commands.' print_quiet(u'Finished processing commands.')
else: else:
print u'No commands to process.' print_quiet(u'No commands to process.')
def main(): def main():
global verbose_mode global verbose_mode, quiet_mode
# Set up command line options. # Set up command line options.
usage = u'%prog [options]\nOptions are parsed in the order they are ' + \ usage = u'%prog [options]\nOptions are parsed in the order they are ' + \
u'listed below. If no options are given, "-dpug" will be used.\n\n' + \ u'listed below. If no options are given, "-dpug" will be used.\n\n' + \
@ -352,6 +367,8 @@ def main():
help='compile .ts files into .qm files') help='compile .ts files into .qm files')
parser.add_option('-v', '--verbose', dest='verbose', action='store_true', parser.add_option('-v', '--verbose', dest='verbose', action='store_true',
help='show extra information while processing translations') help='show extra information while processing translations')
parser.add_option('-q', '--quiet', dest='quiet', action='store_true',
help='suppress all output other than errors')
(options, args) = parser.parse_args() (options, args) = parser.parse_args()
# Create and populate the command stack # Create and populate the command stack
command_stack = CommandStack() command_stack = CommandStack()
@ -366,6 +383,7 @@ def main():
if options.generate: if options.generate:
command_stack.append(Command.Generate) command_stack.append(Command.Generate)
verbose_mode = options.verbose verbose_mode = options.verbose
quiet_mode = options.quiet
if not command_stack: if not command_stack:
command_stack.append(Command.Download) command_stack.append(Command.Download)
command_stack.append(Command.Prepare) command_stack.append(Command.Prepare)

View File

@ -87,20 +87,33 @@ windows-builder.py
""" """
import os import os
import sys
from shutil import copy from shutil import copy
from subprocess import Popen, PIPE from subprocess import Popen, PIPE
python_exe = sys.executable
innosetup_exe = os.path.join(os.getenv(u'PROGRAMFILES'), 'Inno Setup 5',
u'ISCC.exe')
# Base paths
script_path = os.path.split(os.path.abspath(__file__))[0] script_path = os.path.split(os.path.abspath(__file__))[0]
branch_path = os.path.abspath(os.path.join(script_path, u'..')) branch_path = os.path.abspath(os.path.join(script_path, u'..'))
site_packages = os.path.join(os.path.split(python_exe)[0], u'Lib',
u'site-packages')
# Files and executables
pyi_build = os.path.abspath(os.path.join(branch_path, u'..', u'..',
u'pyinstaller', u'Build.py'))
lrelease_exe = os.path.join(site_packages, u'PyQt4', u'bin', u'lrelease.exe')
i18n_utils = os.path.join(script_path, u'translation_utils.py')
# Paths
source_path = os.path.join(branch_path, u'openlp') source_path = os.path.join(branch_path, u'openlp')
i18n_path = os.path.join(branch_path, u'resources', u'i18n') i18n_path = os.path.join(branch_path, u'resources', u'i18n')
winres_path = os.path.join(branch_path, u'resources', u'windows')
build_path = os.path.join(branch_path, u'build', u'pyi.win32', u'OpenLP') build_path = os.path.join(branch_path, u'build', u'pyi.win32', u'OpenLP')
dist_path = os.path.join(branch_path, u'dist', u'OpenLP') dist_path = os.path.join(branch_path, u'dist', u'OpenLP')
pyinstaller_path = os.path.abspath(os.path.join(branch_path, u'..', u'..', u'pyinstaller')) enchant_path = os.path.join(site_packages, u'enchant')
innosetup_path = os.path.join(os.getenv(u'PROGRAMFILES'), 'Inno Setup 5')
iss_path = os.path.join(branch_path, u'resources', u'innosetup')
lrelease_path = u'C:\\Python26\\Lib\\site-packages\\PyQt4\\bin\\lrelease.exe'
enchant_path = u'C:\\Python26\\Lib\\site-packages\\enchant'
def clean_build_directories(): def clean_build_directories():
#if not os.path.exists(build_path) #if not os.path.exists(build_path)
@ -117,11 +130,13 @@ def clean_build_directories():
def run_pyinstaller(): def run_pyinstaller():
print u'Running PyInstaller...' print u'Running PyInstaller...'
os.chdir(branch_path) os.chdir(branch_path)
pyinstaller = Popen((u'python', os.path.join(pyinstaller_path, u'Build.py'), pyinstaller = Popen((python_exe, pyi_build, u'-y', u'-o', build_path,
u'-y', u'OpenLP.spec')) os.path.join(winres_path, u'OpenLP.spec')), stdout=PIPE)
output, error = pyinstaller.communicate()
code = pyinstaller.wait() code = pyinstaller.wait()
if code != 0: if code != 0:
raise Exception(u'Error running PyInstaller Build.py') print output
raise Exception(u'Error running PyInstaller')
def write_version_file(): def write_version_file():
print u'Writing version file...' print u'Writing version file...'
@ -155,7 +170,7 @@ def copy_enchant():
for root, dirs, files in os.walk(source): for root, dirs, files in os.walk(source):
for filename in files: for filename in files:
if not filename.endswith(u'.pyc') and not filename.endswith(u'.pyo'): if not filename.endswith(u'.pyc') and not filename.endswith(u'.pyo'):
dest_path = os.path.join(dest, root[len(source)+1:]) dest_path = os.path.join(dest, root[len(source) + 1:])
if not os.path.exists(dest_path): if not os.path.exists(dest_path):
os.makedirs(dest_path) os.makedirs(dest_path)
copy(os.path.join(root, filename), copy(os.path.join(root, filename),
@ -176,16 +191,18 @@ def copy_plugins():
def copy_windows_files(): def copy_windows_files():
print u'Copying extra files for Windows...' print u'Copying extra files for Windows...'
copy(os.path.join(iss_path, u'OpenLP.ico'), os.path.join(dist_path, u'OpenLP.ico')) copy(os.path.join(winres_path, u'OpenLP.ico'),
copy(os.path.join(iss_path, u'LICENSE.txt'), os.path.join(dist_path, u'LICENSE.txt')) os.path.join(dist_path, u'OpenLP.ico'))
copy(os.path.join(winres_path, u'LICENSE.txt'),
os.path.join(dist_path, u'LICENSE.txt'))
def update_translations(): def update_translations():
print u'Updating translations...' print u'Updating translations...'
os.chdir(script_path) os.chdir(script_path)
translation_utils = Popen(u'python translation_utils.py -dpu') translation_utils = Popen((python_exe, i18n_utils, u'-qdpu'))
code = translation_utils.wait() code = translation_utils.wait()
if code != 0: if code != 0:
print u'Error running translation_utils.py' raise Exception(u'Error running translation_utils.py')
def compile_translations(): def compile_translations():
print u'Compiling translations...' print u'Compiling translations...'
@ -197,19 +214,17 @@ def compile_translations():
source_path = os.path.join(i18n_path, file) source_path = os.path.join(i18n_path, file)
dest_path = os.path.join(dist_path, u'i18n', dest_path = os.path.join(dist_path, u'i18n',
file.replace(u'.ts', u'.qm')) file.replace(u'.ts', u'.qm'))
lconvert = Popen(u'"%s" "%s" -qm "%s"' % (lrelease_path, \ lconvert = Popen((lrelease_exe, u'-compress', u'-silent',
source_path, dest_path)) source_path, u'-qm', dest_path))
code = lconvert.wait() code = lconvert.wait()
if code != 0: if code != 0:
print 'Error running lconvert on %s' % source_path raise Exception('Error running lconvert on %s' % source_path)
def run_innosetup(): def run_innosetup():
print u'Running Inno Setup...' print u'Running Inno Setup...'
os.chdir(iss_path) os.chdir(winres_path)
run_command = u'"%s" "%s"' % (os.path.join(innosetup_path, u'ISCC.exe'), innosetup = Popen((innosetup_exe,
os.path.join(iss_path, u'OpenLP-2.0.iss')) os.path.join(winres_path, u'OpenLP-2.0.iss'), u'/q'))
print run_command
innosetup = Popen(run_command)
code = innosetup.wait() code = innosetup.wait()
if code != 0: if code != 0:
raise Exception(u'Error running Inno Setup') raise Exception(u'Error running Inno Setup')
@ -221,9 +236,9 @@ def main():
print "Branch path:", branch_path print "Branch path:", branch_path
print "Source path:", source_path print "Source path:", source_path
print "\"dist\" path:", dist_path print "\"dist\" path:", dist_path
print "PyInstaller path:", pyinstaller_path print "PyInstaller:", pyi_build
print "Inno Setup path:", innosetup_path print "Inno Setup path:", innosetup_path
print "ISS file path:", iss_path print "Windows resources:", winres_path
#clean_build_directories() #clean_build_directories()
run_pyinstaller() run_pyinstaller()
write_version_file() write_version_file()