Re: [Openlp-core] [Merge] lp:~raoul-snyman/openlp/fix-version-check into lp:openlp

2017-09-22 Thread Tim Bentley
Review: Needs Fixing

tests fail on my machine 
Code looks ok!

==
ERROR: Test the Bible Gateway retrieval of book list for DN1933 bible with 
redirect (bug 1251437)
--
Traceback (most recent call last):
  File 
"/home/tim/Projects/OpenLP/openlp/fix-version-check/tests/interfaces/openlp_plugins/bibles/test_lib_http.py",
 line 68, in test_bible_gateway_extract_books_support_redirect
self.assertEqual(len(books), 66, 'This bible should have 66 books')
TypeError: object of type 'NoneType' has no len()
 >> begin captured logging << 
openlp.core.common.registry: INFO: Registry Initialising
openlp.plugins.bibles.lib.importers.http: DEBUG: 
BGExtract.init(proxy_url="None")
openlp.plugins.bibles.lib.importers.http: DEBUG: 
BGExtract.get_books_from_http("DN1933")
openlp.core.common.httputils.__init__: DEBUG: Downloading URL = 
http://www.biblegateway.com/versions/?action=getVersionInfo&vid=DN1933#books
requests.packages.urllib3.connectionpool: DEBUG: Starting new HTTP connection 
(1): www.biblegateway.com
requests.packages.urllib3.connectionpool: DEBUG: http://www.biblegateway.com:80 
"GET /versions/?action=getVersionInfo&vid=DN1933 HTTP/1.1" 301 278
requests.packages.urllib3.connectionpool: DEBUG: Starting new HTTPS connection 
(1): www.biblegateway.com
requests.packages.urllib3.connectionpool: DEBUG: 
https://www.biblegateway.com:443 "GET 
/versions/?action=getVersionInfo&vid=DN1933 HTTP/1.1" 301 None
requests.packages.urllib3.connectionpool: DEBUG: http://www.biblegateway.com:80 
"GET /versions/Dette-er-Biblen-p%C3%83%C2%A5-dansk-1933/ HTTP/1.1" 301 278
requests.packages.urllib3.connectionpool: DEBUG: 
https://www.biblegateway.com:443 "GET 
/versions/Dette-er-Biblen-p%C3%83%C2%A5-dansk-1933/ HTTP/1.1" 200 None
openlp.core.common.httputils.__init__: DEBUG: Downloaded page 
https://www.biblegateway.com/versions/Dette-er-Biblen-p%C3%83%C2%A5-dansk-1933/
openlp.plugins.bibles.lib.importers.http: ERROR: No books found in the 
Biblegateway response.

-- 
https://code.launchpad.net/~raoul-snyman/openlp/fix-version-check/+merge/331243
Your team OpenLP Core is subscribed to branch lp:openlp.

___
Mailing list: https://launchpad.net/~openlp-core
Post to : openlp-core@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openlp-core
More help   : https://help.launchpad.net/ListHelp


[Openlp-core] [Merge] lp:~raoul-snyman/openlp/fix-version-check into lp:openlp

2017-09-22 Thread Raoul Snyman
The proposal to merge lp:~raoul-snyman/openlp/fix-version-check into lp:openlp 
has been updated.

Status: Needs review => Superseded

For more details, see:
https://code.launchpad.net/~raoul-snyman/openlp/fix-version-check/+merge/331081
-- 
Your team OpenLP Core is subscribed to branch lp:openlp.

___
Mailing list: https://launchpad.net/~openlp-core
Post to : openlp-core@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openlp-core
More help   : https://help.launchpad.net/ListHelp


[Openlp-core] [Merge] lp:~raoul-snyman/openlp/fix-version-check into lp:openlp

2017-09-22 Thread Raoul Snyman
Raoul Snyman has proposed merging lp:~raoul-snyman/openlp/fix-version-check 
into lp:openlp.

Commit message:
Change the way the version thread works, using the proper QThread method. Also 
make OpenLP wait for the version thread on shutdown so that we get fewer 
segfaults on exit.

Requested reviews:
  Tim Bentley (trb143)

For more details, see:
https://code.launchpad.net/~raoul-snyman/openlp/fix-version-check/+merge/331243

Change the way the version thread works, using the proper QThread method. Also 
make OpenLP wait for the version thread on shutdown so that we get fewer 
segfaults on exit.

Note: Tests are failing on Jenkins due to an issue with one of the Bible 
servers. Tests run fine locally.

Add this to your merge proposal:

lp:~raoul-snyman/openlp/fix-version-check (revision 2775)
[SUCCESS] https://ci.openlp.io/job/Branch-01-Pull/2202/
[SUCCESS] https://ci.openlp.io/job/Branch-02-Functional-Tests/2105/
[FAILURE] https://ci.openlp.io/job/Branch-03-Interface-Tests/1992/
Stopping after failure


$ nose2-3
QSettings::value: Empty key passed
QSettings::value: Empty key passed
Qt WebEngine seems to be initialized from a plugin. Please set 
Qt::AA_ShareOpenGLContexts using QCoreApplication::setAttribute before 
constructing QGuiApplication.
s...sss..ssss...s..GStreamer;
 Unable to pause - "file:file.ogv"
.GStreamer; Unable to pause - "file:file.ogv"
.GStreamer; Unable to pause - "file:file.ogv"
sss..ss.s.s..ss.
--
Ran 1165 tests in 23.516s

OK (skipped=30)
--- coverage: platform linux, python 3.5.4-final-0 ---
Coverage HTML written to dir htmlcov

-- 
Your team OpenLP Core is subscribed to branch lp:openlp.
=== modified file 'openlp.py'
--- openlp.py	2016-12-31 11:01:36 +
+++ openlp.py	2017-09-23 05:33:05 +
@@ -20,13 +20,18 @@
 # with this program; if not, write to the Free Software Foundation, Inc., 59  #
 # Temple Place, Suite 330, Boston, MA 02111-1307 USA  #
 ###
-
+"""
+The entrypoint for OpenLP
+"""
+import faulthandler
+import multiprocessing
 import sys
-import multiprocessing
 
 from openlp.core.common import is_win, is_macosx
+from openlp.core.common.applocation import AppLocation
 from openlp.core import main
 
+faulthandler.enable(open(str(AppLocation.get_directory(AppLocation.CacheDir) / 'error.log'), 'wb'))
 
 if __name__ == '__main__':
 """

=== modified file 'openlp/core/__init__.py'
--- openlp/core/__init__.py	2017-09-20 20:44:57 +
+++ openlp/core/__init__.py	2017-09-23 05:33:05 +
@@ -26,7 +26,6 @@
 All the core functions of the OpenLP application including the GUI, settings,
 logging and a plugin framework are contained within the openlp.core module.
 """
-
 import argparse
 import logging
 import sys
@@ -39,7 +38,7 @@
 from openlp.core.common import Registry, OpenLPMixin, AppLocation, LanguageManager, Settings, UiStrings, \
 check_directory_exists, is_macosx, is_win, translate
 from openlp.core.common.path import Path, copytree
-from openlp.core.common.versionchecker import VersionThread, get_application_version
+from openlp.core.version import check_for_update, get_version
 from openlp.core.lib import ScreenList
 from openlp.core.resources import qInitResources
 from openlp.core.ui import SplashScreen
@@ -153,8 +152,8 @@
 self.processEvents()
 if not has_run_wizard:
 self.main_window.first_time()
-version = VersionThread(self.main_window)
-version.start()
+if Settings().value('core/update check'):
+check_for_update(self.main_window)
 self.main_window.is_display_blank()
 self.main_window.app_startup()
 return self.exec()
@@ -233,7 +232,7 @@
 :par

[Openlp-core] [Merge] lp:~phill-ridout/openlp/pathlib5 into lp:openlp

2017-09-22 Thread noreply
The proposal to merge lp:~phill-ridout/openlp/pathlib5 into lp:openlp has been 
updated.

Status: Approved => Merged

For more details, see:
https://code.launchpad.net/~phill-ridout/openlp/pathlib5/+merge/331127
-- 
Your team OpenLP Core is subscribed to branch lp:openlp.

___
Mailing list: https://launchpad.net/~openlp-core
Post to : openlp-core@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openlp-core
More help   : https://help.launchpad.net/ListHelp


Re: [Openlp-core] [Merge] lp:~phill-ridout/openlp/pathlib5 into lp:openlp

2017-09-22 Thread Tim Bentley
Review: Approve


-- 
https://code.launchpad.net/~phill-ridout/openlp/pathlib5/+merge/331127
Your team OpenLP Core is subscribed to branch lp:openlp.

___
Mailing list: https://launchpad.net/~openlp-core
Post to : openlp-core@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openlp-core
More help   : https://help.launchpad.net/ListHelp


[Openlp-core] [Merge] lp:~phill-ridout/openlp/pathlib5 into lp:openlp

2017-09-22 Thread Tim Bentley
The proposal to merge lp:~phill-ridout/openlp/pathlib5 into lp:openlp has been 
updated.

Status: Needs review => Approved

For more details, see:
https://code.launchpad.net/~phill-ridout/openlp/pathlib5/+merge/331127
-- 
Your team OpenLP Core is subscribed to branch lp:openlp.

___
Mailing list: https://launchpad.net/~openlp-core
Post to : openlp-core@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openlp-core
More help   : https://help.launchpad.net/ListHelp


Re: [Openlp-core] [Merge] lp:~phill-ridout/openlp/pathlib5 into lp:openlp

2017-09-22 Thread Tomas Groth
Review: Approve


-- 
https://code.launchpad.net/~phill-ridout/openlp/pathlib5/+merge/331127
Your team OpenLP Core is subscribed to branch lp:openlp.

___
Mailing list: https://launchpad.net/~openlp-core
Post to : openlp-core@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openlp-core
More help   : https://help.launchpad.net/ListHelp


[Openlp-core] [Merge] lp:~alisonken1/openlp/pjlink2-k into lp:openlp

2017-09-22 Thread noreply
The proposal to merge lp:~alisonken1/openlp/pjlink2-k into lp:openlp has been 
updated.

Status: Needs review => Merged

For more details, see:
https://code.launchpad.net/~alisonken1/openlp/pjlink2-k/+merge/331191
-- 
Your team OpenLP Core is subscribed to branch lp:openlp.

___
Mailing list: https://launchpad.net/~openlp-core
Post to : openlp-core@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openlp-core
More help   : https://help.launchpad.net/ListHelp


Re: [Openlp-core] [Merge] lp:~alisonken1/openlp/pjlink2-k into lp:openlp

2017-09-22 Thread Tim Bentley
Review: Approve


-- 
https://code.launchpad.net/~alisonken1/openlp/pjlink2-k/+merge/331191
Your team OpenLP Core is subscribed to branch lp:openlp.

___
Mailing list: https://launchpad.net/~openlp-core
Post to : openlp-core@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openlp-core
More help   : https://help.launchpad.net/ListHelp


Re: [Openlp-core] [Merge] lp:~trb143/openlp/webfixes into lp:openlp

2017-09-22 Thread Raoul Snyman
Review: Needs Fixing

With the API moving into core, we should still be able to disable the remote 
plugin. If you can't disable the remote plugin, then we're doing something 
wrong.
-- 
https://code.launchpad.net/~trb143/openlp/webfixes/+merge/331165
Your team OpenLP Core is subscribed to branch lp:openlp.

___
Mailing list: https://launchpad.net/~openlp-core
Post to : openlp-core@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openlp-core
More help   : https://help.launchpad.net/ListHelp


Re: [Openlp-core] [Merge] lp:~trb143/openlp/webfixes into lp:openlp

2017-09-22 Thread Tomas Groth
Review: Approve


-- 
https://code.launchpad.net/~trb143/openlp/webfixes/+merge/331165
Your team OpenLP Core is subscribed to branch lp:openlp.

___
Mailing list: https://launchpad.net/~openlp-core
Post to : openlp-core@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openlp-core
More help   : https://help.launchpad.net/ListHelp


Re: [Openlp-core] [Merge] lp:~alisonken1/openlp/pjlink2-k into lp:openlp

2017-09-22 Thread Tomas Groth
Review: Approve

Looks ok to me.
-- 
https://code.launchpad.net/~alisonken1/openlp/pjlink2-k/+merge/331191
Your team OpenLP Core is subscribed to branch lp:openlp.

___
Mailing list: https://launchpad.net/~openlp-core
Post to : openlp-core@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openlp-core
More help   : https://help.launchpad.net/ListHelp


[Openlp-core] [Merge] lp:~alisonken1/openlp/pjlink2-k into lp:openlp

2017-09-22 Thread Ken Roberts
Ken Roberts has proposed merging lp:~alisonken1/openlp/pjlink2-k into lp:openlp.

Commit message:
PJLink2 update K

Requested reviews:
  OpenLP Core (openlp-core)

For more details, see:
https://code.launchpad.net/~alisonken1/openlp/pjlink2-k/+merge/331191

PJlink2 update K

- Update notes in PJLink-Notes.odt/update PDF
- Add PJLink.get_socket() (process socket data)
- Add PJLink.get_buffer() (process non-socket data)
- Update PJLink.get_data() to work with get_socket/get_buffer
- Cleanup ProjectorManager code
- Fix incorrect note reference to song db in test_projector_db
- Fix projector tests for change to PJLink() creation
- Start PJLinkUDP class
- Remove unused pjlink2.py module
- Code oops cleanups

[SUCCESS] https://ci.openlp.io/job/Branch-01-Pull/2199/
[SUCCESS] https://ci.openlp.io/job/Branch-02-Functional-Tests/2102/
[SUCCESS] https://ci.openlp.io/job/Branch-03-Interface-Tests/1989/
[SUCCESS] https://ci.openlp.io/job/Branch-04a-Code_Analysis/1359/
[SUCCESS] https://ci.openlp.io/job/Branch-04b-Test_Coverage/1192/
[SUCCESS] https://ci.openlp.io/job/Branch-04c-Code_Analysis2/322/
[FAILURE] https://ci.openlp.io/job/Branch-05-AppVeyor-Tests/162/

-- 
Your team OpenLP Core is requested to review the proposed merge of 
lp:~alisonken1/openlp/pjlink2-k into lp:openlp.
=== modified file 'documentation/PJLink_Notes.odt'
Binary files documentation/PJLink_Notes.odt	2017-09-09 06:57:21 + and documentation/PJLink_Notes.odt	2017-09-22 12:12:22 + differ
=== modified file 'documentation/PJLink_Notes.pdf'
Binary files documentation/PJLink_Notes.pdf	2017-09-09 06:57:21 + and documentation/PJLink_Notes.pdf	2017-09-22 12:12:22 + differ
=== modified file 'openlp/core/lib/projector/db.py'
--- openlp/core/lib/projector/db.py	2017-06-25 02:21:07 +
+++ openlp/core/lib/projector/db.py	2017-09-22 12:12:22 +
@@ -341,9 +341,9 @@
 """
 old_projector = self.get_object_filtered(Projector, Projector.ip == projector.ip)
 if old_projector is not None:
-log.warning('add_new() skipping entry ip="{ip}" (Already saved)'.format(ip=old_projector.ip))
+log.warning('add_projector() skipping entry ip="{ip}" (Already saved)'.format(ip=old_projector.ip))
 return False
-log.debug('add_new() saving new entry')
+log.debug('add_projector() saving new entry')
 log.debug('ip="{ip}", name="{name}", location="{location}"'.format(ip=projector.ip,
name=projector.name,
location=projector.location))

=== modified file 'openlp/core/lib/projector/pjlink.py'
--- openlp/core/lib/projector/pjlink.py	2017-08-23 19:46:30 +
+++ openlp/core/lib/projector/pjlink.py	2017-09-22 12:12:22 +
@@ -72,6 +72,28 @@
 PJLINK_SUFFIX = CR
 
 
+class PJLinkUDP(QtNetwork.QUdpSocket):
+"""
+Socket service for PJLink UDP socket.
+"""
+# New commands available in PJLink Class 2
+pjlink_udp_commands = [
+'ACKN',  # Class 2  (cmd is SRCH)
+'ERST',  # Class 1/2
+'INPT',  # Class 1/2
+'LKUP',  # Class 2  (reply only - no cmd)
+'POWR',  # Class 1/2
+'SRCH'   # Class 2  (reply is ACKN)
+]
+
+def __init__(self, port=PJLINK_PORT):
+"""
+Initialize socket
+"""
+
+self.port = port
+
+
 class PJLinkCommands(object):
 """
 Process replies from PJLink projector.
@@ -488,7 +510,7 @@
 
 class PJLink(PJLinkCommands, QtNetwork.QTcpSocket):
 """
-Socket service for connecting to a PJLink-capable projector.
+Socket service for PJLink TCP socket.
 """
 # Signals sent by this module
 changeStatus = QtCore.pyqtSignal(str, int, str)
@@ -499,43 +521,29 @@
 projectorReceivedData = QtCore.pyqtSignal()  # Notify when received data finished processing
 projectorUpdateIcons = QtCore.pyqtSignal()  # Update the status icons on toolbar
 
-# New commands available in PJLink Class 2
-pjlink_udp_commands = [
-'ACKN',  # Class 2
-'ERST',  # Class 1 or 2
-'INPT',  # Class 1 or 2
-'LKUP',  # Class 2
-'POWR',  # Class 1 or 2
-'SRCH'   # Class 2
-]
-
-def __init__(self, port=PJLINK_PORT, *args, **kwargs):
+def __init__(self, projector, *args, **kwargs):
 """
 Setup for instance.
 Options should be in kwargs except for port which does have a default.
 
-:param name: Display name
-:param ip: IP address to connect to
-:param port: Port to use. Default to PJLINK_PORT
-:param pin: Access pin (if needed)
+:param projector: Database record of projector
 
 Optional parameters
-:param dbid: Database ID number
-:param location: Location where projector is physically located
-:param notes: Extra notes about the projector
 :param poll_time: Time (in seconds) t