← Back to team overview

openlp-core team mailing list archive

[Merge] lp:~bastian-germann/openlp/depends into lp:openlp

 

Bastian Germann has proposed merging lp:~bastian-germann/openlp/depends into lp:openlp.

Commit message:
Improve dependency handling including PEP508 Environment Markers and using the library provided by pymediainfo for Windows tests

Requested reviews:
  Tim Bentley (trb143)
  Tomas Groth (tomasgroth)
  Phill (phill-ridout)

For more details, see:
https://code.launchpad.net/~bastian-germann/openlp/depends/+merge/365765
-- 
Your team OpenLP Core is subscribed to branch lp:openlp.
=== modified file 'openlp/core/ui/media/mediacontroller.py'
--- openlp/core/ui/media/mediacontroller.py	2019-02-14 15:09:09 +0000
+++ openlp/core/ui/media/mediacontroller.py	2019-04-09 19:12:20 +0000
@@ -26,13 +26,8 @@
 import datetime
 import logging
 
-try:
-    from pymediainfo import MediaInfo
-    pymediainfo_available = True
-except ImportError:
-    pymediainfo_available = False
-
 from subprocess import check_output
+from pymediainfo import MediaInfo
 from PyQt5 import QtCore, QtWidgets
 
 from openlp.core.state import State
@@ -168,11 +163,11 @@
         self.setup()
         self.vlc_player = VlcPlayer(self)
         State().add_service("mediacontroller", 0)
-        if get_vlc() and pymediainfo_available:
+        if get_vlc():
             State().update_pre_conditions("mediacontroller", True)
         else:
             State().missing_text("mediacontroller", translate('OpenLP.SlideController',
-                                 "VLC or pymediainfo are missing, so you are unable to play any media"))
+                                 "VLC is missing, so you are unable to play any media"))
         self._generate_extensions_lists()
         return True
 

=== modified file 'scripts/appveyor.yml'
--- scripts/appveyor.yml	2019-03-04 20:32:05 +0000
+++ scripts/appveyor.yml	2019-04-09 19:12:20 +0000
@@ -21,11 +21,6 @@
   - appveyor DownloadFile https://mupdf.com/downloads/archive/mupdf-1.14.0-windows.zip
   - 7z x mupdf-1.14.0-windows.zip
   - cp mupdf-1.14.0-windows/mutool.exe openlp-branch/mutool.exe
-  # Download and unpack mediainfo
-  - appveyor DownloadFile https://mediaarea.net/download/binary/mediainfo/18.08.1/MediaInfo_CLI_18.08.1_Windows_i386.zip
-  - mkdir MediaInfo
-  - 7z x -oMediaInfo MediaInfo_CLI_18.08.1_Windows_i386.zip
-  - cp MediaInfo\\MediaInfo.exe openlp-branch\\MediaInfo.exe
 
 build: off
 

=== modified file 'scripts/check_dependencies.py'
--- scripts/check_dependencies.py	2019-02-21 21:26:36 +0000
+++ scripts/check_dependencies.py	2019-04-09 19:12:20 +0000
@@ -40,8 +40,8 @@
 
 VERS = {
     'Python': '3.6',
-    'PyQt5': '5.5',
-    'Qt5': '5.5',
+    'PyQt5': '5.12',
+    'Qt5': '5.9',
     'pymediainfo': '2.2',
     'sqlalchemy': '0.5',
     'enchant': '1.6'
@@ -57,6 +57,7 @@
 LINUX_MODULES = [
     # Optical drive detection.
     'dbus',
+    'Xlib',
 ]
 
 MACOSX_MODULES = [
@@ -93,6 +94,7 @@
 
 
 OPTIONAL_MODULES = [
+    ('qdarkstyle', '(dark style support)'),
     ('mysql.connector', '(MySQL support)'),
     ('pyodbc', '(ODBC support)'),
     ('psycopg2', '(PostgreSQL support)'),

=== modified file 'setup.py'
--- setup.py	2019-03-28 21:03:32 +0000
+++ setup.py	2019-04-09 19:12:20 +0000
@@ -22,7 +22,6 @@
 ###############################################################################
 
 import re
-import sys
 from subprocess import Popen, PIPE
 
 from setuptools import setup, find_packages
@@ -112,40 +111,6 @@
 finally:
     ver_file.close()
 
-requires = [
-    'alembic',
-    'appdirs',
-    'beautifulsoup4',
-    'chardet',
-    'lxml',
-    'Mako',
-    'pymediainfo >= 2.2',
-    'PyQt5 >= 5.12',
-    'PyQtWebEngine',
-    'QtAwesome',
-    'requests',
-    'SQLAlchemy >= 0.5',
-    'waitress',
-    'WebOb',
-    'websockets'
-]
-test_requires = [
-    'nose2',
-    'pylint',
-    'pyodbc',
-    'pysword'
-]
-if sys.platform.startswith('win'):
-    requires.append('pywin32')
-elif sys.platform.startswith('darwin'):
-    requires.extend([
-        'pyobjc',
-        'pyobjc-framework-Cocoa'
-    ])
-elif sys.platform.startswith('linux'):
-    requires.append('dbus-python')
-    test_requires.append('xlib')
-
 
 setup(
     name='OpenLP',
@@ -200,8 +165,29 @@
     include_package_data=True,
     zip_safe=False,
     python_requires='>=3.6',
-    install_requires=requires,
+    install_requires=[
+        'alembic',
+        'appdirs',
+        'beautifulsoup4',
+        'chardet',
+        'dbus-python; platform_system=="Linux"',
+        'lxml',
+        'Mako',
+        'pymediainfo >= 2.2',
+        'pyobjc; platform_system=="Darwin"',
+        'pyobjc-framework-Cocoa; platform_system=="Darwin"',
+        'PyQt5 >= 5.12',
+        'PyQtWebEngine',
+        'pywin32; platform_system=="Windows"',
+        'QtAwesome',
+        'requests',
+        'SQLAlchemy >= 0.5',
+        'waitress',
+        'WebOb',
+        'websockets'
+    ],
     extras_require={
+        'darkstyle': ['QDarkStyle'],
         'mysql': ['mysql-connector-python'],
         'odbc': ['pyodbc'],
         'postgresql': ['psycopg2'],
@@ -211,7 +197,13 @@
         'jenkins': ['python-jenkins'],
         'launchpad': ['launchpadlib']
     },
-    tests_require=test_requires,
+    tests_require=[
+        'nose2',
+        'pylint',
+        'pyodbc',
+        'pysword',
+        'python-xlib; platform_system=="Linux"'
+    ],
     test_suite='nose2.collector.collector',
     entry_points={'gui_scripts': ['openlp = run_openlp:start']}
 )


Follow ups