openlp-core team mailing list archive
-
openlp-core team
-
Mailing list archive
-
Message #22884
[Merge] lp:~googol/openlp/vlc-new into lp:openlp
Andreas Preikschat has proposed merging lp:~googol/openlp/vlc-new into lp:openlp.
Requested reviews:
OpenLP Core (openlp-core)
For more details, see:
https://code.launchpad.net/~googol/openlp/vlc-new/+merge/213502
Hello,
- updated vlc.py
I commit the test is not very "special"... but I wanted to tackle those classes nobody ever wrote a test for.
[SUCCESS] http://ci.openlp.org/job/Branch-01-Pull/162/
[SUCCESS] http://ci.openlp.org/job/Branch-02-Functional-Tests/138/
[SUCCESS] http://ci.openlp.org/job/Branch-03-Interface-Tests/90/
[SUCCESS] http://ci.openlp.org/job/Branch-04-Windows_Tests/59/
--
https://code.launchpad.net/~googol/openlp/vlc-new/+merge/213502
Your team OpenLP Core is requested to review the proposed merge of lp:~googol/openlp/vlc-new into lp:openlp.
=== modified file 'openlp/core/ui/media/vendor/vlc.py'
--- openlp/core/ui/media/vendor/vlc.py 2013-08-31 18:17:38 +0000
+++ openlp/core/ui/media/vendor/vlc.py 2014-03-31 16:06:52 +0000
@@ -48,13 +48,13 @@
from inspect import getargspec
__version__ = "N/A"
-build_date = "Mon Apr 1 23:47:38 2013"
+build_date = "Tue Jul 2 10:35:53 2013"
if sys.version_info[0] > 2:
str = str
- str = str
+ unicode = str
bytes = bytes
- str = (str, bytes)
+ basestring = (str, bytes)
PYTHON3 = True
def str_to_bytes(s):
"""Translate string or bytes to bytes.
@@ -73,14 +73,14 @@
return b
else:
str = str
- str = str
+ unicode = unicode
bytes = str
- str = str
+ basestring = basestring
PYTHON3 = False
def str_to_bytes(s):
"""Translate string or bytes to bytes.
"""
- if isinstance(s, str):
+ if isinstance(s, unicode):
return s.encode(sys.getfilesystemencoding())
else:
return s
@@ -89,7 +89,7 @@
"""Translate bytes to unicode string.
"""
if isinstance(b, str):
- return str(b, sys.getfilesystemencoding())
+ return unicode(b, sys.getfilesystemencoding())
else:
return b
@@ -110,7 +110,7 @@
p = find_library('libvlc.dll')
if p is None:
try: # some registry settings
- import winreg as w # leaner than win32api, win32con
+ import _winreg as w # leaner than win32api, win32con
for r in w.HKEY_LOCAL_MACHINE, w.HKEY_CURRENT_USER:
try:
r = w.OpenKey(r, 'Software\\VideoLAN\\VLC')
@@ -168,7 +168,7 @@
pass
try:
- _Ints = (int, int)
+ _Ints = (int, long)
except NameError: # no long in Python 3+
_Ints = int
_Seqs = (list, tuple)
@@ -327,6 +327,9 @@
n = self._enum_names_.get(self.value, '') or ('FIXME_(%r)' % (self.value,))
return '.'.join((self.__class__.__name__, n))
+ def __hash__(self):
+ return self.value
+
def __repr__(self):
return '.'.join((self.__class__.__module__, self.__str__()))
@@ -1294,7 +1297,7 @@
i = args[0]
if isinstance(i, _Ints):
return _Constructor(cls, i)
- elif isinstance(i, str):
+ elif isinstance(i, basestring):
args = i.strip().split()
elif isinstance(i, _Seqs):
args = i
@@ -2078,7 +2081,7 @@
@param mrl: a media instance or a MRL.
@return: 0 on success, -1 if the media list is read-only.
"""
- if isinstance(mrl, str):
+ if isinstance(mrl, basestring):
mrl = (self.get_instance() or get_default_instance()).media_new(mrl)
return libvlc_media_list_add_media(self, mrl)
@@ -3351,6 +3354,39 @@
ctypes.c_char_p, ctypes.c_uint)
return f(event_type)
+def libvlc_log_get_context(ctx):
+ '''Gets debugging informations about a log message: the name of the VLC module
+ emitting the message and the message location within the source code.
+ The returned module name and file name will be NULL if unknown.
+ The returned line number will similarly be zero if unknown.
+ @param ctx: message context (as passed to the @ref libvlc_log_cb callback).
+ @return: module module name storage (or NULL), file source code file name storage (or NULL), line source code file line number storage (or NULL).
+ @version: LibVLC 2.1.0 or later.
+ '''
+ f = _Cfunctions.get('libvlc_log_get_context', None) or \
+ _Cfunction('libvlc_log_get_context', ((1,), (2,), (2,), (2,),), None,
+ None, Log_ptr, ListPOINTER(ctypes.c_char_p), ListPOINTER(ctypes.c_char_p), ctypes.POINTER(ctypes.c_uint))
+ return f(ctx)
+
+def libvlc_log_get_object(ctx, id):
+ '''Gets VLC object informations about a log message: the type name of the VLC
+ object emitting the message, the object header if any and a temporaly-unique
+ object identifier. These informations are mainly meant for B{manual}
+ troubleshooting.
+ The returned type name may be "generic" if unknown, but it cannot be NULL.
+ The returned header will be NULL if unset; in current versions, the header
+ is used to distinguish for VLM inputs.
+ The returned object ID will be zero if the message is not associated with
+ any VLC object.
+ @param ctx: message context (as passed to the @ref libvlc_log_cb callback).
+ @return: name object name storage (or NULL), header object header (or NULL), line source code file line number storage (or NULL).
+ @version: LibVLC 2.1.0 or later.
+ '''
+ f = _Cfunctions.get('libvlc_log_get_object', None) or \
+ _Cfunction('libvlc_log_get_object', ((1,), (2,), (2,), (1,),), None,
+ None, Log_ptr, ListPOINTER(ctypes.c_char_p), ListPOINTER(ctypes.c_char_p), ctypes.POINTER(ctypes.c_uint))
+ return f(ctx, id)
+
def libvlc_log_unset(p_instance):
'''Unsets the logging callback for a LibVLC instance. This is rarely needed:
the callback is implicitly unset when the instance is destroyed.
@@ -5827,7 +5863,7 @@
# libvlc_printerr
# libvlc_set_exit_handler
-# 15 function(s) not wrapped as methods:
+# 17 function(s) not wrapped as methods:
# libvlc_audio_output_device_list_release
# libvlc_audio_output_list_release
# libvlc_clearerr
@@ -5838,6 +5874,8 @@
# libvlc_get_changeset
# libvlc_get_compiler
# libvlc_get_version
+# libvlc_log_get_context
+# libvlc_log_get_object
# libvlc_media_tracks_release
# libvlc_module_description_list_release
# libvlc_new
@@ -5910,9 +5948,9 @@
'''
l = ['event %s' % (event.type,)]
if args:
- l.extend(list(map(str, args)))
+ l.extend(map(str, args))
if kwds:
- l.extend(sorted('%s=%s' % t for t in list(kwds.items())))
+ l.extend(sorted('%s=%s' % t for t in kwds.items()))
print('Debug callback (%s)' % ', '.join(l))
if __name__ == '__main__':
=== added file 'tests/interfaces/openlp_core_ui/test_splashscreen.py'
--- tests/interfaces/openlp_core_ui/test_splashscreen.py 1970-01-01 00:00:00 +0000
+++ tests/interfaces/openlp_core_ui/test_splashscreen.py 2014-03-31 16:06:52 +0000
@@ -0,0 +1,60 @@
+# -*- coding: utf-8 -*-
+# vim: autoindent shiftwidth=4 expandtab textwidth=120 tabstop=4 softtabstop=4
+
+###############################################################################
+# OpenLP - Open Source Lyrics Projection #
+# --------------------------------------------------------------------------- #
+# Copyright (c) 2008-2014 Raoul Snyman #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan #
+# Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub, #
+# Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer. #
+# Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru, #
+# Christian Richter, Philip Ridout, Simon Scudder, Jeffrey Smith, #
+# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Dave Warnock, #
+# Frode Woldsund, Martin Zibricky, Patrick Zimmermann #
+# --------------------------------------------------------------------------- #
+# 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 #
+###############################################################################
+"""
+Test the openlp.core.ui.splashscreen class.
+"""
+from unittest import TestCase
+
+from PyQt4 import QtGui
+
+from openlp.core.ui import SplashScreen
+from tests.helpers.testmixin import TestMixin
+
+
+class TestSplashScreen(TestCase, TestMixin):
+ def setUp(self):
+ self.get_application()
+ self.main_window = QtGui.QMainWindow()
+
+ def tearDown(self):
+ """
+ Delete all the C++ objects at the end so that we don't have a segfault
+ """
+ del self.app
+ del self.main_window
+
+ def setupUi_test(self):
+ """
+ Test if the setupUi method....
+ """
+ # GIVEN: A splash screen instance.
+ splash = SplashScreen()
+
+ # THEN: Check if the splash has a setupUi method.
+ assert hasattr(splash, 'setupUi'), 'The Splash Screen should have a setupUi() method.'
Follow ups