openlp-core team mailing list archive
-
openlp-core team
-
Mailing list archive
-
Message #04129
[Merge] lp:~raoul-snyman/openlp/movements into lp:openlp
Raoul Snyman has proposed merging lp:~raoul-snyman/openlp/movements into lp:openlp.
Requested reviews:
OpenLP Core (openlp-core)
Moved Windows-specific resources into its own "windows" directory.
--
https://code.launchpad.net/~raoul-snyman/openlp/movements/+merge/38079
Your team OpenLP Core is requested to review the proposed merge of lp:~raoul-snyman/openlp/movements into lp:openlp.
=== removed file 'OpenLP.spec'
--- OpenLP.spec 2010-09-14 18:18:47 +0000
+++ OpenLP.spec 1970-01-01 00:00:00 +0000
@@ -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'))
=== removed directory 'resources/innosetup'
=== removed file 'resources/innosetup/LICENSE.txt'
--- resources/innosetup/LICENSE.txt 2010-09-14 18:18:47 +0000
+++ resources/innosetup/LICENSE.txt 1970-01-01 00:00:00 +0000
@@ -1,339 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Lesser General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- <one line to give the program's name and a brief idea of what it does.>
- Copyright (C) <year> <name of author>
-
- 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; either version 2 of the License, or
- (at your option) any later version.
-
- 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.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) year name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- <signature of Ty Coon>, 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.
=== removed file 'resources/innosetup/OpenLP-2.0.iss'
--- resources/innosetup/OpenLP-2.0.iss 2010-09-14 18:18:47 +0000
+++ resources/innosetup/OpenLP-2.0.iss 1970-01-01 00:00:00 +0000
@@ -1,87 +0,0 @@
-; Script generated by the Inno Setup Script Wizard.
-; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
-
-#define AppName "OpenLP"
-#define AppVerName "OpenLP 2.0"
-#define AppPublisher "OpenLP Developers"
-#define AppURL "http://openlp.org/"
-#define AppExeName "OpenLP.exe"
-
-#define FileHandle FileOpen("..\..\dist\OpenLP\.version")
-#define FileLine FileRead(FileHandle)
-#define RealVersion FileLine
-#expr FileClose(FileHandle)
-
-[Setup]
-; NOTE: The value of AppId uniquely identifies this application.
-; Do not use the same AppId value in installers for other applications.
-; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
-AppId={{AA7699FA-B2D2-43F4-8A70-D497D03C9485}
-AppName={#AppName}
-AppVerName={#AppVerName}
-AppPublisher={#AppPublisher}
-AppPublisherURL={#AppURL}
-AppSupportURL={#AppURL}
-AppUpdatesURL={#AppURL}
-DefaultDirName={pf}\{#AppName}
-DefaultGroupName={#AppVerName}
-AllowNoIcons=true
-LicenseFile=LICENSE.txt
-OutputBaseFilename=OpenLP-{#RealVersion}-setup
-Compression=lzma
-SolidCompression=true
-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
-Name: basque; MessagesFile: compiler:Languages\Basque.isl
-Name: brazilianportuguese; MessagesFile: compiler:Languages\BrazilianPortuguese.isl
-Name: catalan; MessagesFile: compiler:Languages\Catalan.isl
-Name: czech; MessagesFile: compiler:Languages\Czech.isl
-Name: danish; MessagesFile: compiler:Languages\Danish.isl
-Name: dutch; MessagesFile: compiler:Languages\Dutch.isl
-Name: finnish; MessagesFile: compiler:Languages\Finnish.isl
-Name: french; MessagesFile: compiler:Languages\French.isl
-Name: german; MessagesFile: compiler:Languages\German.isl
-Name: hebrew; MessagesFile: compiler:Languages\Hebrew.isl
-Name: hungarian; MessagesFile: compiler:Languages\Hungarian.isl
-Name: italian; MessagesFile: compiler:Languages\Italian.isl
-Name: japanese; MessagesFile: compiler:Languages\Japanese.isl
-Name: norwegian; MessagesFile: compiler:Languages\Norwegian.isl
-Name: polish; MessagesFile: compiler:Languages\Polish.isl
-Name: portuguese; MessagesFile: compiler:Languages\Portuguese.isl
-Name: russian; MessagesFile: compiler:Languages\Russian.isl
-Name: slovak; MessagesFile: compiler:Languages\Slovak.isl
-Name: slovenian; MessagesFile: compiler:Languages\Slovenian.isl
-Name: spanish; MessagesFile: compiler:Languages\Spanish.isl
-
-[Tasks]
-Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}
-Name: quicklaunchicon; Description: {cm:CreateQuickLaunchIcon}; GroupDescription: {cm:AdditionalIcons}
-
-[Files]
-Source: ..\..\dist\OpenLP\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs
-; NOTE: Don't use "Flags: ignoreversion" on any shared system files
-
-[Icons]
-Name: {group}\{#AppName}; Filename: {app}\{#AppExeName}
-Name: {group}\{cm:ProgramOnTheWeb,{#AppName}}; Filename: {#AppURL}
-Name: {group}\{cm:UninstallProgram,{#AppName}}; Filename: {uninstallexe}
-Name: {commondesktop}\{#AppName}; Filename: {app}\{#AppExeName}; Tasks: desktopicon
-Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\{#AppName}; Filename: {app}\{#AppExeName}; Tasks: quicklaunchicon
-
-[Run]
-Filename: {app}\{#AppExeName}; Description: {cm:LaunchProgram,{#AppName}}; Flags: nowait postinstall skipifsilent
-
-[Registry]
-Root: HKCU; SubKey: Software\OpenLP\OpenLP\alerts; ValueType: dword; ValueName: status; ValueData: $00000001
-Root: HKCU; SubKey: Software\OpenLP\OpenLP\bibles; ValueType: dword; ValueName: status; ValueData: $00000001
-Root: HKCU; SubKey: Software\OpenLP\OpenLP\custom; ValueType: dword; ValueName: status; ValueData: $00000001
-Root: HKCU; SubKey: Software\OpenLP\OpenLP\images; ValueType: dword; ValueName: status; ValueData: $00000001
-Root: HKCU; SubKey: Software\OpenLP\OpenLP\media; ValueType: dword; ValueName: status; ValueData: $00000001
-Root: HKCU; SubKey: Software\OpenLP\OpenLP\presentations; ValueType: dword; ValueName: status; ValueData: $00000001
-Root: HKCU; SubKey: Software\OpenLP\OpenLP\remotes; ValueType: dword; ValueName: status; ValueData: $00000001
-Root: HKCU; SubKey: Software\OpenLP\OpenLP\songs; ValueType: dword; ValueName: status; ValueData: $00000001
-Root: HKCU; SubKey: Software\OpenLP\OpenLP\songusage; ValueType: dword; ValueName: status; ValueData: $00000001
=== removed file 'resources/innosetup/OpenLP.ico'
Binary files resources/innosetup/OpenLP.ico 2010-09-14 18:18:47 +0000 and resources/innosetup/OpenLP.ico 1970-01-01 00:00:00 +0000 differ
=== removed file 'resources/innosetup/OpenLP.reg'
Binary files resources/innosetup/OpenLP.reg 2010-09-14 18:18:47 +0000 and resources/innosetup/OpenLP.reg 1970-01-01 00:00:00 +0000 differ
=== removed file 'resources/innosetup/openlp.conf'
--- resources/innosetup/openlp.conf 2010-09-14 18:18:47 +0000
+++ resources/innosetup/openlp.conf 1970-01-01 00:00:00 +0000
@@ -1,26 +0,0 @@
-[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
=== added directory 'resources/windows'
=== added file 'resources/windows/LICENSE.txt'
--- resources/windows/LICENSE.txt 1970-01-01 00:00:00 +0000
+++ resources/windows/LICENSE.txt 2010-10-10 16:26:47 +0000
@@ -0,0 +1,339 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ 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; either version 2 of the License, or
+ (at your option) any later version.
+
+ 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.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
=== added file 'resources/windows/OpenLP-2.0.iss'
--- resources/windows/OpenLP-2.0.iss 1970-01-01 00:00:00 +0000
+++ resources/windows/OpenLP-2.0.iss 2010-10-10 16:26:47 +0000
@@ -0,0 +1,88 @@
+; Script generated by the Inno Setup Script Wizard.
+; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
+
+#define AppName "OpenLP"
+#define AppVerName "OpenLP 2.0"
+#define AppPublisher "OpenLP Developers"
+#define AppURL "http://openlp.org/"
+#define AppExeName "OpenLP.exe"
+
+#define FileHandle FileOpen("..\..\dist\OpenLP\.version")
+#define FileLine FileRead(FileHandle)
+#define RealVersion FileLine
+#expr FileClose(FileHandle)
+
+[Setup]
+; NOTE: The value of AppId uniquely identifies this application.
+; Do not use the same AppId value in installers for other applications.
+; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
+AppId={{AA7699FA-B2D2-43F4-8A70-D497D03C9485}
+AppName={#AppName}
+AppVerName={#AppVerName}
+AppPublisher={#AppPublisher}
+AppPublisherURL={#AppURL}
+AppSupportURL={#AppURL}
+AppUpdatesURL={#AppURL}
+DefaultDirName={pf}\{#AppName}
+DefaultGroupName={#AppVerName}
+AllowNoIcons=true
+LicenseFile=LICENSE.txt
+OutputDir=..\..\dist
+OutputBaseFilename=OpenLP-{#RealVersion}-setup
+Compression=lzma
+SolidCompression=true
+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
+Name: basque; MessagesFile: compiler:Languages\Basque.isl
+Name: brazilianportuguese; MessagesFile: compiler:Languages\BrazilianPortuguese.isl
+Name: catalan; MessagesFile: compiler:Languages\Catalan.isl
+Name: czech; MessagesFile: compiler:Languages\Czech.isl
+Name: danish; MessagesFile: compiler:Languages\Danish.isl
+Name: dutch; MessagesFile: compiler:Languages\Dutch.isl
+Name: finnish; MessagesFile: compiler:Languages\Finnish.isl
+Name: french; MessagesFile: compiler:Languages\French.isl
+Name: german; MessagesFile: compiler:Languages\German.isl
+Name: hebrew; MessagesFile: compiler:Languages\Hebrew.isl
+Name: hungarian; MessagesFile: compiler:Languages\Hungarian.isl
+Name: italian; MessagesFile: compiler:Languages\Italian.isl
+Name: japanese; MessagesFile: compiler:Languages\Japanese.isl
+Name: norwegian; MessagesFile: compiler:Languages\Norwegian.isl
+Name: polish; MessagesFile: compiler:Languages\Polish.isl
+Name: portuguese; MessagesFile: compiler:Languages\Portuguese.isl
+Name: russian; MessagesFile: compiler:Languages\Russian.isl
+Name: slovak; MessagesFile: compiler:Languages\Slovak.isl
+Name: slovenian; MessagesFile: compiler:Languages\Slovenian.isl
+Name: spanish; MessagesFile: compiler:Languages\Spanish.isl
+
+[Tasks]
+Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}
+Name: quicklaunchicon; Description: {cm:CreateQuickLaunchIcon}; GroupDescription: {cm:AdditionalIcons}
+
+[Files]
+Source: ..\..\dist\OpenLP\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs
+; NOTE: Don't use "Flags: ignoreversion" on any shared system files
+
+[Icons]
+Name: {group}\{#AppName}; Filename: {app}\{#AppExeName}
+Name: {group}\{cm:ProgramOnTheWeb,{#AppName}}; Filename: {#AppURL}
+Name: {group}\{cm:UninstallProgram,{#AppName}}; Filename: {uninstallexe}
+Name: {commondesktop}\{#AppName}; Filename: {app}\{#AppExeName}; Tasks: desktopicon
+Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\{#AppName}; Filename: {app}\{#AppExeName}; Tasks: quicklaunchicon
+
+[Run]
+Filename: {app}\{#AppExeName}; Description: {cm:LaunchProgram,{#AppName}}; Flags: nowait postinstall skipifsilent
+
+[Registry]
+Root: HKCU; SubKey: Software\OpenLP\OpenLP\alerts; ValueType: dword; ValueName: status; ValueData: $00000001
+Root: HKCU; SubKey: Software\OpenLP\OpenLP\bibles; ValueType: dword; ValueName: status; ValueData: $00000001
+Root: HKCU; SubKey: Software\OpenLP\OpenLP\custom; ValueType: dword; ValueName: status; ValueData: $00000001
+Root: HKCU; SubKey: Software\OpenLP\OpenLP\images; ValueType: dword; ValueName: status; ValueData: $00000001
+Root: HKCU; SubKey: Software\OpenLP\OpenLP\media; ValueType: dword; ValueName: status; ValueData: $00000001
+Root: HKCU; SubKey: Software\OpenLP\OpenLP\presentations; ValueType: dword; ValueName: status; ValueData: $00000001
+Root: HKCU; SubKey: Software\OpenLP\OpenLP\remotes; ValueType: dword; ValueName: status; ValueData: $00000001
+Root: HKCU; SubKey: Software\OpenLP\OpenLP\songs; ValueType: dword; ValueName: status; ValueData: $00000001
+Root: HKCU; SubKey: Software\OpenLP\OpenLP\songusage; ValueType: dword; ValueName: status; ValueData: $00000001
=== added file 'resources/windows/OpenLP.ico'
Binary files resources/windows/OpenLP.ico 1970-01-01 00:00:00 +0000 and resources/windows/OpenLP.ico 2010-10-10 16:26:47 +0000 differ
=== added file 'resources/windows/OpenLP.reg'
Binary files resources/windows/OpenLP.reg 1970-01-01 00:00:00 +0000 and resources/windows/OpenLP.reg 2010-10-10 16:26:47 +0000 differ
=== added file 'resources/windows/OpenLP.spec'
--- resources/windows/OpenLP.spec 1970-01-01 00:00:00 +0000
+++ resources/windows/OpenLP.spec 2010-10-10 16:26:47 +0000
@@ -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')))
=== added file 'resources/windows/openlp.conf'
--- resources/windows/openlp.conf 1970-01-01 00:00:00 +0000
+++ resources/windows/openlp.conf 2010-10-10 16:26:47 +0000
@@ -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
=== added file 'resources/windows/warnOpenLP.txt'
--- resources/windows/warnOpenLP.txt 1970-01-01 00:00:00 +0000
+++ resources/windows/warnOpenLP.txt 2010-10-10 16:26:47 +0000
@@ -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)
=== modified file 'scripts/translation_utils.py'
--- scripts/translation_utils.py 2010-09-27 18:34:40 +0000
+++ scripts/translation_utils.py 2010-10-10 16:26:47 +0000
@@ -63,6 +63,7 @@
IGNORED_FILES = [u'setup.py']
verbose_mode = False
+quiet_mode = False
class Command(object):
"""
@@ -128,6 +129,20 @@
results.append(str((item[u'command'], )))
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):
"""
@@ -137,8 +152,8 @@
``text``
The text to print.
"""
- global verbose_mode
- if verbose_mode:
+ global verbose_mode, quiet_mode
+ if not quiet_mode and verbose_mode:
print u' %s' % text
def run(command):
@@ -155,7 +170,6 @@
print_verbose(u'ReadyRead: %s' % QtCore.QString(process.readAll()))
print_verbose(u'Error(s):\n%s' % process.readAllStandardError())
print_verbose(u'Output:\n%s' % process.readAllStandardOutput())
- print u' Done.'
def update_export_at_pootle(source_filename):
"""
@@ -170,7 +184,7 @@
print_verbose(u'Accessing: %s' % (REVIEW_URL))
page = urllib.urlopen(REVIEW_URL)
page.close()
-
+
def download_file(source_filename, dest_filename):
"""
@@ -194,7 +208,7 @@
"""
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)
soup = BeautifulSoup(page)
languages = soup.findAll(text=re.compile(r'.*\.ts'))
@@ -205,14 +219,14 @@
language_file)
print_verbose(u'Get Translation File: %s' % filename)
download_file(language_file, filename)
- print u' Done.'
+ print_quiet(u' Done.')
def prepare_project():
"""
This method creates the project file needed to update the translation files
and compile them into .qm files.
"""
- print u'Generating the openlp.pro file'
+ print_quiet(u'Generating the openlp.pro file')
lines = []
start_dir = os.path.abspath(u'..')
start_dir = start_dir + os.sep
@@ -251,10 +265,10 @@
file = open(os.path.join(start_dir, u'openlp.pro'), u'w')
file.write(u'\n'.join(lines).encode('utf8'))
file.close()
- print u' Done.'
+ print_quiet(u' Done.')
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')):
print u'You have no generated a project file yet, please run this ' + \
u'script with the -p option.'
@@ -265,7 +279,7 @@
os.chdir(os.path.abspath(u'scripts'))
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')):
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 ' + \
@@ -283,8 +297,9 @@
src_list = os.listdir(src_path)
for file in src_list:
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))
+ print_quiet(u' Done.')
def create_translation(language):
@@ -294,17 +309,17 @@
``language``
The language file to create.
"""
- print "Create new Translation File"
+ print_quiet(u'Create new Translation File')
if not language.endswith(u'.ts'):
language += u'.ts'
filename = os.path.join(os.path.abspath(u'..'), u'resources', u'i18n', language)
download_file(u'en.ts', filename)
- print u' ** Please Note **'
- print u' In order to get this file into OpenLP and onto the Pootle ' + \
- u'translation server you will need to subscribe to the OpenLP' + \
- u'Translators mailing list, and request that your language file ' + \
- u'be added to the project.'
- print u' Done'
+ print_quiet(u' ** Please Note **')
+ print_quiet(u' In order to get this file into OpenLP and onto the '
+ u'Pootle translation server you will need to subscribe to the '
+ u'OpenLP Translators mailing list, and request that your language '
+ u'file be added to the project.')
+ print_quiet(u' Done.')
def process_stack(command_stack):
"""
@@ -315,9 +330,9 @@
The command stack to process.
"""
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:
- print u'%d.' % (command_stack.current_index),
+ print_quiet(u'%d.' % (command_stack.current_index), False)
if command == Command.Download:
download_translations()
elif command == Command.Prepare:
@@ -329,12 +344,12 @@
elif command == Command.Create:
arguments = command_stack.arguments()
create_translation(*arguments)
- print u'Finished processing commands.'
+ print_quiet(u'Finished processing commands.')
else:
- print u'No commands to process.'
+ print_quiet(u'No commands to process.')
def main():
- global verbose_mode
+ global verbose_mode, quiet_mode
# Set up command line options.
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' + \
@@ -352,6 +367,8 @@
help='compile .ts files into .qm files')
parser.add_option('-v', '--verbose', dest='verbose', action='store_true',
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()
# Create and populate the command stack
command_stack = CommandStack()
@@ -366,6 +383,7 @@
if options.generate:
command_stack.append(Command.Generate)
verbose_mode = options.verbose
+ quiet_mode = options.quiet
if not command_stack:
command_stack.append(Command.Download)
command_stack.append(Command.Prepare)
=== modified file 'scripts/windows-builder.py'
--- scripts/windows-builder.py 2010-09-27 18:34:40 +0000
+++ scripts/windows-builder.py 2010-10-10 16:26:47 +0000
@@ -87,20 +87,33 @@
"""
import os
+import sys
from shutil import copy
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]
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')
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')
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'))
-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'
+enchant_path = os.path.join(site_packages, u'enchant')
def clean_build_directories():
#if not os.path.exists(build_path)
@@ -117,11 +130,13 @@
def run_pyinstaller():
print u'Running PyInstaller...'
os.chdir(branch_path)
- pyinstaller = Popen((u'python', os.path.join(pyinstaller_path, u'Build.py'),
- u'-y', u'OpenLP.spec'))
+ pyinstaller = Popen((python_exe, pyi_build, u'-y', u'-o', build_path,
+ os.path.join(winres_path, u'OpenLP.spec')), stdout=PIPE)
+ output, error = pyinstaller.communicate()
code = pyinstaller.wait()
if code != 0:
- raise Exception(u'Error running PyInstaller Build.py')
+ print output
+ raise Exception(u'Error running PyInstaller')
def write_version_file():
print u'Writing version file...'
@@ -155,7 +170,7 @@
for root, dirs, files in os.walk(source):
for filename in files:
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):
os.makedirs(dest_path)
copy(os.path.join(root, filename),
@@ -176,16 +191,18 @@
def copy_windows_files():
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(iss_path, u'LICENSE.txt'), os.path.join(dist_path, u'LICENSE.txt'))
+ copy(os.path.join(winres_path, u'OpenLP.ico'),
+ 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():
print u'Updating translations...'
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()
if code != 0:
- print u'Error running translation_utils.py'
+ raise Exception(u'Error running translation_utils.py')
def compile_translations():
print u'Compiling translations...'
@@ -197,19 +214,17 @@
source_path = os.path.join(i18n_path, file)
dest_path = os.path.join(dist_path, u'i18n',
file.replace(u'.ts', u'.qm'))
- lconvert = Popen(u'"%s" "%s" -qm "%s"' % (lrelease_path, \
- source_path, dest_path))
+ lconvert = Popen((lrelease_exe, u'-compress', u'-silent',
+ source_path, u'-qm', dest_path))
code = lconvert.wait()
if code != 0:
- print 'Error running lconvert on %s' % source_path
+ raise Exception('Error running lconvert on %s' % source_path)
def run_innosetup():
print u'Running Inno Setup...'
- os.chdir(iss_path)
- run_command = u'"%s" "%s"' % (os.path.join(innosetup_path, u'ISCC.exe'),
- os.path.join(iss_path, u'OpenLP-2.0.iss'))
- print run_command
- innosetup = Popen(run_command)
+ os.chdir(winres_path)
+ innosetup = Popen((innosetup_exe,
+ os.path.join(winres_path, u'OpenLP-2.0.iss'), u'/q'))
code = innosetup.wait()
if code != 0:
raise Exception(u'Error running Inno Setup')
@@ -221,9 +236,9 @@
print "Branch path:", branch_path
print "Source path:", source_path
print "\"dist\" path:", dist_path
- print "PyInstaller path:", pyinstaller_path
+ print "PyInstaller:", pyi_build
print "Inno Setup path:", innosetup_path
- print "ISS file path:", iss_path
+ print "Windows resources:", winres_path
#clean_build_directories()
run_pyinstaller()
write_version_file()
Follow ups