[Openlp-core] Linux Test Results

2018-08-22 Thread Raoul Snyman
Tests failed, please see https://ci.openlp.io/job/MP-02-Linux_Tests/23/ for 
more details
-- 
https://code.launchpad.net/~raoul-snyman/openlp/pep440/+merge/353607
Your team OpenLP Core is requested to review the proposed merge of 
lp:~raoul-snyman/openlp/pep440 into 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/pep440 into lp:openlp

2018-08-22 Thread Raoul Snyman
Raoul Snyman has proposed merging lp:~raoul-snyman/openlp/pep440 into lp:openlp.

Commit message:
Make our version number PEP 440 compliant and add a script for Jenkins to 
report back to a merge proposal.

Requested reviews:
  OpenLP Core (openlp-core)

For more details, see:
https://code.launchpad.net/~raoul-snyman/openlp/pep440/+merge/353607
-- 
Your team OpenLP Core is requested to review the proposed merge of 
lp:~raoul-snyman/openlp/pep440 into lp:openlp.
=== added file 'scripts/mp_update.py'
--- scripts/mp_update.py	1970-01-01 00:00:00 +
+++ scripts/mp_update.py	2018-08-22 23:08:29 +
@@ -0,0 +1,61 @@
+#!/usr/bin/env python2
+import sys
+import os
+from argparse import ArgumentParser
+from launchpadlib.credentials import UnencryptedFileCredentialStore
+from launchpadlib.launchpad import Launchpad
+
+HERE = os.path.dirname(os.path.abspath(__file__))
+
+
+def parse_args():
+"""
+Parse the command line arguments
+"""
+parser = ArgumentParser()
+parser.add_argument('-p', '--merge-proposal', required=True,
+help='The main part of the URL to the merge proposal, without the hostname.')
+parser.add_argument('-m', '--message', required=True,
+help='The comment to add to the merge proposal')
+parser.add_argument('-s', '--subject', default=None, help='The subject for the comment')
+return parser.parse_args()
+
+
+def get_merge_proposal(merge_proposal_url):
+"""
+Get the merge proposal for the ``merge_proposal_url``
+"""
+lp = Launchpad.login_with('OpenLP CI', 'production', version='devel',
+  credential_store=UnencryptedFileCredentialStore(os.path.join(HERE, 'launchpadcreds.txt')))
+openlp_project = lp.projects['openlp']
+merge_proposals = openlp_project.getMergeProposals()
+for merge_proposal in merge_proposals:
+if str(merge_proposal).endswith(merge_proposal_url):
+return merge_proposal
+return None
+
+
+def create_comment(merge_proposal, comment, subject):
+"""
+Create a comment on the merge proposal
+"""
+if not subject:
+subject = 'Jenkins test update'
+merge_proposal.createComment(subject, content=comment)
+
+
+def main():
+"""
+Run the thing
+"""
+args = parse_args()
+merge_proposal = get_merge_proposal(args.merge_proposal)
+if not merge_proposal:
+print('No merge proposal with that URL found')
+sys.exit(1)
+else:
+create_comment(merge_proposal, args.message, args.subject)
+
+
+if __name__ == '__main__':
+main()

=== modified file 'setup.py'
--- setup.py	2017-12-29 09:15:48 +
+++ setup.py	2018-08-22 23:08:29 +
@@ -99,10 +99,11 @@
 if tree_revision == tag_revision:
 version_string = tag_version.decode('utf-8')
 else:
-version_string = '%s-bzr%s' % (tag_version.decode('utf-8'), tree_revision.decode('utf-8'))
+version_string = '{version}.dev{revision}'.format(version=tag_version.decode('utf-8'),
+  revision=tree_revision.decode('utf-8'))
 ver_file = open(VERSION_FILE, 'w')
 ver_file.write(version_string)
-except:
+except Exception:
 ver_file = open(VERSION_FILE, 'r')
 version_string = ver_file.read().strip()
 finally:

___
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/pep440 into lp:openlp

2018-08-22 Thread Raoul Snyman
The proposal to merge lp:~raoul-snyman/openlp/pep440 into lp:openlp has been 
updated.

Status: Needs review => Superseded

For more details, see:
https://code.launchpad.net/~raoul-snyman/openlp/pep440/+merge/353579
-- 
Your team OpenLP Core is requested to review the proposed merge of 
lp:~raoul-snyman/openlp/pep440 into 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] comment

2018-08-22 Thread Raoul Snyman
= test session starts ==
platform darwin -- Python 3.5.6, pytest-3.3.0, py-1.5.2, pluggy-0.6.0
rootdir: /Users/raoul/Jenkins/workspace/MP-03-macOS-Tests/OpenLP-2.5-bzr2829, 
inifile:
collected 270 items / 117 errors

 ERRORS 
__ ERROR collecting tests/functional/openlp_core/test_app.py ___
ImportError while importing test module 
'/Users/raoul/Jenkins/workspace/MP-03-macOS-Tests/OpenLP-2.5-bzr2829/tests/functional/openlp_core/test_app.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
tests/functional/openlp_core/test_app.py:28: in 
from openlp.core.app import OpenLP, parse_options
openlp/core/app.py:46: in 
from openlp.core.ui import SplashScreen
openlp/core/ui/__init__.py:96: in 
from .firsttimeform import FirstTimeForm
openlp/core/ui/firsttimeform.py:43: in 
from openlp.core.lib import PluginStatus, build_icon
openlp/core/lib/__init__.py:619: in 
from .serviceitem import ServiceItem, ServiceItemType, ItemCapabilities
openlp/core/lib/serviceitem.py:38: in 
from openlp.core.ui.icons import UiIcons
openlp/core/ui/icons.py:26: in 
import qtawesome as qta
E   ImportError: No module named 'qtawesome'
___ ERROR collecting tests/functional/openlp_core/api/test_deploy.py ___
ImportError while importing test module 
'/Users/raoul/Jenkins/workspace/MP-03-macOS-Tests/OpenLP-2.5-bzr2829/tests/functional/openlp_core/api/test_deploy.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
tests/functional/openlp_core/api/test_deploy.py:26: in 
from openlp.core.api.deploy import deploy_zipfile, download_sha256, 
download_and_check
openlp/core/api/__init__.py:26: in 
from openlp.core.api.tab import ApiTab
openlp/core/api/tab.py:31: in 
from openlp.core.lib import SettingsTab
openlp/core/lib/__init__.py:619: in 
from .serviceitem import ServiceItem, ServiceItemType, ItemCapabilities
openlp/core/lib/serviceitem.py:38: in 
from openlp.core.ui.icons import UiIcons
openlp/core/ui/__init__.py:96: in 
from .firsttimeform import FirstTimeForm
openlp/core/ui/firsttimeform.py:44: in 
from openlp.core.lib.ui import critical_error_message_box
openlp/core/lib/ui.py:34: in 
from openlp.core.ui.icons import UiIcons
openlp/core/ui/icons.py:26: in 
import qtawesome as qta
E   ImportError: No module named 'qtawesome'
 ERROR collecting tests/functional/openlp_core/api/test_tab.py _
ImportError while importing test module 
'/Users/raoul/Jenkins/workspace/MP-03-macOS-Tests/OpenLP-2.5-bzr2829/tests/functional/openlp_core/api/test_tab.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
tests/functional/openlp_core/api/test_tab.py:31: in 
from openlp.core.api.tab import ApiTab
openlp/core/api/__init__.py:26: in 
from openlp.core.api.tab import ApiTab
openlp/core/api/tab.py:31: in 
from openlp.core.lib import SettingsTab
openlp/core/lib/__init__.py:619: in 
from .serviceitem import ServiceItem, ServiceItemType, ItemCapabilities
openlp/core/lib/serviceitem.py:38: in 
from openlp.core.ui.icons import UiIcons
openlp/core/ui/__init__.py:96: in 
from .firsttimeform import FirstTimeForm
openlp/core/ui/firsttimeform.py:44: in 
from openlp.core.lib.ui import critical_error_message_box
openlp/core/lib/ui.py:34: in 
from openlp.core.ui.icons import UiIcons
openlp/core/ui/icons.py:26: in 
import qtawesome as qta
E   ImportError: No module named 'qtawesome'
_ ERROR collecting tests/functional/openlp_core/api/test_websockets.py _
ImportError while importing test module 
'/Users/raoul/Jenkins/workspace/MP-03-macOS-Tests/OpenLP-2.5-bzr2829/tests/functional/openlp_core/api/test_websockets.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
tests/functional/openlp_core/api/test_websockets.py:29: in 
from openlp.core.api.websockets import WebSocketServer
openlp/core/api/__init__.py:26: in 
from openlp.core.api.tab import ApiTab
openlp/core/api/tab.py:31: in 
from openlp.core.lib import SettingsTab
openlp/core/lib/__init__.py:619: in 
from .serviceitem import ServiceItem, ServiceItemType, ItemCapabilities
openlp/core/lib/serviceitem.py:38: in 
from openlp.core.ui.icons import UiIcons
openlp/core/ui/__init__.py:96: in 
from .firsttimeform import FirstTimeForm
openlp/core/ui/firsttimeform.py:44: in 
from openlp.core.lib.ui import critical_error_message_box
openlp/core/lib/ui.py:34: in 
from openlp.core.ui.icons import UiIcons
openlp/core/ui/icons.py:26: in 
import qtawesome as qta
E   ImportError: No module named 'qtawesome'
 ERROR collecting tests/functional/openlp_core/api/endpoint/test_controller.py _
ImportError while importing test module 

[Openlp-core] comment

2018-08-22 Thread Raoul Snyman
= test session starts ==
platform linux -- Python 3.6.5, pytest-3.6.2, py-1.5.3, pluggy-0.6.0
rootdir: /var/lib/jenkins/jobs/MP-02-Linux_Tests/workspace/OpenLP-2.5-bzr2829, 
inifile:
plugins: mock-1.7.1, cov-2.5.1
collected 1341 items / 3 errors

 ERRORS 
 ERROR collecting 
tests/functional/openlp_plugins/bibles/test_wordprojectimport.py 
tests/functional/openlp_plugins/bibles/test_wordprojectimport.py:33: in 
INDEX_PAGE = (TEST_PATH / 'wordproject_index.htm').read_bytes().decode()
/usr/lib/python3.6/pathlib.py:1187: in read_bytes
with self.open(mode='rb') as f:
/usr/lib/python3.6/pathlib.py:1181: in open
opener=self._opener)
/usr/lib/python3.6/pathlib.py:1035: in _opener
return self._accessor.open(self, flags, mode)
/usr/lib/python3.6/pathlib.py:387: in wrapped
return strfunc(str(pathobj), *args)
E   FileNotFoundError: [Errno 2] No such file or directory: 
'/var/lib/jenkins/jobs/MP-02-Linux_Tests/workspace/OpenLP-2.5-bzr2829/tests/resources/bibles/wordproject_index.htm'
___ ERROR collecting tests/functional/openlp_plugins/media/test_mediaitem.py ___
tests/functional/openlp_plugins/media/test_mediaitem.py:32: in 
from openlp.plugins.media.lib.mediaitem import MediaMediaItem
openlp/plugins/media/lib/__init__.py:23: in 
from .mediaitem import MediaMediaItem
openlp/plugins/media/lib/mediaitem.py:49: in 
CLAPPERBOARD = UiIcons().clapperboard
openlp/core/ui/icons.py:48: in __new__
cls.load(cls)
openlp/core/ui/icons.py:57: in load
qta.load_font('op', font_path, charmap_path)
/usr/lib/python3/dist-packages/qtawesome/__init__.py:153: in load_font
return _instance().load_font(prefix, ttf_filename, charmap_filename, 
directory)
/usr/lib/python3/dist-packages/qtawesome/iconic_font.py:223: in load_font
os.path.join(directory, ttf_filename)))
E   qtawesome.iconic_font.FontError: Font at 
'/var/lib/jenkins/jobs/MP-02-Linux_Tests/workspace/OpenLP-2.5-bzr2829/openlp/core/ui/fonts/OpenLP.ttf'
 appears to be empty. If you are on Windows 10, please read 
https://support.microsoft.com/en-us/kb/3053676 to know how to prevent Windows 
from blocking the fonts that come with QtAwesome.
__ ERROR collecting tests/functional/openlp_plugins/media/test_mediaplugin.py __
tests/functional/openlp_plugins/media/test_mediaplugin.py:29: in 
from openlp.plugins.media.mediaplugin import MediaPlugin, 
process_check_binary
openlp/plugins/media/mediaplugin.py:38: in 
from openlp.plugins.media.lib import MediaMediaItem, MediaTab
openlp/plugins/media/lib/__init__.py:23: in 
from .mediaitem import MediaMediaItem
openlp/plugins/media/lib/mediaitem.py:49: in 
CLAPPERBOARD = UiIcons().clapperboard
E   AttributeError: 'UiIcons' object has no attribute 'clapperboard'
!!! Interrupted: 3 errors during collection 
=== 3 error in 8.16 seconds 
-- 
https://code.launchpad.net/~alisonken1/openlp/pjlink2-t/+merge/353593
Your team OpenLP Core is requested to review the proposed merge of 
lp:~alisonken1/openlp/pjlink2-t into 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-t into lp:openlp

2018-08-22 Thread Ken Roberts
Ken Roberts has proposed merging lp:~alisonken1/openlp/pjlink2-t into lp:openlp.

Commit message:
PJLink Update T

Requested reviews:
  OpenLP Core (openlp-core)

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

- Move tests/functional/openlp_core/common/test_networkinterfaces.py to 
tests/openlp_core/common
- Minor cleanups in openlp.core.common.__init__.get_local_ip4()
- Add more get_local_ip4 tests
- Add missing __init__.py files in projector test directories


lp:~alisonken1/openlp/pjlink2-t (revision 2829)
https://ci.openlp.io/job/Branch-01-Pull/2568/  [SUCCESS]
https://ci.openlp.io/job/Branch-02a-Linux-Tests/2466/  [SUCCESS]
https://ci.openlp.io/job/Branch-02b-macOS-Tests/247/   [FAILURE]
https://ci.openlp.io/job/Branch-03a-Build-Source/154/  [SUCCESS]
https://ci.openlp.io/job/Branch-03b-Build-macOS/139/   [SUCCESS]
https://ci.openlp.io/job/Branch-04a-Code-Analysis/1616/[SUCCESS]
https://ci.openlp.io/job/Branch-04b-Test-Coverage/1429/[SUCCESS]
https://ci.openlp.io/job/Branch-05-AppVeyor-Tests/333/ [FAILURE]


-- 
Your team OpenLP Core is requested to review the proposed merge of 
lp:~alisonken1/openlp/pjlink2-t into lp:openlp.
=== modified file 'openlp/core/common/__init__.py'
--- openlp/core/common/__init__.py	2018-08-03 22:32:32 +
+++ openlp/core/common/__init__.py	2018-08-22 18:09:46 +
@@ -60,7 +60,6 @@
 
 :returns: Dict of interfaces
 """
-# Get the local IPv4 active address(es) that are NOT localhost (lo or '127.0.0.1')
 log.debug('Getting local IPv4 interface(es) information')
 my_ip4 = {}
 for iface in QNetworkInterface.allInterfaces():
@@ -70,8 +69,6 @@
 log.debug('Checking address(es) protocol')
 for address in iface.addressEntries():
 ip = address.ip()
-# NOTE: Next line will skip if interface is localhost - keep for now until we decide about it later
-# if (ip.protocol() == QAbstractSocket.IPv4Protocol) and (ip != QHostAddress.LocalHost):
 log.debug('Checking for protocol == IPv4Protocol')
 if ip.protocol() == QAbstractSocket.IPv4Protocol:
 log.debug('Getting interface information')
@@ -83,12 +80,13 @@
  ip.toIPv4Address()).toString()
 }
 log.debug('Adding {iface} to active list'.format(iface=iface.name()))
+if len(my_ip4) == 0:
+log.warning('No active IPv4 network interfaces detected')
+return my_ip4
 if 'localhost' in my_ip4:
 log.debug('Renaming windows localhost to lo')
 my_ip4['lo'] = my_ip4['localhost']
 my_ip4.pop('localhost')
-if len(my_ip4) == 0:
-log.warning('No active IPv4 network interfaces detected')
 if len(my_ip4) == 1:
 if 'lo' in my_ip4:
 # No active interfaces - so leave localhost in there

=== added directory 'tests/openlp_core/common'
=== added file 'tests/openlp_core/common/__init__.py'
--- tests/openlp_core/common/__init__.py	1970-01-01 00:00:00 +
+++ tests/openlp_core/common/__init__.py	2018-08-22 18:09:46 +
@@ -0,0 +1,24 @@
+# -*- coding: utf-8 -*-
+# vim: autoindent shiftwidth=4 expandtab textwidth=120 tabstop=4 softtabstop=4
+
+###
+# OpenLP - Open Source Lyrics Projection  #
+# --- #
+# Copyright (c) 2008-2018 OpenLP Developers   #
+# --- #
+# This program is free software; you can redistribute it and/or modify it #
+# under the terms of the GNU General Public License as published by the Free  #
+# Software Foundation; version 2 of the License.  #
+# #
+# This program is distributed in the hope that it will be useful, but WITHOUT #
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or   #
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for#
+# more details.   #
+# #
+# You should have received a copy of the GNU General Public License along #
+# with this program; if not, write to the Free Software Foundation, Inc., 59  #
+# Temple Place, Suite 330, Boston, MA 02111-1307 USA  #
+###
+"""
+:mod 

Re: [Openlp-core] [Merge] lp:~thelinuxguy/openlp/editable-remote-port into lp:openlp

2018-08-22 Thread Raoul Snyman
Review: Approve


-- 
https://code.launchpad.net/~thelinuxguy/openlp/editable-remote-port/+merge/353586
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:~thelinuxguy/openlp/editable-remote-port into lp:openlp

2018-08-22 Thread Raoul Snyman
Simon and I were discussing this in IRC after a chap who was having issues with 
his set up.

I think we *should* make both the IP and the port editable, BUT ... we should 
hide them by default under a collapsable "Advanced settings" section. We're 
going to have folks who want to do some weird set up and hook all sorts of 
things together, and I don't want to prevent that, but I do want to make life 
easier for the Joe Soaps who can't tell an IP address from a VB GUI ;-)
-- 
https://code.launchpad.net/~thelinuxguy/openlp/editable-remote-port/+merge/353586
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] comment

2018-08-22 Thread Raoul Snyman
= test session starts ==
platform darwin -- Python 3.5.6, pytest-3.3.0, py-1.5.2, pluggy-0.6.0
rootdir: /Users/raoul/Jenkins/workspace/MP-03-macOS-Tests/OpenLP-2.5-bzr2830, 
inifile:
collected 250 items / 119 errors

 ERRORS 
__ ERROR collecting tests/functional/openlp_core/test_app.py ___
ImportError while importing test module 
'/Users/raoul/Jenkins/workspace/MP-03-macOS-Tests/OpenLP-2.5-bzr2830/tests/functional/openlp_core/test_app.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
tests/functional/openlp_core/test_app.py:28: in 
from openlp.core.app import OpenLP, parse_options
openlp/core/app.py:46: in 
from openlp.core.ui import SplashScreen
openlp/core/ui/__init__.py:96: in 
from .firsttimeform import FirstTimeForm
openlp/core/ui/firsttimeform.py:43: in 
from openlp.core.lib import PluginStatus, build_icon
openlp/core/lib/__init__.py:619: in 
from .serviceitem import ServiceItem, ServiceItemType, ItemCapabilities
openlp/core/lib/serviceitem.py:38: in 
from openlp.core.ui.icons import UiIcons
openlp/core/ui/icons.py:26: in 
import qtawesome as qta
E   ImportError: No module named 'qtawesome'
___ ERROR collecting tests/functional/openlp_core/api/test_deploy.py ___
ImportError while importing test module 
'/Users/raoul/Jenkins/workspace/MP-03-macOS-Tests/OpenLP-2.5-bzr2830/tests/functional/openlp_core/api/test_deploy.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
tests/functional/openlp_core/api/test_deploy.py:26: in 
from openlp.core.api.deploy import deploy_zipfile, download_sha256, 
download_and_check
openlp/core/api/__init__.py:26: in 
from openlp.core.api.tab import ApiTab
openlp/core/api/tab.py:31: in 
from openlp.core.lib import SettingsTab
openlp/core/lib/__init__.py:619: in 
from .serviceitem import ServiceItem, ServiceItemType, ItemCapabilities
openlp/core/lib/serviceitem.py:38: in 
from openlp.core.ui.icons import UiIcons
openlp/core/ui/__init__.py:96: in 
from .firsttimeform import FirstTimeForm
openlp/core/ui/firsttimeform.py:44: in 
from openlp.core.lib.ui import critical_error_message_box
openlp/core/lib/ui.py:34: in 
from openlp.core.ui.icons import UiIcons
openlp/core/ui/icons.py:26: in 
import qtawesome as qta
E   ImportError: No module named 'qtawesome'
 ERROR collecting tests/functional/openlp_core/api/test_tab.py _
ImportError while importing test module 
'/Users/raoul/Jenkins/workspace/MP-03-macOS-Tests/OpenLP-2.5-bzr2830/tests/functional/openlp_core/api/test_tab.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
tests/functional/openlp_core/api/test_tab.py:31: in 
from openlp.core.api.tab import ApiTab
openlp/core/api/__init__.py:26: in 
from openlp.core.api.tab import ApiTab
openlp/core/api/tab.py:31: in 
from openlp.core.lib import SettingsTab
openlp/core/lib/__init__.py:619: in 
from .serviceitem import ServiceItem, ServiceItemType, ItemCapabilities
openlp/core/lib/serviceitem.py:38: in 
from openlp.core.ui.icons import UiIcons
openlp/core/ui/__init__.py:96: in 
from .firsttimeform import FirstTimeForm
openlp/core/ui/firsttimeform.py:44: in 
from openlp.core.lib.ui import critical_error_message_box
openlp/core/lib/ui.py:34: in 
from openlp.core.ui.icons import UiIcons
openlp/core/ui/icons.py:26: in 
import qtawesome as qta
E   ImportError: No module named 'qtawesome'
_ ERROR collecting tests/functional/openlp_core/api/test_websockets.py _
ImportError while importing test module 
'/Users/raoul/Jenkins/workspace/MP-03-macOS-Tests/OpenLP-2.5-bzr2830/tests/functional/openlp_core/api/test_websockets.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
tests/functional/openlp_core/api/test_websockets.py:29: in 
from openlp.core.api.websockets import WebSocketServer
openlp/core/api/__init__.py:26: in 
from openlp.core.api.tab import ApiTab
openlp/core/api/tab.py:31: in 
from openlp.core.lib import SettingsTab
openlp/core/lib/__init__.py:619: in 
from .serviceitem import ServiceItem, ServiceItemType, ItemCapabilities
openlp/core/lib/serviceitem.py:38: in 
from openlp.core.ui.icons import UiIcons
openlp/core/ui/__init__.py:96: in 
from .firsttimeform import FirstTimeForm
openlp/core/ui/firsttimeform.py:44: in 
from openlp.core.lib.ui import critical_error_message_box
openlp/core/lib/ui.py:34: in 
from openlp.core.ui.icons import UiIcons
openlp/core/ui/icons.py:26: in 
import qtawesome as qta
E   ImportError: No module named 'qtawesome'
 ERROR collecting tests/functional/openlp_core/api/endpoint/test_controller.py _
ImportError while importing test module 

[Openlp-core] comment

2018-08-22 Thread Raoul Snyman


-- 
https://code.launchpad.net/~thelinuxguy/openlp/editable-remote-port/+merge/353586
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] comment

2018-08-22 Thread Raoul Snyman


-- 
https://code.launchpad.net/~thelinuxguy/openlp/editable-remote-port/+merge/353586
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] comment

2018-08-22 Thread Raoul Snyman
= test session starts ==
platform linux -- Python 3.6.5, pytest-3.6.2, py-1.5.3, pluggy-0.6.0
rootdir: /var/lib/jenkins/jobs/MP-02-Linux_Tests/workspace/OpenLP-2.5-bzr2830, 
inifile:
plugins: mock-1.7.1, cov-2.5.1
collected 1211 items / 14 errors

 ERRORS 
 ERROR collecting 
tests/functional/openlp_plugins/bibles/test_wordprojectimport.py 
tests/functional/openlp_plugins/bibles/test_wordprojectimport.py:33: in 
INDEX_PAGE = (TEST_PATH / 'wordproject_index.htm').read_bytes().decode()
/usr/lib/python3.6/pathlib.py:1187: in read_bytes
with self.open(mode='rb') as f:
/usr/lib/python3.6/pathlib.py:1181: in open
opener=self._opener)
/usr/lib/python3.6/pathlib.py:1035: in _opener
return self._accessor.open(self, flags, mode)
/usr/lib/python3.6/pathlib.py:387: in wrapped
return strfunc(str(pathobj), *args)
E   FileNotFoundError: [Errno 2] No such file or directory: 
'/var/lib/jenkins/jobs/MP-02-Linux_Tests/workspace/OpenLP-2.5-bzr2830/tests/resources/bibles/wordproject_index.htm'
___ ERROR collecting tests/functional/openlp_plugins/media/test_mediaitem.py ___
tests/functional/openlp_plugins/media/test_mediaitem.py:32: in 
from openlp.plugins.media.lib.mediaitem import MediaMediaItem
openlp/plugins/media/lib/__init__.py:23: in 
from .mediaitem import MediaMediaItem
openlp/plugins/media/lib/mediaitem.py:49: in 
CLAPPERBOARD = UiIcons().clapperboard
openlp/core/ui/icons.py:48: in __new__
cls.load(cls)
openlp/core/ui/icons.py:57: in load
qta.load_font('op', font_path, charmap_path)
/usr/lib/python3/dist-packages/qtawesome/__init__.py:153: in load_font
return _instance().load_font(prefix, ttf_filename, charmap_filename, 
directory)
/usr/lib/python3/dist-packages/qtawesome/iconic_font.py:223: in load_font
os.path.join(directory, ttf_filename)))
E   qtawesome.iconic_font.FontError: Font at 
'/var/lib/jenkins/jobs/MP-02-Linux_Tests/workspace/OpenLP-2.5-bzr2830/openlp/core/ui/fonts/OpenLP.ttf'
 appears to be empty. If you are on Windows 10, please read 
https://support.microsoft.com/en-us/kb/3053676 to know how to prevent Windows 
from blocking the fonts that come with QtAwesome.
__ ERROR collecting tests/functional/openlp_plugins/media/test_mediaplugin.py __
tests/functional/openlp_plugins/media/test_mediaplugin.py:29: in 
from openlp.plugins.media.mediaplugin import MediaPlugin, 
process_check_binary
openlp/plugins/media/mediaplugin.py:38: in 
from openlp.plugins.media.lib import MediaMediaItem, MediaTab
openlp/plugins/media/lib/__init__.py:23: in 
from .mediaitem import MediaMediaItem
openlp/plugins/media/lib/mediaitem.py:49: in 
CLAPPERBOARD = UiIcons().clapperboard
E   AttributeError: 'UiIcons' object has no attribute 'clapperboard'
__ ERROR collecting tests/openlp_core/projectors/test_projector_db.py __
ImportError while importing test module 
'/var/lib/jenkins/jobs/MP-02-Linux_Tests/workspace/OpenLP-2.5-bzr2830/tests/openlp_core/projectors/test_projector_db.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3/dist-packages/uno.py:350: in _uno_import
return _builtin_import(name, *optargs, **kwargs)
tests/openlp_core/projectors/test_projector_db.py:41: in 
from tests.resources.projector.data import TEST_DB_PJLINK1, TEST_DB, 
TEST1_DATA, TEST2_DATA, TEST3_DATA
/usr/lib/python3/dist-packages/uno.py:428: in _uno_import
raise uno_import_exc
/usr/lib/python3/dist-packages/uno.py:350: in _uno_import
return _builtin_import(name, *optargs, **kwargs)
E   ImportError: No module named 'tests.resources' (or 
'tests.resources.projector.data.TEST_DB_PJLINK1' is unknown)
___ ERROR collecting tests/openlp_core/projectors/test_projector_editform.py ___
ImportError while importing test module 
'/var/lib/jenkins/jobs/MP-02-Linux_Tests/workspace/OpenLP-2.5-bzr2830/tests/openlp_core/projectors/test_projector_editform.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3/dist-packages/uno.py:350: in _uno_import
return _builtin_import(name, *optargs, **kwargs)
tests/openlp_core/projectors/test_projector_editform.py:34: in 
from tests.resources.projector.data import TEST_DB, TEST1_DATA
/usr/lib/python3/dist-packages/uno.py:428: in _uno_import
raise uno_import_exc
/usr/lib/python3/dist-packages/uno.py:350: in _uno_import
return _builtin_import(name, *optargs, **kwargs)
E   ImportError: No module named 'tests.resources' (or 
'tests.resources.projector.data.TEST_DB' is unknown)
 ERROR collecting tests/openlp_core/projectors/test_projector_pjlink_base_01.py 
ImportError while importing test module 
'/var/lib/jenkins/jobs/MP-02-Linux_Tests/workspace/OpenLP-2.5-bzr2830/tests/openlp_core/projectors/test_projector_pjlink_base_01.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:

Re: [Openlp-core] [Merge] lp:~thelinuxguy/openlp/editable-remote-port into lp:openlp

2018-08-22 Thread Tim Bentley
Review: Disapprove

This introduces issues with firewalls and the remotes and causes problems with 
the android and ios clients.  It was removed as this is a complication and an 
issue for support.
 
-- 
https://code.launchpad.net/~thelinuxguy/openlp/editable-remote-port/+merge/353586
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:~thelinuxguy/openlp/editable-remote-port into lp:openlp

2018-08-22 Thread Simon Hanna
Simon Hanna has proposed merging lp:~thelinuxguy/openlp/editable-remote-port 
into lp:openlp.

Requested reviews:
  OpenLP Core (openlp-core)

For more details, see:
https://code.launchpad.net/~thelinuxguy/openlp/editable-remote-port/+merge/353586

Somehow the port was changed to be static, this reintroduces customizable ports
-- 
Your team OpenLP Core is requested to review the proposed merge of 
lp:~thelinuxguy/openlp/editable-remote-port into lp:openlp.
=== modified file 'openlp/core/api/tab.py'
--- openlp/core/api/tab.py	2018-08-04 20:58:13 +
+++ openlp/core/api/tab.py	2018-08-22 16:43:25 +
@@ -71,7 +71,9 @@
 self.http_setting_layout.setObjectName('http_setting_layout')
 self.port_label = QtWidgets.QLabel(self.http_settings_group_box)
 self.port_label.setObjectName('port_label')
-self.port_spin_box = QtWidgets.QLabel(self.http_settings_group_box)
+self.port_spin_box = QtWidgets.QSpinBox(self.http_settings_group_box)
+self.port_spin_box.setMinimum(1024)
+self.port_spin_box.setMaximum(65535)
 self.port_spin_box.setObjectName('port_spin_box')
 self.http_setting_layout.addRow(self.port_label, self.port_spin_box)
 self.remote_url_label = QtWidgets.QLabel(self.http_settings_group_box)
@@ -213,7 +215,7 @@
 """
 Load the configuration and update the server configuration if necessary
 """
-self.port_spin_box.setText(str(Settings().value(self.settings_section + '/port')))
+self.port_spin_box.setValue(Settings().value(self.settings_section + '/port'))
 self.address_edit.setText(Settings().value(self.settings_section + '/ip address'))
 self.twelve_hour = Settings().value(self.settings_section + '/twelve hour')
 self.twelve_hour_check_box.setChecked(self.twelve_hour)
@@ -232,8 +234,10 @@
 """
 Save the configuration and update the server configuration if necessary
 """
-if Settings().value(self.settings_section + '/ip address') != self.address_edit.text():
+if Settings().value(self.settings_section + '/ip address') != self.address_edit.text() or \
+   Settings().value(self.settings_section + '/port') != self.port_spin_box.value():
 self.settings_form.register_post_process('remotes_config_updated')
+Settings().setValue(self.settings_section + '/port', self.port_spin_box.value())
 Settings().setValue(self.settings_section + '/ip address', self.address_edit.text())
 Settings().setValue(self.settings_section + '/twelve hour', self.twelve_hour)
 Settings().setValue(self.settings_section + '/thumbnails', self.thumbnails)

=== modified file 'tests/functional/openlp_core/api/test_tab.py'
--- tests/functional/openlp_core/api/test_tab.py	2018-08-04 20:58:13 +
+++ tests/functional/openlp_core/api/test_tab.py	2018-08-22 16:43:25 +
@@ -119,3 +119,27 @@
 assert self.form.live_url.text() == \
 "http://192.168.1.1:4316/main\;>http://192.168.1.1:4316/main", \
 'The return value should be a fully formed main link'
+
+def test_port_spin_box_is_available(self):
+"""
+Test that the port can be set using a SpinBox
+"""
+# GIVEN: The Remote Settings tab
+# THEN: The port input is a spin box
+assert isinstance(self.form.port_spin_box, QtWidgets.QSpinBox)
+
+def test_port_spin_box_maximum_value(self):
+"""
+Test that the maximum allowed value is 65535
+"""
+# GIVEN: The Remote Settings tab
+# THEN: The maximum allowed value is 65535
+assert self.form.port_spin_box.maximum() == 65535
+
+def test_port_spin_box_minimum_value(self):
+"""
+Test that the minimum allowed value is 1024
+"""
+# GIVEN: The Remote Settings tab
+# THEN: The minimum allowed value is 1024
+assert self.form.port_spin_box.minimum() == 1024

___
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] comment

2018-08-22 Thread Raoul Snyman
= test session starts ==
platform linux -- Python 3.6.5, pytest-3.6.2, py-1.5.3, pluggy-0.6.0
rootdir: /var/lib/jenkins/jobs/02-Run_Tests/workspace/OpenLP-2.5.dev2833, 
inifile:
plugins: mock-1.7.1, cov-2.5.1
collected 1208 items / 14 errors

 ERRORS 
 ERROR collecting 
tests/functional/openlp_plugins/bibles/test_wordprojectimport.py 
tests/functional/openlp_plugins/bibles/test_wordprojectimport.py:33: in 
INDEX_PAGE = (TEST_PATH / 'wordproject_index.htm').read_bytes().decode()
/usr/lib/python3.6/pathlib.py:1187: in read_bytes
with self.open(mode='rb') as f:
/usr/lib/python3.6/pathlib.py:1181: in open
opener=self._opener)
/usr/lib/python3.6/pathlib.py:1035: in _opener
return self._accessor.open(self, flags, mode)
/usr/lib/python3.6/pathlib.py:387: in wrapped
return strfunc(str(pathobj), *args)
E   FileNotFoundError: [Errno 2] No such file or directory: 
'/var/lib/jenkins/jobs/02-Run_Tests/workspace/OpenLP-2.5.dev2833/tests/resources/bibles/wordproject_index.htm'
___ ERROR collecting tests/functional/openlp_plugins/media/test_mediaitem.py ___
tests/functional/openlp_plugins/media/test_mediaitem.py:32: in 
from openlp.plugins.media.lib.mediaitem import MediaMediaItem
openlp/plugins/media/lib/__init__.py:23: in 
from .mediaitem import MediaMediaItem
openlp/plugins/media/lib/mediaitem.py:49: in 
CLAPPERBOARD = UiIcons().clapperboard
openlp/core/ui/icons.py:48: in __new__
cls.load(cls)
openlp/core/ui/icons.py:57: in load
qta.load_font('op', font_path, charmap_path)
/usr/lib/python3/dist-packages/qtawesome/__init__.py:153: in load_font
return _instance().load_font(prefix, ttf_filename, charmap_filename, 
directory)
/usr/lib/python3/dist-packages/qtawesome/iconic_font.py:223: in load_font
os.path.join(directory, ttf_filename)))
E   qtawesome.iconic_font.FontError: Font at 
'/var/lib/jenkins/jobs/02-Run_Tests/workspace/OpenLP-2.5.dev2833/openlp/core/ui/fonts/OpenLP.ttf'
 appears to be empty. If you are on Windows 10, please read 
https://support.microsoft.com/en-us/kb/3053676 to know how to prevent Windows 
from blocking the fonts that come with QtAwesome.
__ ERROR collecting tests/functional/openlp_plugins/media/test_mediaplugin.py __
tests/functional/openlp_plugins/media/test_mediaplugin.py:29: in 
from openlp.plugins.media.mediaplugin import MediaPlugin, 
process_check_binary
openlp/plugins/media/mediaplugin.py:38: in 
from openlp.plugins.media.lib import MediaMediaItem, MediaTab
openlp/plugins/media/lib/__init__.py:23: in 
from .mediaitem import MediaMediaItem
openlp/plugins/media/lib/mediaitem.py:49: in 
CLAPPERBOARD = UiIcons().clapperboard
E   AttributeError: 'UiIcons' object has no attribute 'clapperboard'
__ ERROR collecting tests/openlp_core/projectors/test_projector_db.py __
ImportError while importing test module 
'/var/lib/jenkins/jobs/02-Run_Tests/workspace/OpenLP-2.5.dev2833/tests/openlp_core/projectors/test_projector_db.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3/dist-packages/uno.py:350: in _uno_import
return _builtin_import(name, *optargs, **kwargs)
tests/openlp_core/projectors/test_projector_db.py:41: in 
from tests.resources.projector.data import TEST_DB_PJLINK1, TEST_DB, 
TEST1_DATA, TEST2_DATA, TEST3_DATA
/usr/lib/python3/dist-packages/uno.py:428: in _uno_import
raise uno_import_exc
/usr/lib/python3/dist-packages/uno.py:350: in _uno_import
return _builtin_import(name, *optargs, **kwargs)
E   ImportError: No module named 'tests.resources' (or 
'tests.resources.projector.data.TEST_DB_PJLINK1' is unknown)
___ ERROR collecting tests/openlp_core/projectors/test_projector_editform.py ___
ImportError while importing test module 
'/var/lib/jenkins/jobs/02-Run_Tests/workspace/OpenLP-2.5.dev2833/tests/openlp_core/projectors/test_projector_editform.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3/dist-packages/uno.py:350: in _uno_import
return _builtin_import(name, *optargs, **kwargs)
tests/openlp_core/projectors/test_projector_editform.py:34: in 
from tests.resources.projector.data import TEST_DB, TEST1_DATA
/usr/lib/python3/dist-packages/uno.py:428: in _uno_import
raise uno_import_exc
/usr/lib/python3/dist-packages/uno.py:350: in _uno_import
return _builtin_import(name, *optargs, **kwargs)
E   ImportError: No module named 'tests.resources' (or 
'tests.resources.projector.data.TEST_DB' is unknown)
 ERROR collecting tests/openlp_core/projectors/test_projector_pjlink_base_01.py 
ImportError while importing test module 
'/var/lib/jenkins/jobs/02-Run_Tests/workspace/OpenLP-2.5.dev2833/tests/openlp_core/projectors/test_projector_pjlink_base_01.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3/dist-packages/uno.py:350: in 

[Openlp-core] comment

2018-08-22 Thread Raoul Snyman


-- 
https://code.launchpad.net/~raoul-snyman/openlp/pep440/+merge/353579
Your team OpenLP Core is requested to review the proposed merge of 
lp:~raoul-snyman/openlp/pep440 into 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/pep440 into lp:openlp

2018-08-22 Thread Raoul Snyman
Raoul Snyman has proposed merging lp:~raoul-snyman/openlp/pep440 into lp:openlp.

Commit message:
Make our version number PEP 440 compliant.

Requested reviews:
  OpenLP Core (openlp-core)

For more details, see:
https://code.launchpad.net/~raoul-snyman/openlp/pep440/+merge/353579
-- 
Your team OpenLP Core is requested to review the proposed merge of 
lp:~raoul-snyman/openlp/pep440 into lp:openlp.
=== added file 'scripts/mp_update.py'
--- scripts/mp_update.py	1970-01-01 00:00:00 +
+++ scripts/mp_update.py	2018-08-22 14:27:13 +
@@ -0,0 +1,58 @@
+#!/usr/bin/env python2
+import sys
+import os
+from argparse import ArgumentParser
+from launchpadlib.credentials import UnencryptedFileCredentialStore
+from launchpadlib.launchpad import Launchpad
+
+HERE = os.path.dirname(os.path.abspath(__file__))
+
+
+def parse_args():
+"""
+Parse the command line arguments
+"""
+parser = ArgumentParser()
+parser.add_argument('-p', '--merge-proposal', required=True,
+help='The main part of the URL to the merge proposal, without the hostname.')
+parser.add_argument('-m', '--message', required=True,
+help='The comment to add to the merge proposal')
+return parser.parse_args()
+
+
+def get_merge_proposal(merge_proposal_url):
+"""
+Get the merge proposal for the ``merge_proposal_url``
+"""
+lp = Launchpad.login_with('OpenLP CI', 'production', version='devel',
+  credential_store=UnencryptedFileCredentialStore(os.path.join(HERE, 'launchpadcreds.txt')))
+openlp_project = lp.projects['openlp']
+merge_proposals = openlp_project.getMergeProposals()
+for merge_proposal in merge_proposals:
+if str(merge_proposal).endswith(merge_proposal_url):
+return merge_proposal
+return None
+
+
+def create_comment(merge_proposal, comment):
+"""
+Create a comment on the merge proposal
+"""
+merge_proposal.createComment(subject='comment', content=comment)
+
+
+def main():
+"""
+Run the thing
+"""
+args = parse_args()
+merge_proposal = get_merge_proposal(args.merge_proposal)
+if not merge_proposal:
+print('No merge proposal with that URL found')
+sys.exit(1)
+else:
+create_comment(merge_proposal, args.message)
+
+
+if __name__ == '__main__':
+main()

=== modified file 'setup.py'
--- setup.py	2017-12-29 09:15:48 +
+++ setup.py	2018-08-22 14:27:13 +
@@ -99,10 +99,11 @@
 if tree_revision == tag_revision:
 version_string = tag_version.decode('utf-8')
 else:
-version_string = '%s-bzr%s' % (tag_version.decode('utf-8'), tree_revision.decode('utf-8'))
+version_string = '{version}.dev{revision}'.format(version=tag_version.decode('utf-8'),
+  revision=tree_revision.decode('utf-8'))
 ver_file = open(VERSION_FILE, 'w')
 ver_file.write(version_string)
-except:
+except Exception:
 ver_file = open(VERSION_FILE, 'r')
 version_string = ver_file.read().strip()
 finally:

___
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/pep440 into lp:openlp

2018-08-22 Thread Raoul Snyman
The proposal to merge lp:~raoul-snyman/openlp/pep440 into lp:openlp has been 
updated.

Status: Needs review => Superseded

For more details, see:
https://code.launchpad.net/~raoul-snyman/openlp/pep440/+merge/353548
-- 
Your team OpenLP Core is requested to review the proposed merge of 
lp:~raoul-snyman/openlp/pep440 into 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:~thelinuxguy/openlp/flake-fixes into lp:openlp

2018-08-22 Thread Simon Hanna
I'm not sure if that makes a difference here, but when viewing it in the tests 
using the original definition shows what is actually being used. If you import 
it from somewhere else you could think that it's something different...
-- 
https://code.launchpad.net/~thelinuxguy/openlp/flake-fixes/+merge/353535
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:~thelinuxguy/openlp/flake-fixes into lp:openlp

2018-08-22 Thread Phill
Review: Needs Information

I'm not sure about those patches that were changed (see in line) isn't patching 
supposed to take place in the module they're imported in to?

Diff comments:

> 
> === modified file 'tests/functional/openlp_plugins/bibles/test_csvimport.py'
> --- tests/functional/openlp_plugins/bibles/test_csvimport.py  2017-12-29 
> 09:15:48 +
> +++ tests/functional/openlp_plugins/bibles/test_csvimport.py  2018-08-21 
> 22:59:09 +
> @@ -134,7 +134,7 @@
>  
>  with 
> patch('openlp.plugins.bibles.lib.importers.csvbible.get_file_encoding',
> return_value={'encoding': 'utf-8', 'confidence': 0.99}),\
> -
> patch('openlp.plugins.bibles.lib.importers.csvbible.Path.open', create=True) 
> as mocked_open,\
> +patch('openlp.core.common.path.Path.open', create=True) as 
> mocked_open,\

Not sure this is correct. Shouldn't the object be patched where they're 
imported?

>  
> patch('openlp.plugins.bibles.lib.importers.csvbible.csv.reader',
>return_value=iter(test_data)) as mocked_reader:
>  
> @@ -154,7 +154,7 @@
>  # GIVEN: Mocked a mocked open object which raises an OSError
>  with 
> patch('openlp.plugins.bibles.lib.importers.csvbible.get_file_encoding',
> return_value={'encoding': 'utf-8', 'confidence': 0.99}),\
> -
> patch('openlp.plugins.bibles.lib.importers.csvbible.Path.open', 
> side_effect=OSError, create=True):
> +patch('openlp.core.common.path.Path.open', 
> side_effect=OSError, create=True):

see above ^

>  
>  # WHEN: Calling CSVBible.parse_csv_file
>  # THEN: A ValidationError should be raised
> @@ -169,7 +169,7 @@
>  # GIVEN: Mocked a csv.reader which raises an csv.Error
>  with 
> patch('openlp.plugins.bibles.lib.importers.csvbible.get_file_encoding',
> return_value={'encoding': 'utf-8', 'confidence': 0.99}),\
> -
> patch('openlp.plugins.bibles.lib.importers.csvbible.Path.open', create=True),\
> +patch('openlp.core.common.path.Path.open', create=True),\

see above ^

>  
> patch('openlp.plugins.bibles.lib.importers.csvbible.csv.reader', 
> side_effect=csv.Error):
>  
>  # WHEN: Calling CSVBible.parse_csv_file


-- 
https://code.launchpad.net/~thelinuxguy/openlp/flake-fixes/+merge/353535
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