Re: [Openlp-core] [Merge] lp:~bastian-germann/openlp/setup into lp:openlp

2018-10-13 Thread Tomas Groth
Review: Needs Information

Which platforms have you tested this on? If I understand correctly the changes 
would effect both Linux, Windows and Mac OS.
-- 
https://code.launchpad.net/~bastian-germann/openlp/setup/+merge/356675
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-t into lp:openlp

2018-10-13 Thread Ken Roberts
I spent some time trying to work with signals, but since signals have to be 
bound to be used, trying to get a signal connected from the projector code to 
the settings tab instance was convoluted and not as clean as the registry.

The other consideration is how often will projector instances be added/deleted 
once the system is set up and running. The only case where I could think of 
might be a portable setting but once set up should not be changing during 
service. For normal use at a church, I haven't made any changes to projector 
manager since hardware typically does not change unless building gets a 
hardware makeover.

Any suggestions would be appreciated.
-- 
https://code.launchpad.net/~alisonken1/openlp/pjlink2-t/+merge/356677
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-t into lp:openlp

2018-10-13 Thread Tim Bentley
Review: Needs Fixing

There should be a better way than adding and removing functions from the 
registry.
-- 
https://code.launchpad.net/~alisonken1/openlp/pjlink2-t/+merge/356677
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] Linting: Passed

2018-10-13 Thread Raoul Snyman
Linting passed!
-- 
https://code.launchpad.net/~alisonken1/openlp/pjlink2-t/+merge/356677
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] Linux Test Results: Passed

2018-10-13 Thread Raoul Snyman
Linux tests passed!
-- 
https://code.launchpad.net/~alisonken1/openlp/pjlink2-t/+merge/356677
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-10-13 Thread Ken Roberts
Ken Roberts has proposed merging lp:~alisonken1/openlp/pjlink2-t into lp:openlp.

Commit message:
PJLink2-T Update (UDP updates and some cleanups)

Having network issues - ci failed when running ci but passed when looked at 
branch webpage:

lp:~alisonken1/openlp/pjlink2-t (revision 2834)
https://ci.openlp.io/job/Branch-01-Pull/2578/  [SUCCESS]
https://ci.openlp.io/job/Branch-02a-Linux-Tests/2475/  
[WAITING]Traceback (most recent call last):
...
Exception: Build has not started yet, it may be stuck in the queue
===

Jenkins branch webpage:
---
Success Branch-01-Pull (#2578)
Success Branch-02a-Linux-Tests (#2475)
Failed  Branch-02b-macOS-Tests (#249)
Success Branch-03a-Build-Source (#162)
Success Branch-03b-Build-macOS (#141)
Success Branch-04a-Code-Analysis (#1624)
Success Branch-04b-Test-Coverage (#1437)
Success Branch-04c-Lint-Check (#567)
Failed  Branch-05-AppVeyor-Tests (#336)
Failed  Branch-06-Build_API_Docs (#486)


Requested reviews:
  OpenLP Core (openlp-core)

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

- 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
- Fix some oops in ProjectorManager when add/edit projector entry
- Update tests/openlp_core/projectors/test_projector_pjlink_udp.py with correct 
log entries
- Add UDP 'projector/udp broadcast listen' status in Settings() (default=False)
- Add UDP broadcast listen option in projector settings tab
- Add check_settings(), udp_start(), and udp_stop(), udp_add(), udp_delete() 
methods in PJLinkUDP
- Add Registry().register_function('udp_broadcast_listen') call for UDP 
settings update
- Add udp_listen_add(), udp_listen_delete() methods to ProjectorManager
- pep8 cleanup in tests/functional/openlp_core/common/test_i18n.py
- pep8 cleanup in openlp/core/lib/__init__.py

-- 
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-10-13 12:21:32 +
@@ -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

=== modified file 'openlp/core/common/settings.py'
--- openlp/core/common/settings.py	2018-06-07 17:44:35 +
+++ openlp/core/common/settings.py	2018-10-13 12:21:32 +
@@ -217,7 +217,8 @@
 'projector/last directory export': None,
 'projector/poll time': 20,  # PJLink  timeout is 30 seconds
 'projector/socket timeout': 5,  # 5 second socket timeout
-'projector/source dialog type': 0  # Source select dialog box type
+'projector/source dialog type': 0,  # Source select dialog box type
+'projector/udp broadcast listen': False  # Enable/disable listening for PJLink 2 UDP broadcast packets
 }
 __file_path__ = ''
 # Settings upgrades prior to 3.0

=== modified file 'openlp/core/lib/__init__.py'
--- openlp/core/lib/__init__.py	2018-08-25 14:08:19 +
+++ openlp/core/lib/__init__.py	2018-10-13 12:21:32 +
@@ -609,4 +609,4 @@

[Openlp-core] [Merge] lp:~bastian-germann/openlp/setup into lp:openlp

2018-10-13 Thread Bastian Germann
Bastian Germann has proposed merging lp:~bastian-germann/openlp/setup into 
lp:openlp.

Commit message:
This fixes setuptools' dependencies according to
scripts/check_dependencies.py.
The minimum Python version is set to 3.6 because this was agreed to on the 
mailing list.

To overcome the module conflict, openlp.py is replaced with __main__.py which 
setuptools installs as /usr/bin/openlp (or openlp.exe on Windows).
You can call it locally via `python -m openlp`.

Some packages which are optional in the source are declared as optional (uno, 
pyenchant, pyodbc).

The vendored (ripped) pymediainfo module is replaced by its upstream version.

Additionally, replace pyxdg with appdirs (see License violations issue).

Requested reviews:
  Raoul Snyman (raoul-snyman)
Related bugs:
  Bug #1795876 in OpenLP: "License violations"
  https://bugs.launchpad.net/openlp/+bug/1795876

For more details, see:
https://code.launchpad.net/~bastian-germann/openlp/setup/+merge/356675


-- 
Your team OpenLP Core is subscribed to branch lp:openlp.
=== renamed file 'openlp.py' => 'openlp/__main__.py'
--- openlp.py	2017-12-29 09:15:48 +
+++ openlp/__main__.py	2018-10-13 08:06:45 +
@@ -42,7 +42,7 @@
 faulthandler.enable((AppLocation.get_directory(AppLocation.CacheDir) / 'error.log').open('wb'))
 
 
-if __name__ == '__main__':
+def start():
 """
 Instantiate and run the application.
 """
@@ -58,3 +58,6 @@
 if is_macosx():
 sys.argv = [x for x in sys.argv if not x.startswith('-psn')]
 main()
+
+if __name__ == '__main__':
+start()

=== modified file 'openlp/core/app.py'
--- openlp/core/app.py	2018-08-25 14:36:46 +
+++ openlp/core/app.py	2018-10-13 08:06:45 +
@@ -288,7 +288,7 @@
 :return: a tuple of parsed options of type optparse.Value and a list of remaining argsZ
 """
 # Set up command line options.
-parser = argparse.ArgumentParser(prog='openlp.py')
+parser = argparse.ArgumentParser(prog='openlp')
 parser.add_argument('-e', '--no-error-form', dest='no_error_form', action='store_true',
 help='Disable the error notification form.')
 parser.add_argument('-l', '--log-level', dest='loglevel', default='warning', metavar='LEVEL',

=== modified file 'openlp/core/common/applocation.py'
--- openlp/core/common/applocation.py	2018-01-07 04:45:13 +
+++ openlp/core/common/applocation.py	2018-10-13 08:06:45 +
@@ -26,18 +26,13 @@
 import os
 import sys
 
+import appdirs
+
 import openlp
 from openlp.core.common import get_frozen_path, is_win, is_macosx
 from openlp.core.common.path import Path, create_paths
 from openlp.core.common.settings import Settings
 
-if not is_win() and not is_macosx():
-try:
-from xdg import BaseDirectory
-XDG_BASE_AVAILABLE = True
-except ImportError:
-XDG_BASE_AVAILABLE = False
-
 log = logging.getLogger(__name__)
 
 FROZEN_APP_PATH = Path(sys.argv[0]).parent
@@ -143,8 +138,10 @@
 elif dir_type == AppLocation.LanguageDir:
 return Path(openlp.__file__).parent
 return openlp_folder_path
-elif is_macosx():
-openlp_folder_path = Path(os.getenv('HOME'), 'Library', 'Application Support', 'openlp')
+
+dirs = appdirs.AppDirs('openlp', multipath=True)
+if is_macosx():
+openlp_folder_path = Path(dirs.user_data_dir)
 if dir_type == AppLocation.DataDir:
 return openlp_folder_path / 'Data'
 elif dir_type == AppLocation.LanguageDir:
@@ -152,15 +149,15 @@
 return openlp_folder_path
 else:
 if dir_type == AppLocation.LanguageDir:
-directory = Path('/usr', 'local', 'share', 'openlp')
+site_dirs = dirs.site_data_dir.split(os.pathsep)
+directory = Path(site_dirs[0])
 if directory.exists():
 return directory
-return Path('/usr', 'share', 'openlp')
-if XDG_BASE_AVAILABLE:
-if dir_type == AppLocation.DataDir:
-return Path(BaseDirectory.xdg_data_home, 'openlp')
-elif dir_type == AppLocation.CacheDir:
-return Path(BaseDirectory.xdg_cache_home, 'openlp')
+return Path(site_dirs[1])
+if dir_type == AppLocation.DataDir:
+return Path(dirs.user_data_dir)
+elif dir_type == AppLocation.CacheDir:
+return Path(dirs.user_cache_dir)
 if dir_type == AppLocation.DataDir:
 return Path(os.getenv('HOME'), '.openlp', 'data')
 return Path(os.getenv('HOME'), '.openlp')

=== modified file 'openlp/core/common/registry.py'
--- openlp/core/common/registry.py	2018-06-24 06:56:50 +
+++ openlp/core/common/registry.py	2018-10-13 08:06:45 +
@@ -57,8 +57,7 @@
 registry.functions_list = {}
 registry.working_flags = {}
 # Allow the tests to remove Registry entries but not the live system
-registry.running_under_test = 'nose' in sys.argv[0]
-registry.running_under_test 

[Openlp-core] [Merge] lp:~bastian-germann/openlp/setup into lp:openlp

2018-10-13 Thread Bastian Germann
The proposal to merge lp:~bastian-germann/openlp/setup into lp:openlp has been 
updated.

Status: Needs review => Superseded

For more details, see:
https://code.launchpad.net/~bastian-germann/openlp/setup/+merge/356602
-- 
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