Re: [Openlp-core] [Merge] lp:~oliwee/openlp/HideBibleVerses into lp:openlp

2013-08-10 Thread Phill
There should be a link to resubmit (top right)
-- 
https://code.launchpad.net/~oliwee/openlp/HideBibleVerses/+merge/179526
Your team OpenLP Core is requested to review the proposed merge of 
lp:~oliwee/openlp/HideBibleVerses 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:~phill-ridout/openlp/1209515_2.0 into lp:openlp/2.0

2013-08-10 Thread Phill
Phill has proposed merging lp:~phill-ridout/openlp/1209515_2.0 into 
lp:openlp/2.0.

Requested reviews:
  OpenLP Core (openlp-core)
Related bugs:
  Bug #1209515 in OpenLP: getFileNames corrupts file names that use special 
chars
  https://bugs.launchpad.net/openlp/+bug/1209515

For more details, see:
https://code.launchpad.net/~phill-ridout/openlp/1209515_2.0/+merge/179567

Fixes #1209515 by subclassing QFileDialog  and attempting to urldecode any 
files not found

-- 
https://code.launchpad.net/~phill-ridout/openlp/1209515_2.0/+merge/179567
Your team OpenLP Core is requested to review the proposed merge of 
lp:~phill-ridout/openlp/1209515_2.0 into lp:openlp/2.0.
=== modified file 'openlp/core/lib/__init__.py'
--- openlp/core/lib/__init__.py	2013-01-20 18:46:41 +
+++ openlp/core/lib/__init__.py	2013-08-10 10:21:35 +
@@ -384,6 +384,7 @@
 
 
 from eventreceiver import Receiver
+from filedialog import FileDialog
 from listwidgetwithdnd import ListWidgetWithDnD
 from formattingtags import FormattingTags
 from spelltextedit import SpellTextEdit

=== added file 'openlp/core/lib/filedialog.py'
--- openlp/core/lib/filedialog.py	1970-01-01 00:00:00 +
+++ openlp/core/lib/filedialog.py	2013-08-10 10:21:35 +
@@ -0,0 +1,59 @@
+# -*- coding: utf-8 -*-
+# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4
+
+###
+# OpenLP - Open Source Lyrics Projection  #
+# --- #
+# Copyright (c) 2008-2013 Raoul Snyman#
+# Portions copyright (c) 2008-2013 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 #
+# --- #
+# 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  #
+###
+
+
+Provide a work around for a bug in QFileDialog (#1209515)
+
+import logging
+import os
+import urllib
+
+from PyQt4 import QtCore, QtGui
+
+from openlp.core.lib.ui import UiStrings
+
+log = logging.getLogger(__name__)
+
+class FileDialog(QtGui.QFileDialog):
+def __init__(self):
+QtGui.QFileDialog.__init__(self)
+
+def getOpenFileNames(self, parent, title, path, filters):
+files = QtGui.QFileDialog.getOpenFileNames(parent, title, path, filters)
+file_list = QtCore.QStringList()
+for file in files:
+if not os.path.exists(file):
+file = urllib.unquote(unicode(file))
+if not os.path.exists(file):
+QtGui.QMessageBox.information(self,
+UiStrings().FNFT,
+UiStrings().FNF % file)
+continue
+file_list.append(QtCore.QString(file))
+return file_list
\ No newline at end of file

=== modified file 'openlp/core/lib/mediamanageritem.py'
--- openlp/core/lib/mediamanageritem.py	2013-01-05 11:31:02 +
+++ openlp/core/lib/mediamanageritem.py	2013-08-10 10:21:35 +
@@ -35,7 +35,7 @@
 
 from PyQt4 import QtCore, QtGui
 
-from openlp.core.lib import SettingsManager, OpenLPToolbar, ServiceItem, \
+from openlp.core.lib import FileDialog, SettingsManager, OpenLPToolbar, ServiceItem, \
 StringContent, build_icon, translate, Receiver, ListWidgetWithDnD
 from openlp.core.lib.searchedit import SearchEdit
 from openlp.core.lib.ui import UiStrings, create_widget_action, \
@@ -337,7 +337,7 @@
 
 Add

[Openlp-core] [Bug 1209515] Re: getFileNames corrupts file names that use special chars

2013-08-10 Thread Phill
Reported to Qt: https://bugreports.qt-project.org/browse/QTBUG-32897

** Branch linked: lp:~phill-ridout/openlp/1209515_2.0

** Changed in: openlp/2.0
 Assignee: (unassigned) = Phill (phill-ridout)

** Changed in: openlp/2.0
   Status: Confirmed = In Progress

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1209515

Title:
  getFileNames corrupts file names that use special chars

Status in OpenLP - Worship Presentation Software:
  New
Status in OpenLP 2.0 series:
  In Progress
Status in OpenLP trunk series:
  New

Bug description:
  This is a little bit of a strange one. I have written a little script
  which demonstrates this (I'll include it when I get home).

  
  Here's the issue:

  Use QFileDialog.getFileNames() to select a single file with a special
  char in its name (a '#' will do it) and it returns the file name 
  path correctly. Ie selecting a file called #123.xml returns a list
  with one item #123.xml

  However, use QFileDialog.getFileNames() to select multiple files with
  at lease one file with special char in its name (a '#' will do it) and
  it returns the file name  path incorrectly. Ie selecting a file
  called #123.xml and a file called abc.xml returns a list with two
  items %23123.xml  abc.xml (Note the # has been changed in to a
  %23. Possible url encoding?)

  When we come to open the file, Python cannot find the file
  %23123.xml because it does not exist.

  This seams to be a Qt bug (I've done a few searches, but found
  nothing) but we could at least make some effort to see if the file
  actually exists before trying to open it!

  Reported here: http://support.openlp.org/issues/2056
  and here: http://support.openlp.org/issues/1964

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1209515/+subscriptions

___
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] [Bug 1210774] Re: wrong links on forum page

2013-08-10 Thread Phill
Hey Oliver,

I don't see what the issue is here. Both sets of links point to the same
page.

Could you be a bit clear about which links too? The ones on the top menu
bar, in the navigation on the right?

** Also affects: openlp/website
   Importance: Undecided
   Status: New

** Changed in: openlp
   Status: New = Invalid

** Changed in: openlp/website
   Status: New = Incomplete

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1210774

Title:
  wrong links on forum page

Status in OpenLP - Worship Presentation Software:
  Invalid
Status in OpenLP website series:
  Incomplete

Bug description:
  on the forum page, the links Support and Development are not
  correct. They link to openlp.org/support and
  openlp.org/development instead of /openlp.org/node/324 and
  /openlp.org/node/864

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1210774/+subscriptions

___
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/1209515_2.0 into lp:openlp/2.0

2013-08-10 Thread Phill
Phill has proposed merging lp:~phill-ridout/openlp/1209515_2.0 into 
lp:openlp/2.0.

Requested reviews:
  Andreas Preikschat (googol)
Related bugs:
  Bug #1209515 in OpenLP: getFileNames corrupts file names that use special 
chars
  https://bugs.launchpad.net/openlp/+bug/1209515

For more details, see:
https://code.launchpad.net/~phill-ridout/openlp/1209515_2.0/+merge/179585

Fixes #1209515 by subclassing QFileDialog  and attempting to urldecode any 
files not found

-- 
https://code.launchpad.net/~phill-ridout/openlp/1209515_2.0/+merge/179585
Your team OpenLP Core is subscribed to branch lp:openlp/2.0.
=== modified file 'openlp/core/lib/__init__.py'
--- openlp/core/lib/__init__.py	2013-01-20 18:46:41 +
+++ openlp/core/lib/__init__.py	2013-08-10 20:42:16 +
@@ -384,6 +384,7 @@
 
 
 from eventreceiver import Receiver
+from filedialog import FileDialog
 from listwidgetwithdnd import ListWidgetWithDnD
 from formattingtags import FormattingTags
 from spelltextedit import SpellTextEdit

=== added file 'openlp/core/lib/filedialog.py'
--- openlp/core/lib/filedialog.py	1970-01-01 00:00:00 +
+++ openlp/core/lib/filedialog.py	2013-08-10 20:42:16 +
@@ -0,0 +1,56 @@
+# -*- coding: utf-8 -*-
+# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4
+
+###
+# OpenLP - Open Source Lyrics Projection  #
+# --- #
+# Copyright (c) 2008-2013 Raoul Snyman#
+# Portions copyright (c) 2008-2013 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 #
+# --- #
+# 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  #
+###
+
+
+Provide a work around for a bug in QFileDialog (#1209515)
+
+import logging
+import os
+import urllib
+
+from PyQt4 import QtCore, QtGui
+
+from openlp.core.lib.ui import UiStrings
+
+log = logging.getLogger(__name__)
+
+class FileDialog(QtGui.QFileDialog):
+def getOpenFileNames(self, parent, title, path, filters):
+files = QtGui.QFileDialog.getOpenFileNames(parent, title, path, filters)
+file_list = QtCore.QStringList()
+for file in files:
+if not os.path.exists(file):
+file = urllib.unquote(unicode(file))
+if not os.path.exists(file):
+QtGui.QMessageBox.information(self,
+UiStrings().FNFT,
+UiStrings().FNF % file)
+continue
+file_list.append(QtCore.QString(file))
+return file_list
\ No newline at end of file

=== modified file 'openlp/core/lib/mediamanageritem.py'
--- openlp/core/lib/mediamanageritem.py	2013-01-05 11:31:02 +
+++ openlp/core/lib/mediamanageritem.py	2013-08-10 20:42:16 +
@@ -35,7 +35,7 @@
 
 from PyQt4 import QtCore, QtGui
 
-from openlp.core.lib import SettingsManager, OpenLPToolbar, ServiceItem, \
+from openlp.core.lib import FileDialog, SettingsManager, OpenLPToolbar, ServiceItem, \
 StringContent, build_icon, translate, Receiver, ListWidgetWithDnD
 from openlp.core.lib.searchedit import SearchEdit
 from openlp.core.lib.ui import UiStrings, create_widget_action, \
@@ -337,7 +337,7 @@
 
 Add a file to the list widget to make it available for showing
 
-files = QtGui.QFileDialog.getOpenFileNames

Re: [Openlp-core] [Merge] lp:~phill-ridout/openlp/1209515_2.0 into lp:openlp/2.0

2013-08-11 Thread Phill
Review: Needs Fixing


-- 
https://code.launchpad.net/~phill-ridout/openlp/1209515_2.0/+merge/179585
Your team OpenLP Core is subscribed to branch lp:openlp/2.0.

___
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/1209515_2.0 into lp:openlp/2.0

2013-08-11 Thread Phill
Andreas,
How do I make it static?
-- 
https://code.launchpad.net/~phill-ridout/openlp/1209515_2.0/+merge/179585
Your team OpenLP Core is subscribed to branch lp:openlp/2.0.

___
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/1209515_2.0 into lp:openlp/2.0

2013-08-11 Thread Phill
Phill has proposed merging lp:~phill-ridout/openlp/1209515_2.0 into 
lp:openlp/2.0.

Requested reviews:
  Phill (phill-ridout)
  Andreas Preikschat (googol)
Related bugs:
  Bug #1209515 in OpenLP: getFileNames corrupts file names that use special 
chars
  https://bugs.launchpad.net/openlp/+bug/1209515

For more details, see:
https://code.launchpad.net/~phill-ridout/openlp/1209515_2.0/+merge/179606

Fixes #1209515 by subclassing QFileDialog  and attempting to urldecode any 
files not found

-- 
https://code.launchpad.net/~phill-ridout/openlp/1209515_2.0/+merge/179606
Your team OpenLP Core is subscribed to branch lp:openlp/2.0.
=== modified file 'openlp/core/lib/__init__.py'
--- openlp/core/lib/__init__.py	2013-01-20 18:46:41 +
+++ openlp/core/lib/__init__.py	2013-08-11 20:21:07 +
@@ -384,6 +384,7 @@
 
 
 from eventreceiver import Receiver
+from filedialog import FileDialog
 from listwidgetwithdnd import ListWidgetWithDnD
 from formattingtags import FormattingTags
 from spelltextedit import SpellTextEdit

=== added file 'openlp/core/lib/filedialog.py'
--- openlp/core/lib/filedialog.py	1970-01-01 00:00:00 +
+++ openlp/core/lib/filedialog.py	2013-08-11 20:21:07 +
@@ -0,0 +1,57 @@
+# -*- coding: utf-8 -*-
+# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4
+
+###
+# OpenLP - Open Source Lyrics Projection  #
+# --- #
+# Copyright (c) 2008-2013 Raoul Snyman#
+# Portions copyright (c) 2008-2013 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 #
+# --- #
+# 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  #
+###
+
+
+Provide a work around for a bug in QFileDialog (#1209515)
+
+import logging
+import os
+import urllib
+
+from PyQt4 import QtCore, QtGui
+
+from openlp.core.lib.ui import UiStrings
+
+log = logging.getLogger(__name__)
+
+class FileDialog(QtGui.QFileDialog):
+@staticmethod
+def getOpenFileNames(parent, title, path, filters):
+files = QtGui.QFileDialog.getOpenFileNames(parent, title, path, filters)
+file_list = QtCore.QStringList()
+for file in files:
+if not os.path.exists(file):
+file = urllib.unquote(unicode(file))
+if not os.path.exists(file):
+QtGui.QMessageBox.information(self,
+UiStrings().FNFT,
+UiStrings().FNF % file)
+continue
+file_list.append(QtCore.QString(file))
+return file_list
\ No newline at end of file

=== modified file 'openlp/core/lib/mediamanageritem.py'
--- openlp/core/lib/mediamanageritem.py	2013-01-05 11:31:02 +
+++ openlp/core/lib/mediamanageritem.py	2013-08-11 20:21:07 +
@@ -35,7 +35,7 @@
 
 from PyQt4 import QtCore, QtGui
 
-from openlp.core.lib import SettingsManager, OpenLPToolbar, ServiceItem, \
+from openlp.core.lib import FileDialog, SettingsManager, OpenLPToolbar, ServiceItem, \
 StringContent, build_icon, translate, Receiver, ListWidgetWithDnD
 from openlp.core.lib.searchedit import SearchEdit
 from openlp.core.lib.ui import UiStrings, create_widget_action, \
@@ -337,7 +337,7 @@
 
 Add a file to the list widget to make it available for showing
 
-files

Re: [Openlp-core] [Merge] lp:~oliwee/openlp/HideBibleVerses into lp:openlp

2013-08-12 Thread Phill
I think I would prefer verse_number_display rather than display_verse.

The Object name should be the same as the instance variable name

21  +
self.display_verse_check_box.setObjectName(u'verse_display_check_box')

46Could we get a doc string

47 - 50 You might be able to do this:self.display_verse =  
bool(QtCore.Qt.Checked)

51Some might object to the extra line on 51

Just my thoughts. I would wait and see what the other guys say. I'm no expert!

-- 
https://code.launchpad.net/~oliwee/openlp/HideBibleVerses/+merge/179610
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/1096450 into lp:openlp

2013-08-12 Thread Phill
No it shouldn't because after that the lines are joined with a new line and 
then passed to addVerse.

I've tested it with a load of sample files found on the OpenSong download page 
and pain painstakingly compared a load of songs of varying types between OpenLP 
and OpenSong
-- 
https://code.launchpad.net/~phill-ridout/openlp/1096450/+merge/178463
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] [Bug 1194730] Re: [support-system] Non existing chapters reseult in traceback when searching webbibles

2013-08-12 Thread Phill
** Changed in: openlp/2.0
   Status: In Progress = Fix Committed

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1194730

Title:
  [support-system] Non existing chapters reseult in traceback when
  searching webbibles

Status in OpenLP - Worship Presentation Software:
  Invalid
Status in OpenLP 2.0 series:
  Fix Committed
Status in OpenLP trunk series:
  Invalid

Bug description:
  Hello,

  http://support.openlp.org/issues/2006

  PART 1

  1) Register the New Living Translation from biblegateway.
  2) Search 2 Samuel 25

  Result:

  Traceback (most recent call last):
File 
/home/andreas/Projects/OpenLP/trunk/openlp/plugins/bibles/lib/mediaitem.py, 
line 656, in onQuickSearchButton
  self.search_results = self.plugin.manager.get_verses(bible, text)
File 
/home/andreas/Projects/OpenLP/trunk/openlp/plugins/bibles/lib/manager.py, 
line 300, in get_verses
  return self.db_cache[bible].get_verses(reflist, show_error)
File 
/home/andreas/Projects/OpenLP/trunk/openlp/plugins/bibles/lib/http.py, line 
608, in get_verses
  search_results = self.get_chapter(book, reference[1])
File 
/home/andreas/Projects/OpenLP/trunk/openlp/plugins/bibles/lib/http.py, line 
636, in get_chapter
  return handler.get_bible_chapter(self.download_name, book, chapter)
File 
/home/andreas/Projects/OpenLP/trunk/openlp/plugins/bibles/lib/http.py, line 
245, in get_bible_chapter
  self._clean_soup(div)
File 
/home/andreas/Projects/OpenLP/trunk/openlp/plugins/bibles/lib/http.py, line 
127, in _clean_soup
  self._remove_elements(tag, 'sup', 'crossreference')
File 
/home/andreas/Projects/OpenLP/trunk/openlp/plugins/bibles/lib/http.py, line 
86, in _remove_elements
  all_tags = parent.find_all(tag, class_)
  AttributeError: 'NoneType' object has no attribute 'find_all'

  Expected:
  Nothing should happen, because this chapter does not exist.

  ===PART2===
  1) Search for 2 Samuel 1:88

  Result:
  Traceback (most recent call last):
File 
/home/andreas/Projects/OpenLP/trunk/openlp/plugins/bibles/lib/mediaitem.py, 
line 656, in onQuickSearchButton
  self.search_results = self.plugin.manager.get_verses(bible, text)
File 
/home/andreas/Projects/OpenLP/trunk/openlp/plugins/bibles/lib/manager.py, 
line 300, in get_verses
  return self.db_cache[bible].get_verses(reflist, show_error)
File 
/home/andreas/Projects/OpenLP/trunk/openlp/plugins/bibles/lib/http.py, line 
608, in get_verses
  search_results = self.get_chapter(book, reference[1])
File 
/home/andreas/Projects/OpenLP/trunk/openlp/plugins/bibles/lib/http.py, line 
636, in get_chapter
  return handler.get_bible_chapter(self.download_name, book, chapter)
File 
/home/andreas/Projects/OpenLP/trunk/openlp/plugins/bibles/lib/http.py, line 
252, in get_bible_chapter
  verse_list = self._extract_verses(span_list)
File 
/home/andreas/Projects/OpenLP/trunk/openlp/plugins/bibles/lib/http.py, line 
149, in _extract_verses
  c_verse, c_text = self._extract_verse(child)
File 
/home/andreas/Projects/OpenLP/trunk/openlp/plugins/bibles/lib/http.py, line 
101, in _extract_verse
  elif tag.get('class')[0] == versenum or tag.get('class')[0] == 
'versenum mid-line':
  TypeError: 'NoneType' object has no attribute '__getitem__'

  Expected:
  Nothing, the verse does not exist.

  NOTE:
  The tracebacks are ONLY shown, when the chapter was not already downloaded!

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1194730/+subscriptions

___
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/1184869_2.0 into lp:openlp/2.0

2013-08-12 Thread Phill
Phill has proposed merging lp:~phill-ridout/openlp/1184869_2.0 into 
lp:openlp/2.0.

Requested reviews:
  Raoul Snyman (raoul-snyman)
  Tim Bentley (trb143)
Related bugs:
  Bug #1184869 in OpenLP: Webbible import fails
  https://bugs.launchpad.net/openlp/+bug/1184869

For more details, see:
https://code.launchpad.net/~phill-ridout/openlp/1184869_2.0/+merge/179766

Fixes #1184869 Ensures that there is text in the anchor tag
-- 
https://code.launchpad.net/~phill-ridout/openlp/1184869_2.0/+merge/179766
Your team OpenLP Core is subscribed to branch lp:openlp/2.0.
=== modified file 'openlp/plugins/bibles/lib/http.py'
--- openlp/plugins/bibles/lib/http.py	2013-08-03 20:26:46 +
+++ openlp/plugins/bibles/lib/http.py	2013-08-12 18:21:22 +
@@ -377,6 +377,7 @@
 content = content.findAll(u'li')
 return [
 book.contents[0].contents[0] for book in content
+if len(book.contents[0].contents)
 ]
 
 

___
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/1194610_2.0 into lp:openlp/2.0

2013-08-12 Thread Phill
Any suggestions? We could use the encoding selection dialof as used in the EW 
importer, but that only has a limited choice. So far the songs I have tried 
have either been detected as ASCII or Utf-8 IIRC
-- 
https://code.launchpad.net/~phill-ridout/openlp/1194610_2.0/+merge/178373
Your team OpenLP Core is subscribed to branch lp:openlp/2.0.

___
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/1209515_2.0 into lp:openlp/2.0

2013-08-13 Thread Phill
Phill has proposed merging lp:~phill-ridout/openlp/1209515_2.0 into 
lp:openlp/2.0.

Requested reviews:
  Phill (phill-ridout)
  Andreas Preikschat (googol)
Related bugs:
  Bug #1209515 in OpenLP: getFileNames corrupts file names that use special 
chars
  https://bugs.launchpad.net/openlp/+bug/1209515

For more details, see:
https://code.launchpad.net/~phill-ridout/openlp/1209515_2.0/+merge/179976

Fixes #1209515 by subclassing QFileDialog  and attempting to urldecode any 
files not found

-- 
https://code.launchpad.net/~phill-ridout/openlp/1209515_2.0/+merge/179976
Your team OpenLP Core is subscribed to branch lp:openlp/2.0.
=== modified file 'openlp/core/lib/__init__.py'
--- openlp/core/lib/__init__.py	2013-01-20 18:46:41 +
+++ openlp/core/lib/__init__.py	2013-08-13 18:13:33 +
@@ -384,6 +384,7 @@
 
 
 from eventreceiver import Receiver
+from filedialog import FileDialog
 from listwidgetwithdnd import ListWidgetWithDnD
 from formattingtags import FormattingTags
 from spelltextedit import SpellTextEdit

=== added file 'openlp/core/lib/filedialog.py'
--- openlp/core/lib/filedialog.py	1970-01-01 00:00:00 +
+++ openlp/core/lib/filedialog.py	2013-08-13 18:13:33 +
@@ -0,0 +1,58 @@
+# -*- coding: utf-8 -*-
+# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4
+
+###
+# OpenLP - Open Source Lyrics Projection  #
+# --- #
+# Copyright (c) 2008-2013 Raoul Snyman#
+# Portions copyright (c) 2008-2013 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 #
+# --- #
+# 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  #
+###
+
+
+Provide a work around for a bug in QFileDialog (#1209515)
+
+import logging
+import os
+import urllib
+
+from PyQt4 import QtCore, QtGui
+
+from openlp.core.lib.ui import UiStrings
+
+log = logging.getLogger(__name__)
+
+class FileDialog(QtGui.QFileDialog):
+@staticmethod
+def getOpenFileNames(parent, title, path, filters):
+files = QtGui.QFileDialog.getOpenFileNames(parent, title, path, filters)
+file_list = QtCore.QStringList()
+for file in files:
+file = unicode(file)
+if not os.path.exists(file):
+file = urllib.unquote(file)
+if not os.path.exists(file):
+QtGui.QMessageBox.information(self,
+UiStrings().FNFT,
+UiStrings().FNF % file)
+continue
+file_list.append(QtCore.QString(file))
+return file_list
\ No newline at end of file

=== modified file 'openlp/core/lib/mediamanageritem.py'
--- openlp/core/lib/mediamanageritem.py	2013-01-05 11:31:02 +
+++ openlp/core/lib/mediamanageritem.py	2013-08-13 18:13:33 +
@@ -35,7 +35,7 @@
 
 from PyQt4 import QtCore, QtGui
 
-from openlp.core.lib import SettingsManager, OpenLPToolbar, ServiceItem, \
+from openlp.core.lib import FileDialog, SettingsManager, OpenLPToolbar, ServiceItem, \
 StringContent, build_icon, translate, Receiver, ListWidgetWithDnD
 from openlp.core.lib.searchedit import SearchEdit
 from openlp.core.lib.ui import UiStrings, create_widget_action, \
@@ -337,7 +337,7 @@
 
 Add a file to the list widget to make it available for showing

Re: [Openlp-core] [Merge] lp:~phill-ridout/openlp/1209515_2.0 into lp:openlp/2.0

2013-08-13 Thread Phill
Review: Approve

Its asking me to review, presumably because I set it to need fixing before!
-- 
https://code.launchpad.net/~phill-ridout/openlp/1209515_2.0/+merge/179976
Your team OpenLP Core is subscribed to branch lp:openlp/2.0.

___
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] [Bug 1211913] [NEW] Issues importing PowerSong FIles

2013-08-13 Thread Phill
Public bug reported:

http://support.openlp.org/issues/2059

See the above issue for sample songs.

About 400 files would not import having a quick look, these songs do
appear to have valid lyrics so this needs looking at closer.

** Affects: openlp
 Importance: Undecided
 Status: New

** Affects: openlp/2.0
 Importance: Medium
 Status: Confirmed

** Affects: openlp/trunk
 Importance: Undecided
 Status: New


** Tags: song-import support-system

** Also affects: openlp/2.0
   Importance: Undecided
   Status: New

** Also affects: openlp/trunk
   Importance: Undecided
   Status: New

** Changed in: openlp/2.0
   Status: New = Confirmed

** Changed in: openlp/2.0
   Importance: Undecided = Medium

** Tags added: support-system

** Tags added: song-import

** Changed in: openlp/2.0
Milestone: None = 2.0.2

** Changed in: openlp/trunk
Milestone: None = 2.1.1

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1211913

Title:
  Issues importing PowerSong FIles

Status in OpenLP - Worship Presentation Software:
  New
Status in OpenLP 2.0 series:
  Confirmed
Status in OpenLP trunk series:
  New

Bug description:
  http://support.openlp.org/issues/2059

  See the above issue for sample songs.

  About 400 files would not import having a quick look, these songs do
  appear to have valid lyrics so this needs looking at closer.

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1211913/+subscriptions

___
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/1194610_2.0 into lp:openlp/2.0

2013-08-13 Thread Phill
Phill has proposed merging lp:~phill-ridout/openlp/1194610_2.0 into 
lp:openlp/2.0.

Requested reviews:
  Tim Bentley (trb143)
  Raoul Snyman (raoul-snyman)
Related bugs:
  Bug #1194610 in OpenLP: [support-system] SongShowPlus traceback
  https://bugs.launchpad.net/openlp/+bug/1194610

For more details, see:
https://code.launchpad.net/~phill-ridout/openlp/1194610_2.0/+merge/17

Fixes bug 1194610 by detecting the encoding rather than assuming that it set 
(because its not) add fall back to the windows encoding dialog
-- 
https://code.launchpad.net/~phill-ridout/openlp/1194610_2.0/+merge/17
Your team OpenLP Core is subscribed to branch lp:openlp/2.0.
=== modified file 'openlp/plugins/songs/lib/songshowplusimport.py'
--- openlp/plugins/songs/lib/songshowplusimport.py	2013-02-18 17:15:44 +
+++ openlp/plugins/songs/lib/songshowplusimport.py	2013-08-13 20:41:48 +
@@ -30,13 +30,14 @@
 The :mod:`songshowplusimport` module provides the functionality for importing 
 SongShow Plus songs into the OpenLP database.
 
+import chardet
 import os
 import logging
 import re
 import struct
 
 from openlp.core.ui.wizard import WizardStrings
-from openlp.plugins.songs.lib import VerseType
+from openlp.plugins.songs.lib import VerseType, retrieve_windows_encoding
 from openlp.plugins.songs.lib.songimport import SongImport
 
 TITLE = 1
@@ -142,44 +143,44 @@
 log.debug(length_descriptor_size)
 data = song_data.read(length_descriptor)
 if block_key == TITLE:
-self.title = unicode(data, u'cp1252')
+self.title = self.decode(data)
 elif block_key == AUTHOR:
 authors = data.split( / )
 for author in authors:
 if author.find(,) !=-1:
 authorParts = author.split(, )
 author = authorParts[1] +   + authorParts[0]
-self.parseAuthor(unicode(author, u'cp1252'))
+self.parseAuthor(self.decode(author))
 elif block_key == COPYRIGHT:
-self.addCopyright(unicode(data, u'cp1252'))
+self.addCopyright(self.decode(data))
 elif block_key == CCLI_NO:
 self.ccliNumber = int(data)
 elif block_key == VERSE:
-self.addVerse(unicode(data, u'cp1252'),
+self.addVerse(self.decode(data),
 %s%s % (VerseType.Tags[VerseType.Verse], verse_no))
 elif block_key == CHORUS:
-self.addVerse(unicode(data, u'cp1252'),
+self.addVerse(self.decode(data),
 %s%s % (VerseType.Tags[VerseType.Chorus], verse_no))
 elif block_key == BRIDGE:
-self.addVerse(unicode(data, u'cp1252'),
+self.addVerse(self.decode(data),
 %s%s % (VerseType.Tags[VerseType.Bridge], verse_no))
 elif block_key == TOPIC:
-self.topics.append(unicode(data, u'cp1252'))
+self.topics.append(self.decode(data))
 elif block_key == COMMENTS:
-self.comments = unicode(data, u'cp1252')
+self.comments = self.decode(data)
 elif block_key == VERSE_ORDER:
 verse_tag = self.toOpenLPVerseTag(data, True)
 if verse_tag:
 if not isinstance(verse_tag, unicode):
-verse_tag = unicode(verse_tag, u'cp1252')
+verse_tag = self.decode(verse_tag)
 self.sspVerseOrderList.append(verse_tag)
 elif block_key == SONG_BOOK:
-self.songBookName = unicode(data, u'cp1252')
+self.songBookName = self.decode(data)
 elif block_key == SONG_NUMBER:
 self.songNumber = ord(data)
 elif block_key == CUSTOM_VERSE:
 verse_tag = self.toOpenLPVerseTag(verse_name)
-self.addVerse(unicode(data, u'cp1252'), verse_tag)
+self.addVerse(self.decode(data), verse_tag)
 else:
 log.debug(Unrecognised blockKey: %s, data: %s
 % (block_key, data))
@@ -221,3 +222,13 @@
 verse_tag = VerseType.Tags[VerseType.Other]
 verse_number = self.otherList[verse_name]
 return verse_tag + verse_number
+
+def decode(self, data):
+try:
+return unicode(data, chardet.detect(data)['encoding'])
+except:
+while True:
+try:
+return unicode(data, self.encoding)
+except:
+self.encoding = retrieve_windows_encoding()
\ No newline at end of file

[Openlp-core] [Bug 1211913] Re: Issues importing Sunday Plus FIles

2013-08-13 Thread Phill
** Summary changed:

- Issues importing PowerSong FIles
+ Issues importing Sunday Plus FIles

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1211913

Title:
  Issues importing Sunday Plus FIles

Status in OpenLP - Worship Presentation Software:
  New
Status in OpenLP 2.0 series:
  Confirmed
Status in OpenLP trunk series:
  New

Bug description:
  http://support.openlp.org/issues/2059

  See the above issue for sample songs.

  About 400 files would not import having a quick look, these songs do
  appear to have valid lyrics so this needs looking at closer.

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1211913/+subscriptions

___
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] [Bug 1194314] Re: Feature Requests: Webpages Ad-Lib Bible Verses

2013-08-13 Thread Phill
1. If you saw it on our feature requests page why have you added it here? Our 
forums would have been a better place to +1
2. You can use the blank mode Show Desktop to allow use of other 
applications. Such as web browsers.

There is no timeline set out for feature requests at the moment.

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1194314

Title:
  Feature Requests: Webpages  Ad-Lib Bible Verses

Status in OpenLP - Worship Presentation Software:
  New

Bug description:
  I saw the following feature requests:
  http://wiki.openlp.org/Feature_Requests

  1. Sometimes Preachers unexpectedly read beyond the planned Bible verses. 
Therefore the ability to click a button to lookup and show the next verse would 
be useful.
  2. Show webpages

  How popular are these two requests and are they coming in the next
  version?  I would love to move to OpenLP from EasySlides, but these
  two lack of features are holding me back.  I'm currently using an
  older version of EasySlides with a bug that allows option # 1 above
  to work.  Also, EasySlides does not completely take over the 2nd
  monitor, so I can display an alert, and then overlay a web browser
  over the EasySlides live window (option # 2 above)...

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1194314/+subscriptions

___
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] [Bug 1194314] Re: Feature Requests: Webpages Ad-Lib Bible Verses

2013-08-14 Thread Phill
I'm sorry for my earlier abruptness!

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1194314

Title:
  Feature Requests: Webpages  Ad-Lib Bible Verses

Status in OpenLP - Worship Presentation Software:
  New

Bug description:
  I saw the following feature requests:
  http://wiki.openlp.org/Feature_Requests

  1. Sometimes Preachers unexpectedly read beyond the planned Bible verses. 
Therefore the ability to click a button to lookup and show the next verse would 
be useful.
  2. Show webpages

  How popular are these two requests and are they coming in the next
  version?  I would love to move to OpenLP from EasySlides, but these
  two lack of features are holding me back.  I'm currently using an
  older version of EasySlides with a bug that allows option # 1 above
  to work.  Also, EasySlides does not completely take over the 2nd
  monitor, so I can display an alert, and then overlay a web browser
  over the EasySlides live window (option # 2 above)...

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1194314/+subscriptions

___
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] [Bug 1211913] Re: Issues importing Sunday Plus FIles

2013-08-14 Thread Phill
** Changed in: openlp/2.0
   Status: Confirmed = In Progress

** Changed in: openlp/2.0
 Assignee: (unassigned) = Phill (phill-ridout)

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1211913

Title:
  Issues importing Sunday Plus FIles

Status in OpenLP - Worship Presentation Software:
  New
Status in OpenLP 2.0 series:
  In Progress
Status in OpenLP trunk series:
  New

Bug description:
  http://support.openlp.org/issues/2059

  See the above issue for sample songs.

  About 400 files would not import having a quick look, these songs do
  appear to have valid lyrics so this needs looking at closer.

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1211913/+subscriptions

___
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/1211913_2.0 into lp:openlp/2.0

2013-08-14 Thread Phill
Phill has proposed merging lp:~phill-ridout/openlp/1211913_2.0 into 
lp:openlp/2.0.

Requested reviews:
  OpenLP Core (openlp-core)

For more details, see:
https://code.launchpad.net/~phill-ridout/openlp/1211913_2.0/+merge/180234

Fixes #1211913. The case of field names can change, so have taken that in to 
account by converting them to upper case
-- 
https://code.launchpad.net/~phill-ridout/openlp/1211913_2.0/+merge/180234
Your team OpenLP Core is requested to review the proposed merge of 
lp:~phill-ridout/openlp/1211913_2.0 into lp:openlp/2.0.
=== modified file 'openlp/plugins/songs/lib/sundayplusimport.py'
--- openlp/plugins/songs/lib/sundayplusimport.py	2013-02-03 21:00:22 +
+++ openlp/plugins/songs/lib/sundayplusimport.py	2013-08-14 20:26:01 +
@@ -96,7 +96,7 @@
 # Now we are looking for the name.
 if data[i:i + 1] == '#':
 name_end = data.find(':', i + 1)
-name = data[i + 1:name_end]
+name = data[i + 1:name_end].upper()
 i = name_end + 1
 while data[i:i + 1] == ' ':
 i += 1
@@ -122,13 +122,13 @@
 value = data[i:end]
 # If we are in the main group.
 if cell == False:
-if name == 'title':
+if name == 'TITLE':
 self.title = self.decode(self.unescape(value))
-elif name == 'Author':
+elif name == 'AUTHOR':
 author = self.decode(self.unescape(value))
 if len(author):
 self.addAuthor(author)
-elif name == 'Copyright':
+elif name == 'COPYRIGHT':
 self.copyright = self.decode(self.unescape(value))
 elif name[0:4] == 'CELL':
 self.parse(value, cell = name[4:])
@@ -142,13 +142,13 @@
 if len(value) = 2 and value[-1] in ['0', '1', '2',
 '3', '4', '5', '6', '7', '8', '9']:
 verse_type = %s%s % (verse_type, value[-1])
-elif name == 'Hotkey':
+elif name == 'HOTKEY':
 # Hotkey always appears after MARKER_NAME, so it
 # effectively overrides MARKER_NAME, if present.
 if len(value) and \
 value in HOTKEY_TO_VERSE_TYPE.keys():
 verse_type = HOTKEY_TO_VERSE_TYPE[value]
-if name == 'rtf':
+if name == 'RTF':
 value = self.unescape(value)
 result = strip_rtf(value, self.encoding)
 if result is None:

___
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] [Bug 1211913] Re: Issues importing Sunday Plus FIles

2013-08-14 Thread Phill
** Branch linked: lp:~phill-ridout/openlp/1211913_2.0

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1211913

Title:
  Issues importing Sunday Plus FIles

Status in OpenLP - Worship Presentation Software:
  New
Status in OpenLP 2.0 series:
  In Progress
Status in OpenLP trunk series:
  New

Bug description:
  http://support.openlp.org/issues/2059

  See the above issue for sample songs.

  About 400 files would not import having a quick look, these songs do
  appear to have valid lyrics so this needs looking at closer.

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1211913/+subscriptions

___
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/1209515_2.0 into lp:openlp/2.0

2013-08-15 Thread Phill
 63      + file_list = QtCore.QStringList()
 73      + file_list.append(QtCore.QString(file))

 Why? This is Python, use Python objects.
As I was reimplementing and creating a slot in method I wanted to keep the 
same return type. But if you'd rather I'd use python objects I can. Also should 
I change the method name from camel case?

Note in the trunk version I have used python objects as we use PyQt API v2 
(which automatically casts to python objects)


 106     + self.FNFT = unicode(translate('OpenLP.Ui',
 108     + self.FNF = unicode(translate('OpenLP.Ui',

 What does FNFT and FNF mean? I would prefer self.FileNotFound and 
 self.FileNotFoundMessage

Sure, I was just following convention of the other variables.

 109     + 'File %s not found.\nPlease try selecting it individually.'))

 This is horrible. Is there truly no way we can fix this problem?

Agreed, I included this as a belt and braces approach. I have tested this code 
with around 2000 files and have not seen this dialogue. I just added it because 
o wasn't 100% sure we might not have other encoding issues.

The bug is in Qt, select a single file and its fine, but select multiple files 
and it seems to URL encode the names. I don't see any other way round this!
-- 
https://code.launchpad.net/~phill-ridout/openlp/1209515_2.0/+merge/179976
Your team OpenLP Core is subscribed to branch lp:openlp/2.0.

___
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:~oliwee/openlp/HideBibleVerses into lp:openlp

2013-08-15 Thread Phill
I would agree with Jonathan, however the bible has an advanced tab. I don't 
think it would look out of place on there.
-- 
https://code.launchpad.net/~oliwee/openlp/HideBibleVerses/+merge/179610
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/1209515_2.0 into lp:openlp/2.0

2013-08-15 Thread Phill
Phill has proposed merging lp:~phill-ridout/openlp/1209515_2.0 into 
lp:openlp/2.0.

Requested reviews:
  Raoul Snyman (raoul-snyman)
  Phill (phill-ridout)
  Andreas Preikschat (googol)
Related bugs:
  Bug #1209515 in OpenLP: getFileNames corrupts file names that use special 
chars
  https://bugs.launchpad.net/openlp/+bug/1209515

For more details, see:
https://code.launchpad.net/~phill-ridout/openlp/1209515_2.0/+merge/180471

Fixes #1209515 by subclassing QFileDialog  and attempting to urldecode any 
files not found

-- 
https://code.launchpad.net/~phill-ridout/openlp/1209515_2.0/+merge/180471
Your team OpenLP Core is subscribed to branch lp:openlp/2.0.
=== modified file 'openlp/core/lib/__init__.py'
--- openlp/core/lib/__init__.py	2013-01-20 18:46:41 +
+++ openlp/core/lib/__init__.py	2013-08-16 05:24:25 +
@@ -384,6 +384,7 @@
 
 
 from eventreceiver import Receiver
+from filedialog import FileDialog
 from listwidgetwithdnd import ListWidgetWithDnD
 from formattingtags import FormattingTags
 from spelltextedit import SpellTextEdit

=== added file 'openlp/core/lib/filedialog.py'
--- openlp/core/lib/filedialog.py	1970-01-01 00:00:00 +
+++ openlp/core/lib/filedialog.py	2013-08-16 05:24:25 +
@@ -0,0 +1,55 @@
+# -*- coding: utf-8 -*-
+# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4
+
+###
+# OpenLP - Open Source Lyrics Projection  #
+# --- #
+# Copyright (c) 2008-2013 Raoul Snyman#
+# Portions copyright (c) 2008-2013 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 #
+# --- #
+# 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  #
+###
+
+
+Provide a work around for a bug in QFileDialog https://bugs.launchpad.net/openlp/+bug/1209515
+
+import os
+import urllib
+
+from PyQt4 import QtCore, QtGui
+
+from openlp.core.lib.ui import UiStrings
+
+class FileDialog(QtGui.QFileDialog):
+@staticmethod
+def getOpenFileNames(parent, title, path, filters):
+files = QtGui.QFileDialog.getOpenFileNames(parent, title, path, filters)
+file_list = QtCore.QStringList()
+for file in files:
+file = unicode(file)
+if not os.path.exists(file):
+file = urllib.unquote(file)
+if not os.path.exists(file):
+QtGui.QMessageBox.information(parent,
+UiStrings().FileNotFound,
+UiStrings().FileNotFoundMessage % file)
+continue
+file_list.append(QtCore.QString(file))
+return file_list
\ No newline at end of file

=== modified file 'openlp/core/lib/mediamanageritem.py'
--- openlp/core/lib/mediamanageritem.py	2013-01-05 11:31:02 +
+++ openlp/core/lib/mediamanageritem.py	2013-08-16 05:24:25 +
@@ -35,7 +35,7 @@
 
 from PyQt4 import QtCore, QtGui
 
-from openlp.core.lib import SettingsManager, OpenLPToolbar, ServiceItem, \
+from openlp.core.lib import FileDialog, SettingsManager, OpenLPToolbar, ServiceItem, \
 StringContent, build_icon, translate, Receiver, ListWidgetWithDnD
 from openlp.core.lib.searchedit import SearchEdit
 from openlp.core.lib.ui import UiStrings, create_widget_action, \
@@ -337,7 +337,7 @@
 
 Add a file to the list widget to make

Re: [Openlp-core] [Merge] lp:~phill-ridout/openlp/1209515_2.0 into lp:openlp/2.0

2013-08-15 Thread Phill
Review: Approve


-- 
https://code.launchpad.net/~phill-ridout/openlp/1209515_2.0/+merge/180471
Your team OpenLP Core is subscribed to branch lp:openlp/2.0.

___
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] [Bug 1213254] [NEW] OpenLP 1 database importer crashes when encountering control chars

2013-08-16 Thread Phill
Public bug reported:

http://support.openlp.org/issues/1941

--- Exception Traceback ---
Traceback (most recent call last):
File 
D:\OpenLP_Code\release-2.0.1\build\pyi.win32\OpenLP\out00-PYZ.pyz\openlp.core.ui.wizard,
 line 188, in onCurrentIdChanged
File 
D:\OpenLP_Code\release-2.0.1\build\pyi.win32\OpenLP\out00-PYZ.pyz\openlp.plugins.songs.forms.songimportform,
 line 391, in performWizard
File 
D:\OpenLP_Code\release-2.0.1\build\pyi.win32\OpenLP\out00-PYZ.pyz\openlp.plugins.songs.lib.olp1import,
 line 161, in doImport
File 
D:\OpenLP_Code\release-2.0.1\build\pyi.win32\OpenLP\out00-PYZ.pyz\openlp.plugins.songs.lib.songimport,
 line 327, in finish
File 
D:\OpenLP_Code\release-2.0.1\build\pyi.win32\OpenLP\out00-PYZ.pyz\openlp.plugins.songs.lib.xml,
 line 119, in add_verse_to_lyrics
File lxml.etree.pyx, line 2613, in lxml.etree.CDATA.__init__ 
(src/lxml/lxml.etree.c:51419)
File apihelpers.pxi, line 1366, in lxml.etree._utf8 
(src/lxml/lxml.etree.c:22211)
ValueError: All strings must be XML compatible: Unicode or ASCII, no NULL bytes 
or control characters

** Affects: openlp
 Importance: Undecided
 Status: New

** Affects: openlp/2.0
 Importance: Undecided
 Status: Confirmed


** Tags: song-import support-system

** Also affects: openlp/2.0
   Importance: Undecided
   Status: New

** Changed in: openlp/2.0
   Status: New = Confirmed

** Changed in: openlp/2.0
Milestone: None = 2.0.2

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1213254

Title:
  OpenLP 1 database importer crashes when encountering control chars

Status in OpenLP - Worship Presentation Software:
  New
Status in OpenLP 2.0 series:
  Confirmed

Bug description:
  http://support.openlp.org/issues/1941

  --- Exception Traceback ---
  Traceback (most recent call last):
  File 
D:\OpenLP_Code\release-2.0.1\build\pyi.win32\OpenLP\out00-PYZ.pyz\openlp.core.ui.wizard,
 line 188, in onCurrentIdChanged
  File 
D:\OpenLP_Code\release-2.0.1\build\pyi.win32\OpenLP\out00-PYZ.pyz\openlp.plugins.songs.forms.songimportform,
 line 391, in performWizard
  File 
D:\OpenLP_Code\release-2.0.1\build\pyi.win32\OpenLP\out00-PYZ.pyz\openlp.plugins.songs.lib.olp1import,
 line 161, in doImport
  File 
D:\OpenLP_Code\release-2.0.1\build\pyi.win32\OpenLP\out00-PYZ.pyz\openlp.plugins.songs.lib.songimport,
 line 327, in finish
  File 
D:\OpenLP_Code\release-2.0.1\build\pyi.win32\OpenLP\out00-PYZ.pyz\openlp.plugins.songs.lib.xml,
 line 119, in add_verse_to_lyrics
  File lxml.etree.pyx, line 2613, in lxml.etree.CDATA.__init__ 
(src/lxml/lxml.etree.c:51419)
  File apihelpers.pxi, line 1366, in lxml.etree._utf8 
(src/lxml/lxml.etree.c:22211)
  ValueError: All strings must be XML compatible: Unicode or ASCII, no NULL 
bytes or control characters

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1213254/+subscriptions

___
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/1194610_2.0 into lp:openlp/2.0

2013-08-16 Thread Phill
Phill has proposed merging lp:~phill-ridout/openlp/1194610_2.0 into 
lp:openlp/2.0.

Requested reviews:
  Tim Bentley (trb143)
  Raoul Snyman (raoul-snyman)
Related bugs:
  Bug #1194610 in OpenLP: [support-system] SongShowPlus traceback
  https://bugs.launchpad.net/openlp/+bug/1194610

For more details, see:
https://code.launchpad.net/~phill-ridout/openlp/1194610_2.0/+merge/180662

Fixes bug 1194610 by detecting the encoding rather than assuming that it set 
(because its not) add fall back to the windows encoding dialog
-- 
https://code.launchpad.net/~phill-ridout/openlp/1194610_2.0/+merge/180662
Your team OpenLP Core is subscribed to branch lp:openlp/2.0.
=== modified file 'openlp/plugins/songs/lib/songshowplusimport.py'
--- openlp/plugins/songs/lib/songshowplusimport.py	2013-02-18 17:15:44 +
+++ openlp/plugins/songs/lib/songshowplusimport.py	2013-08-16 22:09:13 +
@@ -30,13 +30,14 @@
 The :mod:`songshowplusimport` module provides the functionality for importing 
 SongShow Plus songs into the OpenLP database.
 
+import chardet
 import os
 import logging
 import re
 import struct
 
 from openlp.core.ui.wizard import WizardStrings
-from openlp.plugins.songs.lib import VerseType
+from openlp.plugins.songs.lib import VerseType, retrieve_windows_encoding
 from openlp.plugins.songs.lib.songimport import SongImport
 
 TITLE = 1
@@ -142,44 +143,44 @@
 log.debug(length_descriptor_size)
 data = song_data.read(length_descriptor)
 if block_key == TITLE:
-self.title = unicode(data, u'cp1252')
+self.title = self.decode(data)
 elif block_key == AUTHOR:
 authors = data.split( / )
 for author in authors:
 if author.find(,) !=-1:
 authorParts = author.split(, )
 author = authorParts[1] +   + authorParts[0]
-self.parseAuthor(unicode(author, u'cp1252'))
+self.parseAuthor(self.decode(author))
 elif block_key == COPYRIGHT:
-self.addCopyright(unicode(data, u'cp1252'))
+self.addCopyright(self.decode(data))
 elif block_key == CCLI_NO:
 self.ccliNumber = int(data)
 elif block_key == VERSE:
-self.addVerse(unicode(data, u'cp1252'),
+self.addVerse(self.decode(data),
 %s%s % (VerseType.Tags[VerseType.Verse], verse_no))
 elif block_key == CHORUS:
-self.addVerse(unicode(data, u'cp1252'),
+self.addVerse(self.decode(data),
 %s%s % (VerseType.Tags[VerseType.Chorus], verse_no))
 elif block_key == BRIDGE:
-self.addVerse(unicode(data, u'cp1252'),
+self.addVerse(self.decode(data),
 %s%s % (VerseType.Tags[VerseType.Bridge], verse_no))
 elif block_key == TOPIC:
-self.topics.append(unicode(data, u'cp1252'))
+self.topics.append(self.decode(data))
 elif block_key == COMMENTS:
-self.comments = unicode(data, u'cp1252')
+self.comments = self.decode(data)
 elif block_key == VERSE_ORDER:
 verse_tag = self.toOpenLPVerseTag(data, True)
 if verse_tag:
 if not isinstance(verse_tag, unicode):
-verse_tag = unicode(verse_tag, u'cp1252')
+verse_tag = self.decode(verse_tag)
 self.sspVerseOrderList.append(verse_tag)
 elif block_key == SONG_BOOK:
-self.songBookName = unicode(data, u'cp1252')
+self.songBookName = self.decode(data)
 elif block_key == SONG_NUMBER:
 self.songNumber = ord(data)
 elif block_key == CUSTOM_VERSE:
 verse_tag = self.toOpenLPVerseTag(verse_name)
-self.addVerse(unicode(data, u'cp1252'), verse_tag)
+self.addVerse(self.decode(data), verse_tag)
 else:
 log.debug(Unrecognised blockKey: %s, data: %s
 % (block_key, data))
@@ -221,3 +222,9 @@
 verse_tag = VerseType.Tags[VerseType.Other]
 verse_number = self.otherList[verse_name]
 return verse_tag + verse_number
+
+def decode(self, data):
+try:
+return unicode(data, chardet.detect(data)['encoding'])
+except:
+return unicode(data, u'cp1252')
\ No newline at end of file

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

[Openlp-core] [Merge] lp:~phill-ridout/openlp/1213254_2.0 into lp:openlp/2.0

2013-08-17 Thread Phill
Phill has proposed merging lp:~phill-ridout/openlp/1213254_2.0 into 
lp:openlp/2.0.

Requested reviews:
  OpenLP Core (openlp-core)

For more details, see:
https://code.launchpad.net/~phill-ridout/openlp/1213254_2.0/+merge/180683

Fix the importing of some OpenLP 1 databases by filtering out invalid xml 
chars. code from 
http://stackoverflow.com/questions/8733233/filtering-out-certain-bytes-in-python
-- 
https://code.launchpad.net/~phill-ridout/openlp/1213254_2.0/+merge/180683
Your team OpenLP Core is requested to review the proposed merge of 
lp:~phill-ridout/openlp/1213254_2.0 into lp:openlp/2.0.
=== modified file 'openlp/plugins/songs/lib/xml.py'
--- openlp/plugins/songs/lib/xml.py	2012-12-30 19:41:24 +
+++ openlp/plugins/songs/lib/xml.py	2013-08-17 08:12:37 +
@@ -92,6 +92,27 @@
 self.song_xml = objectify.fromstring(u'song version=1.0 /')
 self.lyrics = etree.SubElement(self.song_xml, u'lyrics')
 
+@staticmethod
+def valid_xml_char_ordinal(char):
+
+Control Characters we need to filter from the xml.
+Source http://stackoverflow.com/questions/8733233/filtering-out-certain-bytes-in-python
+
+return (
+0x20 = char = 0xD7FF
+or char in (0x9, 0xA, 0xD)
+or 0xE000 = char = 0xFFFD
+or 0x1 = char = 0x10
+)
+
+@staticmethod
+def clean_xml_string(xml):
+
+Filter out invalid characters in xml
+Source http://stackoverflow.com/questions/8733233/filtering-out-certain-bytes-in-python
+
+return ''.join(char for char in xml if SongXML.valid_xml_char_ordinal(ord(char)))
+
 def add_verse_to_lyrics(self, type, number, content, lang=None):
 
 Add a verse to the ``lyrics`` tag.
@@ -112,6 +133,7 @@
 The verse's language code (ISO-639). This is not required, but
 should be added if available.
 
+content = self.clean_xml_string(content)
 verse = etree.Element(u'verse', type=unicode(type),
 label=unicode(number))
 if lang:

___
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] [Bug 1213254] Re: OpenLP 1 database importer crashes when encountering control chars

2013-08-17 Thread Phill
** Branch linked: lp:~phill-ridout/openlp/1213254_2.0

** Changed in: openlp/2.0
   Importance: Undecided = Medium

** Changed in: openlp/2.0
 Assignee: (unassigned) = Phill (phill-ridout)

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1213254

Title:
  OpenLP 1 database importer crashes when encountering control chars

Status in OpenLP - Worship Presentation Software:
  New
Status in OpenLP 2.0 series:
  Confirmed

Bug description:
  http://support.openlp.org/issues/1941

  --- Exception Traceback ---
  Traceback (most recent call last):
  File 
D:\OpenLP_Code\release-2.0.1\build\pyi.win32\OpenLP\out00-PYZ.pyz\openlp.core.ui.wizard,
 line 188, in onCurrentIdChanged
  File 
D:\OpenLP_Code\release-2.0.1\build\pyi.win32\OpenLP\out00-PYZ.pyz\openlp.plugins.songs.forms.songimportform,
 line 391, in performWizard
  File 
D:\OpenLP_Code\release-2.0.1\build\pyi.win32\OpenLP\out00-PYZ.pyz\openlp.plugins.songs.lib.olp1import,
 line 161, in doImport
  File 
D:\OpenLP_Code\release-2.0.1\build\pyi.win32\OpenLP\out00-PYZ.pyz\openlp.plugins.songs.lib.songimport,
 line 327, in finish
  File 
D:\OpenLP_Code\release-2.0.1\build\pyi.win32\OpenLP\out00-PYZ.pyz\openlp.plugins.songs.lib.xml,
 line 119, in add_verse_to_lyrics
  File lxml.etree.pyx, line 2613, in lxml.etree.CDATA.__init__ 
(src/lxml/lxml.etree.c:51419)
  File apihelpers.pxi, line 1366, in lxml.etree._utf8 
(src/lxml/lxml.etree.c:22211)
  ValueError: All strings must be XML compatible: Unicode or ASCII, no NULL 
bytes or control characters

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1213254/+subscriptions

___
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/1209515_2.0 into lp:openlp/2.0

2013-08-17 Thread Phill
Phill has proposed merging lp:~phill-ridout/openlp/1209515_2.0 into 
lp:openlp/2.0.

Requested reviews:
  Phill (phill-ridout)
  Raoul Snyman (raoul-snyman)
  Andreas Preikschat (googol)
Related bugs:
  Bug #1209515 in OpenLP: getFileNames corrupts file names that use special 
chars
  https://bugs.launchpad.net/openlp/+bug/1209515

For more details, see:
https://code.launchpad.net/~phill-ridout/openlp/1209515_2.0/+merge/180686

Fixes #1209515 by subclassing QFileDialog  and attempting to urldecode any 
files not found

-- 
https://code.launchpad.net/~phill-ridout/openlp/1209515_2.0/+merge/180686
Your team OpenLP Core is subscribed to branch lp:openlp/2.0.
=== modified file 'openlp/core/lib/__init__.py'
--- openlp/core/lib/__init__.py	2013-01-20 18:46:41 +
+++ openlp/core/lib/__init__.py	2013-08-17 08:52:40 +
@@ -384,6 +384,7 @@
 
 
 from eventreceiver import Receiver
+from filedialog import FileDialog
 from listwidgetwithdnd import ListWidgetWithDnD
 from formattingtags import FormattingTags
 from spelltextedit import SpellTextEdit

=== added file 'openlp/core/lib/filedialog.py'
--- openlp/core/lib/filedialog.py	1970-01-01 00:00:00 +
+++ openlp/core/lib/filedialog.py	2013-08-17 08:52:40 +
@@ -0,0 +1,55 @@
+# -*- coding: utf-8 -*-
+# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4
+
+###
+# OpenLP - Open Source Lyrics Projection  #
+# --- #
+# Copyright (c) 2008-2013 Raoul Snyman#
+# Portions copyright (c) 2008-2013 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 #
+# --- #
+# 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  #
+###
+
+
+Provide a work around for a bug in QFileDialog https://bugs.launchpad.net/openlp/+bug/1209515
+
+import os
+import urllib
+
+from PyQt4 import QtCore, QtGui
+
+from openlp.core.lib.ui import UiStrings
+
+class FileDialog(QtGui.QFileDialog):
+@staticmethod
+def getOpenFileNames(parent, title, path, filters):
+files = QtGui.QFileDialog.getOpenFileNames(parent, title, path, filters)
+file_list = QtCore.QStringList()
+for file in files:
+file = unicode(file)
+if not os.path.exists(file):
+file = urllib.unquote(file)
+if not os.path.exists(file):
+QtGui.QMessageBox.information(parent,
+UiStrings().FileNotFound,
+UiStrings().FileNotFoundMessage % file)
+continue
+file_list.append(QtCore.QString(file))
+return file_list
\ No newline at end of file

=== modified file 'openlp/core/lib/mediamanageritem.py'
--- openlp/core/lib/mediamanageritem.py	2013-01-05 11:31:02 +
+++ openlp/core/lib/mediamanageritem.py	2013-08-17 08:52:40 +
@@ -35,7 +35,7 @@
 
 from PyQt4 import QtCore, QtGui
 
-from openlp.core.lib import SettingsManager, OpenLPToolbar, ServiceItem, \
+from openlp.core.lib import FileDialog, SettingsManager, OpenLPToolbar, ServiceItem, \
 StringContent, build_icon, translate, Receiver, ListWidgetWithDnD
 from openlp.core.lib.searchedit import SearchEdit
 from openlp.core.lib.ui import UiStrings, create_widget_action, \
@@ -337,7 +337,7 @@
 
 Add a file to the list widget to make

Re: [Openlp-core] [Merge] lp:~phill-ridout/openlp/1211913_2.0 into lp:openlp/2.0

2013-08-17 Thread Phill
 Should the strings be u'
Tim, I would say no. The data is apparently stored in us-ascii. The importer 
does unicode(data, self.encoding) where self.encoding is us-ascii.

Unless somebody else knows better?
-- 
https://code.launchpad.net/~phill-ridout/openlp/1211913_2.0/+merge/180234
Your team OpenLP Core is subscribed to branch lp:openlp/2.0.

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

2013-08-17 Thread Phill
 Why do you check the charset each time?
 
 Line 14 changed to
   data = unicode( song_data.read(length_descriptor),
 chardet.detect(data)['encoding'] )
 should be enough

This would not work, because the length descriptor has no encoding. It is a 
byte of which the binary value specifies the length in bytes of the following 
string. So I guess you could say it has no encoding!
-- 
https://code.launchpad.net/~phill-ridout/openlp/1194610/+merge/178456
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/1194610_2.0 into lp:openlp/2.0

2013-08-17 Thread Phill
 Retrieve_windows_encoding is not used?

It was, but the Raoul told me to: Fall back to cp1252 
(https://code.launchpad.net/~phill-ridout/openlp/1194610_2.0/+merge/17/comments/406874)
-- 
https://code.launchpad.net/~phill-ridout/openlp/1194610_2.0/+merge/180662
Your team OpenLP Core is subscribed to branch lp:openlp/2.0.

___
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/1197659_2.0 into lp:openlp/2.0

2013-08-18 Thread Phill
Phill has proposed merging lp:~phill-ridout/openlp/1197659_2.0 into 
lp:openlp/2.0.

Requested reviews:
  OpenLP Core (openlp-core)
Related bugs:
  Bug #1197659 in OpenLP: Delete button in Configure Formatting Tags gets 
focus
  https://bugs.launchpad.net/openlp/+bug/1197659

For more details, see:
https://code.launchpad.net/~phill-ridout/openlp/1197659_2.0/+merge/180727

Fixes #1197659 by setting the default attribute on the save button when the tag 
is edited

-- 
https://code.launchpad.net/~phill-ridout/openlp/1197659_2.0/+merge/180727
Your team OpenLP Core is requested to review the proposed merge of 
lp:~phill-ridout/openlp/1197659_2.0 into lp:openlp/2.0.
=== modified file 'openlp/core/ui/formattingtagform.py'
--- openlp/core/ui/formattingtagform.py	2013-07-08 16:58:06 +
+++ openlp/core/ui/formattingtagform.py	2013-08-18 06:53:15 +
@@ -109,6 +109,7 @@
 has been changed.
 
 self.savePushButton.setEnabled(True)
+self.savePushButton.setDefault(True)
 
 def onNewClicked(self):
 

___
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] [Bug 1197659] Re: Delete button in Configure Formatting Tags gets focus

2013-08-18 Thread Phill
** Changed in: openlp/2.0
   Status: Incomplete = In Progress

** Changed in: openlp/2.0
 Assignee: (unassigned) = Phill (phill-ridout)

** Branch linked: lp:~phill-ridout/openlp/1197659_2.0

** Changed in: openlp/trunk
   Status: Incomplete = In Progress

** Changed in: openlp/trunk
 Assignee: (unassigned) = Phill (phill-ridout)

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1197659

Title:
  Delete button in Configure Formatting Tags gets focus

Status in OpenLP - Worship Presentation Software:
  In Progress
Status in OpenLP 2.0 series:
  In Progress
Status in OpenLP trunk series:
  In Progress

Bug description:
  http://support.openlp.org/issues/2005

  When adding a new formatting tag, the delete button gets focus. It
  seems like the Save button should get focus instead.

  How to reproduce.
  Open Configure Formatting Tags dialog.
  Click new.
  Click in one of the line edits (Delete button gets focus)
  Change the text
  Press enter (I would assume that this would save the new tag)
  New tag gets deleted

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1197659/+subscriptions

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

2013-08-18 Thread Phill
Phill has proposed merging lp:~phill-ridout/openlp/1197659 into lp:openlp.

Requested reviews:
  OpenLP Core (openlp-core)
Related bugs:
  Bug #1197659 in OpenLP: Delete button in Configure Formatting Tags gets 
focus
  https://bugs.launchpad.net/openlp/+bug/1197659

For more details, see:
https://code.launchpad.net/~phill-ridout/openlp/1197659/+merge/180743

Fixes #1197659 by setting the default attribute on the save button when the tag 
is edited. + Test
-- 
https://code.launchpad.net/~phill-ridout/openlp/1197659/+merge/180743
Your team OpenLP Core is requested to review the proposed merge of 
lp:~phill-ridout/openlp/1197659 into lp:openlp.
=== modified file 'openlp/core/ui/formattingtagform.py'
--- openlp/core/ui/formattingtagform.py	2013-07-19 15:51:47 +
+++ openlp/core/ui/formattingtagform.py	2013-08-18 19:56:31 +
@@ -99,6 +99,7 @@
 has been changed.
 
 self.save_push_button.setEnabled(True)
+self.save_push_button.setDefault(True)
 
 def on_new_clicked(self):
 

=== added file 'tests/functional/openlp_core_ui/test_formattingtagform.py'
--- tests/functional/openlp_core_ui/test_formattingtagform.py	1970-01-01 00:00:00 +
+++ tests/functional/openlp_core_ui/test_formattingtagform.py	2013-08-18 19:56:31 +
@@ -0,0 +1,62 @@
+
+Package to test the openlp.core.ui.formattingtagsform package.
+
+from unittest import TestCase
+
+from mock import MagicMock, patch
+
+from openlp.core.ui.formattingtagform import FormattingTagForm
+
+# TODO: Tests Still TODO
+# __init__
+# exec_
+# on_new_clicked
+# on_delete_clicked
+# on_saved_clicked
+# _reloadTable
+
+class TestFormattingTagForm(TestCase):
+def setUp(self):
+self.init_patcher = patch(u'openlp.core.ui.formattingtagform.FormattingTagForm.__init__')
+self.qdialog_patcher = patch(u'openlp.core.ui.formattingtagform.QtGui.QDialog')
+self.ui_formatting_tag_dialog_patcher = patch(u'openlp.core.ui.formattingtagform.Ui_FormattingTagDialog')
+self.mocked_init = self.init_patcher.start()
+self.mocked_qdialog = self.qdialog_patcher.start()
+self.mocked_ui_formatting_tag_dialog = self.ui_formatting_tag_dialog_patcher.start()
+self.mocked_init.return_value = None
+
+def tearDown(self):
+self.init_patcher.stop()
+self.qdialog_patcher.stop()
+self.ui_formatting_tag_dialog_patcher.stop()
+
+def on_text_edited_test(self):
+
+Test that the appropriate actions are preformed when on_text_edited is called
+
+
+# GIVEN: An instance of the Formatting Tag Form and a mocked save_push_button
+form = FormattingTagForm()
+form.save_push_button = MagicMock()
+
+# WHEN: on_text_edited is called with an arbitrary value
+form.on_text_edited(u'text')
+
+# THEN: setEnabled and setDefault should have been called on save_push_button
+form.save_push_button.setEnabled.assert_called_with(True)
+form.save_push_button.setDefault.assert_called_with(True)
+
+def strip_test(self):
+
+Test that the _strip strips the correct chars
+
+
+# GIVEN: An instance of the Formatting Tag Form and a string containing a tag
+form = FormattingTagForm()
+tag = u'{tag}'
+
+# WHEN: Calling _strip
+result = form._strip(tag)
+
+# THEN: The tag should be returned with the wrappers removed.
+self.assertEqual(result, u'tag', u'FormattingTagForm._strip should return u\'tag\' when called with u\'{tag}\'')

___
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/1211913_2.0 into lp:openlp/2.0

2013-08-18 Thread Phill
Phill has proposed merging lp:~phill-ridout/openlp/1211913_2.0 into 
lp:openlp/2.0.

Requested reviews:
  Tim Bentley (trb143)
  Raoul Snyman (raoul-snyman)
Related bugs:
  Bug #1211913 in OpenLP: Issues importing Sunday Plus FIles
  https://bugs.launchpad.net/openlp/+bug/1211913

For more details, see:
https://code.launchpad.net/~phill-ridout/openlp/1211913_2.0/+merge/180746

Fixes #1211913. The case of field names can change, so have taken that in to 
account by converting them to upper case
-- 
https://code.launchpad.net/~phill-ridout/openlp/1211913_2.0/+merge/180746
Your team OpenLP Core is subscribed to branch lp:openlp/2.0.
=== modified file 'openlp/plugins/songs/lib/sundayplusimport.py'
--- openlp/plugins/songs/lib/sundayplusimport.py	2013-02-03 21:00:22 +
+++ openlp/plugins/songs/lib/sundayplusimport.py	2013-08-18 20:48:29 +
@@ -68,7 +68,7 @@
 for filename in self.importSource:
 if self.stopImportFlag:
 return
-song_file = open(filename)
+song_file = open(filename, 'rb')
 self.doImportFile(song_file)
 song_file.close()
 
@@ -96,7 +96,7 @@
 # Now we are looking for the name.
 if data[i:i + 1] == '#':
 name_end = data.find(':', i + 1)
-name = data[i + 1:name_end]
+name = data[i + 1:name_end].upper()
 i = name_end + 1
 while data[i:i + 1] == ' ':
 i += 1
@@ -122,13 +122,13 @@
 value = data[i:end]
 # If we are in the main group.
 if cell == False:
-if name == 'title':
+if name == 'TITLE':
 self.title = self.decode(self.unescape(value))
-elif name == 'Author':
+elif name == 'AUTHOR':
 author = self.decode(self.unescape(value))
 if len(author):
 self.addAuthor(author)
-elif name == 'Copyright':
+elif name == 'COPYRIGHT':
 self.copyright = self.decode(self.unescape(value))
 elif name[0:4] == 'CELL':
 self.parse(value, cell = name[4:])
@@ -142,13 +142,13 @@
 if len(value) = 2 and value[-1] in ['0', '1', '2',
 '3', '4', '5', '6', '7', '8', '9']:
 verse_type = %s%s % (verse_type, value[-1])
-elif name == 'Hotkey':
+elif name == 'HOTKEY':
 # Hotkey always appears after MARKER_NAME, so it
 # effectively overrides MARKER_NAME, if present.
 if len(value) and \
 value in HOTKEY_TO_VERSE_TYPE.keys():
 verse_type = HOTKEY_TO_VERSE_TYPE[value]
-if name == 'rtf':
+if name == 'RTF':
 value = self.unescape(value)
 result = strip_rtf(value, self.encoding)
 if result is None:

___
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/1213254_2.0 into lp:openlp/2.0

2013-08-19 Thread Phill
Phill has proposed merging lp:~phill-ridout/openlp/1213254_2.0 into 
lp:openlp/2.0.

Requested reviews:
  Raoul Snyman (raoul-snyman)
Related bugs:
  Bug #1213254 in OpenLP: OpenLP 1 database importer crashes when encountering 
control chars
  https://bugs.launchpad.net/openlp/+bug/1213254

For more details, see:
https://code.launchpad.net/~phill-ridout/openlp/1213254_2.0/+merge/180938

Fix the importing of some OpenLP 1 databases by filtering out invalid xml 
chars. code from 
http://stackoverflow.com/questions/8733233/filtering-out-certain-bytes-in-python
-- 
https://code.launchpad.net/~phill-ridout/openlp/1213254_2.0/+merge/180938
Your team OpenLP Core is subscribed to branch lp:openlp/2.0.
=== modified file 'openlp/plugins/songs/lib/xml.py'
--- openlp/plugins/songs/lib/xml.py	2012-12-30 19:41:24 +
+++ openlp/plugins/songs/lib/xml.py	2013-08-19 20:19:56 +
@@ -78,6 +78,17 @@
 NAMESPACE = u'http://openlyrics.info/namespace/2009/song'
 NSMAP = '{' + NAMESPACE + '}' + '%s'
 
+def clean_xml_string(xml):
+
+Filter out invalid characters in xml
+Source http://stackoverflow.com/questions/8733233/filtering-out-certain-bytes-in-python
+
+return ''.join(char for char in xml if
+0x20 = char = 0xD7FF
+or char in (0x9, 0xA, 0xD)
+or 0xE000 = char = 0xFFFD
+or 0x1 = char = 0x10)
+
 
 class SongXML(object):
 
@@ -112,6 +123,7 @@
 The verse's language code (ISO-639). This is not required, but
 should be added if available.
 
+content = clean_xml_string(content)
 verse = etree.Element(u'verse', type=unicode(type),
 label=unicode(number))
 if lang:

___
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] [Bug 1213254] Re: OpenLP 1 database importer crashes when encountering control chars

2013-08-19 Thread Phill
** Changed in: openlp/trunk
 Assignee: (unassigned) = Phill (phill-ridout)

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1213254

Title:
  OpenLP 1 database importer crashes when encountering control chars

Status in OpenLP - Worship Presentation Software:
  New
Status in OpenLP 2.0 series:
  In Progress
Status in OpenLP trunk series:
  New

Bug description:
  http://support.openlp.org/issues/1941

  --- Exception Traceback ---
  Traceback (most recent call last):
  File 
D:\OpenLP_Code\release-2.0.1\build\pyi.win32\OpenLP\out00-PYZ.pyz\openlp.core.ui.wizard,
 line 188, in onCurrentIdChanged
  File 
D:\OpenLP_Code\release-2.0.1\build\pyi.win32\OpenLP\out00-PYZ.pyz\openlp.plugins.songs.forms.songimportform,
 line 391, in performWizard
  File 
D:\OpenLP_Code\release-2.0.1\build\pyi.win32\OpenLP\out00-PYZ.pyz\openlp.plugins.songs.lib.olp1import,
 line 161, in doImport
  File 
D:\OpenLP_Code\release-2.0.1\build\pyi.win32\OpenLP\out00-PYZ.pyz\openlp.plugins.songs.lib.songimport,
 line 327, in finish
  File 
D:\OpenLP_Code\release-2.0.1\build\pyi.win32\OpenLP\out00-PYZ.pyz\openlp.plugins.songs.lib.xml,
 line 119, in add_verse_to_lyrics
  File lxml.etree.pyx, line 2613, in lxml.etree.CDATA.__init__ 
(src/lxml/lxml.etree.c:51419)
  File apihelpers.pxi, line 1366, in lxml.etree._utf8 
(src/lxml/lxml.etree.c:22211)
  ValueError: All strings must be XML compatible: Unicode or ASCII, no NULL 
bytes or control characters

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1213254/+subscriptions

___
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] [Bug 1194622] Re: [support-system] Traceback when importing bible with disabled bible plugin in FTW

2013-08-20 Thread Phill
** Changed in: openlp/2.0
 Assignee: (unassigned) = Raoul Snyman (raoul-snyman)

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1194622

Title:
  [support-system] Traceback when importing bible with disabled bible
  plugin in FTW

Status in OpenLP - Worship Presentation Software:
  Confirmed
Status in OpenLP 2.0 series:
  In Progress
Status in OpenLP trunk series:
  Confirmed

Bug description:
  Hello,

  http://support.openlp.org/issues/2009

  1) Disable the Bible Plugin
  2) Restart OpenLP (it could be that this step is not required)
  3) Start the FTW
  4) Make sure the bible plugin is not checked!
  5) On the bible download page select a bible

  Result:
  Traceback (most recent call last):
File 
/usr/lib/python2.7/site-packages/openlp/plugins/bibles/lib/mediaitem.py, line 
407, in reloadBibles
  self.plugin.manager.reload_bibles()
  AttributeError: 'NoneType' object has no attribute 'reload_bibles'

  
  Expected:
  I am not sure, this is a strange case. Either the bible download page should 
not be shown or we should inform the user that we need to enable the bible 
plugin.

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1194622/+subscriptions

___
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/1209515_2.0 into lp:openlp/2.0

2013-08-20 Thread Phill
Phill has proposed merging lp:~phill-ridout/openlp/1209515_2.0 into 
lp:openlp/2.0.

Requested reviews:
  Phill (phill-ridout)
  Andreas Preikschat (googol)
  Raoul Snyman (raoul-snyman)
Related bugs:
  Bug #1209515 in OpenLP: getFileNames corrupts file names that use special 
chars
  https://bugs.launchpad.net/openlp/+bug/1209515

For more details, see:
https://code.launchpad.net/~phill-ridout/openlp/1209515_2.0/+merge/181144

Fixes #1209515 by subclassing QFileDialog  and attempting to urldecode any 
files not found

-- 
https://code.launchpad.net/~phill-ridout/openlp/1209515_2.0/+merge/181144
Your team OpenLP Core is subscribed to branch lp:openlp/2.0.
=== modified file 'openlp/core/lib/__init__.py'
--- openlp/core/lib/__init__.py	2013-01-20 18:46:41 +
+++ openlp/core/lib/__init__.py	2013-08-20 19:40:44 +
@@ -384,6 +384,7 @@
 
 
 from eventreceiver import Receiver
+from filedialog import FileDialog
 from listwidgetwithdnd import ListWidgetWithDnD
 from formattingtags import FormattingTags
 from spelltextedit import SpellTextEdit

=== added file 'openlp/core/lib/filedialog.py'
--- openlp/core/lib/filedialog.py	1970-01-01 00:00:00 +
+++ openlp/core/lib/filedialog.py	2013-08-20 19:40:44 +
@@ -0,0 +1,63 @@
+# -*- coding: utf-8 -*-
+# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4
+
+###
+# OpenLP - Open Source Lyrics Projection  #
+# --- #
+# Copyright (c) 2008-2013 Raoul Snyman#
+# Portions copyright (c) 2008-2013 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 #
+# --- #
+# 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  #
+###
+
+
+Provide a work around for a bug in QFileDialog
+https://bugs.launchpad.net/openlp/+bug/1209515
+
+import os
+import urllib
+
+from PyQt4 import QtCore, QtGui
+
+from openlp.core.lib.ui import UiStrings
+
+class FileDialog(QtGui.QFileDialog):
+
+Subclass QFileDialog to work round a bug
+
+@staticmethod
+def getOpenFileNames(parent, title, path, filters):
+
+Reimplement getOpenFileNames to fix the way it returns some file
+names that url encoded when selecting multiple files/
+
+files = QtGui.QFileDialog.getOpenFileNames(parent, title, path, filters)
+file_list = QtCore.QStringList()
+for file in files:
+file = unicode(file)
+if not os.path.exists(file):
+file = urllib.unquote(file)
+if not os.path.exists(file):
+QtGui.QMessageBox.information(parent,
+UiStrings().FileNotFound,
+UiStrings().FileNotFoundMessage % file)
+continue
+file_list.append(QtCore.QString(file))
+return file_list
\ No newline at end of file

=== modified file 'openlp/core/lib/mediamanageritem.py'
--- openlp/core/lib/mediamanageritem.py	2013-01-05 11:31:02 +
+++ openlp/core/lib/mediamanageritem.py	2013-08-20 19:40:44 +
@@ -35,7 +35,7 @@
 
 from PyQt4 import QtCore, QtGui
 
-from openlp.core.lib import SettingsManager, OpenLPToolbar, ServiceItem, \
+from openlp.core.lib import FileDialog, SettingsManager, OpenLPToolbar, ServiceItem, \
 StringContent, build_icon, translate

[Openlp-core] [Merge] lp:~phill-ridout/openlp/1194610_2.0 into lp:openlp/2.0

2013-08-20 Thread Phill
Phill has proposed merging lp:~phill-ridout/openlp/1194610_2.0 into 
lp:openlp/2.0.

Requested reviews:
  Raoul Snyman (raoul-snyman)
  Tim Bentley (trb143)
Related bugs:
  Bug #1194610 in OpenLP: [support-system] SongShowPlus traceback
  https://bugs.launchpad.net/openlp/+bug/1194610

For more details, see:
https://code.launchpad.net/~phill-ridout/openlp/1194610_2.0/+merge/181159

Fixes bug 1194610 by detecting the encoding rather than assuming that it set 
(because its not) add fall back to the windows encoding dialog
-- 
https://code.launchpad.net/~phill-ridout/openlp/1194610_2.0/+merge/181159
Your team OpenLP Core is subscribed to branch lp:openlp/2.0.
=== modified file 'openlp/plugins/songs/lib/songshowplusimport.py'
--- openlp/plugins/songs/lib/songshowplusimport.py	2013-02-18 17:15:44 +
+++ openlp/plugins/songs/lib/songshowplusimport.py	2013-08-20 21:26:24 +
@@ -30,13 +30,14 @@
 The :mod:`songshowplusimport` module provides the functionality for importing 
 SongShow Plus songs into the OpenLP database.
 
+import chardet
 import os
 import logging
 import re
 import struct
 
 from openlp.core.ui.wizard import WizardStrings
-from openlp.plugins.songs.lib import VerseType
+from openlp.plugins.songs.lib import VerseType, retrieve_windows_encoding
 from openlp.plugins.songs.lib.songimport import SongImport
 
 TITLE = 1
@@ -142,44 +143,44 @@
 log.debug(length_descriptor_size)
 data = song_data.read(length_descriptor)
 if block_key == TITLE:
-self.title = unicode(data, u'cp1252')
+self.title = self.decode(data)
 elif block_key == AUTHOR:
 authors = data.split( / )
 for author in authors:
 if author.find(,) !=-1:
 authorParts = author.split(, )
 author = authorParts[1] +   + authorParts[0]
-self.parseAuthor(unicode(author, u'cp1252'))
+self.parseAuthor(self.decode(author))
 elif block_key == COPYRIGHT:
-self.addCopyright(unicode(data, u'cp1252'))
+self.addCopyright(self.decode(data))
 elif block_key == CCLI_NO:
 self.ccliNumber = int(data)
 elif block_key == VERSE:
-self.addVerse(unicode(data, u'cp1252'),
+self.addVerse(self.decode(data),
 %s%s % (VerseType.Tags[VerseType.Verse], verse_no))
 elif block_key == CHORUS:
-self.addVerse(unicode(data, u'cp1252'),
+self.addVerse(self.decode(data),
 %s%s % (VerseType.Tags[VerseType.Chorus], verse_no))
 elif block_key == BRIDGE:
-self.addVerse(unicode(data, u'cp1252'),
+self.addVerse(self.decode(data),
 %s%s % (VerseType.Tags[VerseType.Bridge], verse_no))
 elif block_key == TOPIC:
-self.topics.append(unicode(data, u'cp1252'))
+self.topics.append(self.decode(data))
 elif block_key == COMMENTS:
-self.comments = unicode(data, u'cp1252')
+self.comments = self.decode(data)
 elif block_key == VERSE_ORDER:
 verse_tag = self.toOpenLPVerseTag(data, True)
 if verse_tag:
 if not isinstance(verse_tag, unicode):
-verse_tag = unicode(verse_tag, u'cp1252')
+verse_tag = self.decode(verse_tag)
 self.sspVerseOrderList.append(verse_tag)
 elif block_key == SONG_BOOK:
-self.songBookName = unicode(data, u'cp1252')
+self.songBookName = self.decode(data)
 elif block_key == SONG_NUMBER:
 self.songNumber = ord(data)
 elif block_key == CUSTOM_VERSE:
 verse_tag = self.toOpenLPVerseTag(verse_name)
-self.addVerse(unicode(data, u'cp1252'), verse_tag)
+self.addVerse(self.decode(data), verse_tag)
 else:
 log.debug(Unrecognised blockKey: %s, data: %s
 % (block_key, data))
@@ -221,3 +222,14 @@
 verse_tag = VerseType.Tags[VerseType.Other]
 verse_number = self.otherList[verse_name]
 return verse_tag + verse_number
+
+def decode(self, data):
+try:
+return unicode(data, chardet.detect(data)['encoding'])
+except:
+self.encoding = u'cp1252'
+while self.encoding:
+try:
+return unicode(data, self.encoding)
+except:
+self.encoding = retrieve_windows_encoding

[Openlp-core] [Merge] lp:~phill-ridout/openlp/1194610_2.0 into lp:openlp/2.0

2013-08-20 Thread Phill
Phill has proposed merging lp:~phill-ridout/openlp/1194610_2.0 into 
lp:openlp/2.0.

Requested reviews:
  Tim Bentley (trb143)
  Raoul Snyman (raoul-snyman)
Related bugs:
  Bug #1194610 in OpenLP: [support-system] SongShowPlus traceback
  https://bugs.launchpad.net/openlp/+bug/1194610

For more details, see:
https://code.launchpad.net/~phill-ridout/openlp/1194610_2.0/+merge/181199

Fixes bug 1194610 by detecting the encoding rather than assuming that it set 
(because its not) add fall back to the windows encoding dialog
-- 
https://code.launchpad.net/~phill-ridout/openlp/1194610_2.0/+merge/181199
Your team OpenLP Core is subscribed to branch lp:openlp/2.0.
=== modified file 'openlp/plugins/songs/lib/songshowplusimport.py'
--- openlp/plugins/songs/lib/songshowplusimport.py	2013-02-18 17:15:44 +
+++ openlp/plugins/songs/lib/songshowplusimport.py	2013-08-21 05:32:12 +
@@ -30,13 +30,14 @@
 The :mod:`songshowplusimport` module provides the functionality for importing 
 SongShow Plus songs into the OpenLP database.
 
+import chardet
 import os
 import logging
 import re
 import struct
 
 from openlp.core.ui.wizard import WizardStrings
-from openlp.plugins.songs.lib import VerseType
+from openlp.plugins.songs.lib import VerseType, retrieve_windows_encoding
 from openlp.plugins.songs.lib.songimport import SongImport
 
 TITLE = 1
@@ -142,44 +143,44 @@
 log.debug(length_descriptor_size)
 data = song_data.read(length_descriptor)
 if block_key == TITLE:
-self.title = unicode(data, u'cp1252')
+self.title = self.decode(data)
 elif block_key == AUTHOR:
 authors = data.split( / )
 for author in authors:
 if author.find(,) !=-1:
 authorParts = author.split(, )
 author = authorParts[1] +   + authorParts[0]
-self.parseAuthor(unicode(author, u'cp1252'))
+self.parseAuthor(self.decode(author))
 elif block_key == COPYRIGHT:
-self.addCopyright(unicode(data, u'cp1252'))
+self.addCopyright(self.decode(data))
 elif block_key == CCLI_NO:
 self.ccliNumber = int(data)
 elif block_key == VERSE:
-self.addVerse(unicode(data, u'cp1252'),
+self.addVerse(self.decode(data),
 %s%s % (VerseType.Tags[VerseType.Verse], verse_no))
 elif block_key == CHORUS:
-self.addVerse(unicode(data, u'cp1252'),
+self.addVerse(self.decode(data),
 %s%s % (VerseType.Tags[VerseType.Chorus], verse_no))
 elif block_key == BRIDGE:
-self.addVerse(unicode(data, u'cp1252'),
+self.addVerse(self.decode(data),
 %s%s % (VerseType.Tags[VerseType.Bridge], verse_no))
 elif block_key == TOPIC:
-self.topics.append(unicode(data, u'cp1252'))
+self.topics.append(self.decode(data))
 elif block_key == COMMENTS:
-self.comments = unicode(data, u'cp1252')
+self.comments = self.decode(data)
 elif block_key == VERSE_ORDER:
 verse_tag = self.toOpenLPVerseTag(data, True)
 if verse_tag:
 if not isinstance(verse_tag, unicode):
-verse_tag = unicode(verse_tag, u'cp1252')
+verse_tag = self.decode(verse_tag)
 self.sspVerseOrderList.append(verse_tag)
 elif block_key == SONG_BOOK:
-self.songBookName = unicode(data, u'cp1252')
+self.songBookName = self.decode(data)
 elif block_key == SONG_NUMBER:
 self.songNumber = ord(data)
 elif block_key == CUSTOM_VERSE:
 verse_tag = self.toOpenLPVerseTag(verse_name)
-self.addVerse(unicode(data, u'cp1252'), verse_tag)
+self.addVerse(self.decode(data), verse_tag)
 else:
 log.debug(Unrecognised blockKey: %s, data: %s
 % (block_key, data))
@@ -221,3 +222,9 @@
 verse_tag = VerseType.Tags[VerseType.Other]
 verse_number = self.otherList[verse_name]
 return verse_tag + verse_number
+
+def decode(self, data):
+try:
+return unicode(data, chardet.detect(data)['encoding'])
+except:
+return unicode(data, retrieve_windows_encoding())

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

[Openlp-core] [Bug 1173749] Re: Songs with mismatching formatting tags still throw an exception

2013-08-21 Thread Phill
** Also affects: openlp/2.0
   Importance: Undecided
   Status: New

** Also affects: openlp/trunk
   Importance: High
   Status: Confirmed

** Changed in: openlp/2.0
Milestone: None = 2.0.3

** Changed in: openlp/trunk
Milestone: 2.0.2 = 2.1.1

** Changed in: openlp/2.0
   Status: New = Confirmed

** Changed in: openlp/2.0
   Importance: Undecided = High

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1173749

Title:
  Songs with mismatching formatting tags still throw an exception

Status in OpenLP - Worship Presentation Software:
  Confirmed
Status in OpenLP 2.0 series:
  Confirmed
Status in OpenLP trunk series:
  Confirmed

Bug description:
  There is another bug similar to this, bug #885874, but it does not
  seem to have fixed the issue below. Note that there is a mismatched
  {/g} tag which causes this error.

  Version: {u'full': u'2.0.1', u'version': u'2.0.1', u'build': None}

  --- Details of the Exception. ---

  Hi,
  I just found one bug. I just changed one Bridge to:

  Shine Your light and {g}Strahle hell und{/g}
  Let the whole world see {g}lass die Welt es sehn.{/g}
  We're singing {g}Wir singen{/g}
  For the glory Of the risen King{/g} {g}dir zur Ehre, auferstandner Herr.{/g}
  Jesus

  And got this error:

  --- Exception Traceback ---
  Traceback (most recent call last):
  File
  /usr/lib/pymodules/python2.6/openlp/plugins/songs/lib/mediaitem.py,
  line 393, in onEditClick
  self.onSongListLoad()
  File
  /usr/lib/pymodules/python2.6/openlp/plugins/songs/lib/mediaitem.py,
  line 254, in onSongListLoad
  item = self.buildServiceItem(self.editItem)
  File
  /usr/lib/pymodules/python2.6/openlp/core/lib/mediamanageritem.py, line
  591, in buildServiceItem
  if self.generateSlideData(serviceItem, item, xmlVersion, remote):
  File
  /usr/lib/pymodules/python2.6/openlp/plugins/songs/lib/mediaitem.py,
  line 529, in generateSlideData
  service_item.xml_version = self.openLyrics.song_to_xml(song)
  File /usr/lib/pymodules/python2.6/openlp/plugins/songs/lib/xml.py,
  line 361, in song_to_xml
  optional_verse, tags_element)
  File /usr/lib/pymodules/python2.6/openlp/plugins/songs/lib/xml.py,
  line 503, in _add_text_with_tags_to_lines
  element = etree.XML
  File lxml.etree.pyx, line 2512, in lxml.etree.XML
  (src/lxml/lxml.etree.c:48057)
  File parser.pxi, line 1545, in lxml.etree._parseMemoryDocument
  (src/lxml/lxml.etree.c:71812)
  File parser.pxi, line 1417, in lxml.etree._parseDoc
  (src/lxml/lxml.etree.c:70608)
  File parser.pxi, line 898, in
  lxml.etree._BaseParser._parseUnicodeDoc (src/lxml/lxml.etree.c:67148)
  File parser.pxi, line 539, in
  lxml.etree._ParserContext._handleParseResultDoc
  (src/lxml/lxml.etree.c:63824)
  File parser.pxi, line 625, in lxml.etree._handleParseResult
  (src/lxml/lxml.etree.c:64745)
  File parser.pxi, line 565, in lxml.etree._raiseParseError
  (src/lxml/lxml.etree.c:64088)
  XMLSyntaxError: Opening and ending tag mismatch: lines line 1 and tag,
  line 1, column 216

  --- System information ---
  Plattform: Linux-2.6.32-45-generic-i686-with-Ubuntu-10.04-lucid
  Desktop: GNOME

  --- Library Versions ---
  Python: 2.6.5
  Qt4: 4.6.2
  Phonon: 4.3.1
  PyQt4: 4.7.2
  QtWebkit: 532.4
  SQLAlchemy: 0.5.8
  SQLAlchemy Migrate:  0.7
  BeautifulSoup: 3.1.0.1
  lxml: 2.2.4
  Chardet: 2.0.1
  PyEnchant: 1.5.3
  PySQLite: 1.0.1
  Mako: 0.2.5
  pyUNO bridge: 3.2

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1173749/+subscriptions

___
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] [Bug 1194610] Re: [support-system] SongShowPlus traceback

2013-08-21 Thread Phill
** Changed in: openlp/2.0
   Status: In Progress = Fix Committed

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1194610

Title:
  [support-system] SongShowPlus traceback

Status in OpenLP - Worship Presentation Software:
  In Progress
Status in OpenLP 2.0 series:
  Fix Committed
Status in OpenLP trunk series:
  In Progress

Bug description:
  Hello,

  http://support.openlp.org/issues/2016

  The attached song cannot be imported by the songshowplus importer.

  Traceback (most recent call last):
File /home/andreas/Projects/OpenLP/trunk/openlp/core/ui/wizard.py, line 
217, in on_current_id_changed
  self.performWizard()
File 
/home/andreas/Projects/OpenLP/trunk/openlp/plugins/songs/forms/songimportform.py,
 line 353, in performWizard
  importer.doImport()
File 
/home/andreas/Projects/OpenLP/trunk/openlp/plugins/songs/lib/songshowplusimport.py,
 line 150, in doImport
  self.addVerse(unicode(data, u'cp1252'), %s%s % 
(VerseType.tags[VerseType.Verse], verse_no))
File /usr/lib/python2.7/encodings/cp1252.py, line 15, in decode
  return codecs.charmap_decode(input,errors,decoding_table)
  UnicodeDecodeError: 'charmap' codec can't decode byte 0x9d in position 96: 
character maps to undefined

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1194610/+subscriptions

___
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] [Bug 1214875] Re: Importing an OSIS bible always results in English book names

2013-08-21 Thread Phill
** Changed in: openlp
Milestone: None = 2.1.1

** Changed in: openlp/2.0
Milestone: None = 2.0.2

** Changed in: openlp/2.0
 Assignee: (unassigned) = Arjan Schrijver (arjan-i)

** Changed in: openlp/2.0
   Status: New = In Progress

** Changed in: openlp/2.0
   Importance: Undecided = Low

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1214875

Title:
  Importing an OSIS bible always results in English book names

Status in OpenLP - Worship Presentation Software:
  New
Status in OpenLP 2.0 series:
  In Progress

Bug description:
  In version 2.0.1, I found that when importing an OSIS format bible, the book 
names always end up in English.
  There is currently no translation done and it always defaults to the English 
name.
  Ideally a bible-specific name should be used, but we could at least use the 
name translated to the language of the bible.

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1214875/+subscriptions

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

2013-08-22 Thread Phill
Phill has proposed merging lp:~phill-ridout/openlp/bug1209515 into lp:openlp.

Requested reviews:
  OpenLP Core (openlp-core)
Related bugs:
  Bug #1209515 in OpenLP: getFileNames corrupts file names that use special 
chars
  https://bugs.launchpad.net/openlp/+bug/1209515

For more details, see:
https://code.launchpad.net/~phill-ridout/openlp/bug1209515/+merge/181475

Fixes Bug 1209515 by reimplementing QFileDialof.getFileNames and attempting to 
urldecode file paths that do not exisit
-- 
https://code.launchpad.net/~phill-ridout/openlp/bug1209515/+merge/181475
Your team OpenLP Core is requested to review the proposed merge of 
lp:~phill-ridout/openlp/bug1209515 into lp:openlp.
=== modified file 'openlp/core/lib/__init__.py'
--- openlp/core/lib/__init__.py	2013-06-03 17:19:42 +
+++ openlp/core/lib/__init__.py	2013-08-22 06:43:35 +
@@ -377,6 +377,7 @@
 
 from registry import Registry
 from uistrings import UiStrings
+from filedialog import FileDialog
 from screen import ScreenList
 from settings import Settings
 from listwidgetwithdnd import ListWidgetWithDnD

=== added file 'openlp/core/lib/filedialog.py'
--- openlp/core/lib/filedialog.py	1970-01-01 00:00:00 +
+++ openlp/core/lib/filedialog.py	2013-08-22 06:43:35 +
@@ -0,0 +1,67 @@
+# -*- coding: utf-8 -*-
+# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4
+
+###
+# OpenLP - Open Source Lyrics Projection  #
+# --- #
+# Copyright (c) 2008-2013 Raoul Snyman#
+# Portions copyright (c) 2008-2013 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 #
+# --- #
+# 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  #
+###
+
+
+Provide a work around for a bug in QFileDialog https://bugs.launchpad.net/openlp/+bug/1209515
+
+import logging
+import os
+import urllib
+
+from PyQt4 import QtGui
+
+from openlp.core.lib import UiStrings
+
+log = logging.getLogger(__name__)
+
+class FileDialog(QtGui.QFileDialog):
+
+Subclass QFileDialog to work round a bug
+
+@staticmethod
+def getOpenFileNames(parent, *args, **kwargs):
+
+Reimplement getOpenFileNames to fix the way it returns some file names that url encoded when selecting multiple
+files
+
+files = QtGui.QFileDialog.getOpenFileNames(parent, *args, **kwargs)
+file_list = []
+for file in files:
+file = unicode(file)
+if not os.path.exists(file):
+log.info(u'File %s not found. Attempting to unquote.')
+file = urllib.unquote(unicode(file))
+if not os.path.exists(file):
+log.error(u'File %s not found.' % file)
+QtGui.QMessageBox.information(parent, UiStrings().FileNotFound,
+UiStrings().FileNotFoundMessage % file)
+continue
+log.info(u'File %s found.')
+file_list.append(file)
+return file_list
\ No newline at end of file

=== modified file 'openlp/core/lib/mediamanageritem.py'
--- openlp/core/lib/mediamanageritem.py	2013-06-24 16:54:23 +
+++ openlp/core/lib/mediamanageritem.py	2013-08-22 06:43:35 +
@@ -35,7 +35,7 @@
 
 from PyQt4 import QtCore, QtGui
 
-from openlp.core.lib import

[Openlp-core] [Bug 1209515] Re: getFileNames corrupts file names that use special chars

2013-08-22 Thread Phill
** Branch linked: lp:~phill-ridout/openlp/bug1209515

** Changed in: openlp/trunk
   Status: New = In Progress

** Changed in: openlp/trunk
   Importance: Undecided = Medium

** Changed in: openlp/trunk
 Assignee: (unassigned) = Phill (phill-ridout)

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1209515

Title:
  getFileNames corrupts file names that use special chars

Status in OpenLP - Worship Presentation Software:
  In Progress
Status in OpenLP 2.0 series:
  Fix Committed
Status in OpenLP trunk series:
  In Progress

Bug description:
  This is a little bit of a strange one. I have written a little script
  which demonstrates this (I'll include it when I get home).

  
  Here's the issue:

  Use QFileDialog.getFileNames() to select a single file with a special
  char in its name (a '#' will do it) and it returns the file name 
  path correctly. Ie selecting a file called #123.xml returns a list
  with one item #123.xml

  However, use QFileDialog.getFileNames() to select multiple files with
  at lease one file with special char in its name (a '#' will do it) and
  it returns the file name  path incorrectly. Ie selecting a file
  called #123.xml and a file called abc.xml returns a list with two
  items %23123.xml  abc.xml (Note the # has been changed in to a
  %23. Possible url encoding?)

  When we come to open the file, Python cannot find the file
  %23123.xml because it does not exist.

  This seams to be a Qt bug (I've done a few searches, but found
  nothing) but we could at least make some effort to see if the file
  actually exists before trying to open it!

  Reported here: http://support.openlp.org/issues/2056
  and here: http://support.openlp.org/issues/1964

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1209515/+subscriptions

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

2013-08-22 Thread Phill
Phill has proposed merging lp:~phill-ridout/openlp/bug1209515 into lp:openlp.

Requested reviews:
  OpenLP Core (openlp-core)
Related bugs:
  Bug #1209515 in OpenLP: getFileNames corrupts file names that use special 
chars
  https://bugs.launchpad.net/openlp/+bug/1209515

For more details, see:
https://code.launchpad.net/~phill-ridout/openlp/bug1209515/+merge/181654

Fixes Bug 1209515 by sub classing QFileDialog and reimplementing 
getOpenFileNames and attempting to urlunquote and file paths which do not exist
-- 
https://code.launchpad.net/~phill-ridout/openlp/bug1209515/+merge/181654
Your team OpenLP Core is requested to review the proposed merge of 
lp:~phill-ridout/openlp/bug1209515 into lp:openlp.
=== modified file 'openlp/core/lib/__init__.py'
--- openlp/core/lib/__init__.py	2013-06-03 17:19:42 +
+++ openlp/core/lib/__init__.py	2013-08-22 20:27:31 +
@@ -377,6 +377,7 @@
 
 from registry import Registry
 from uistrings import UiStrings
+from filedialog import FileDialog
 from screen import ScreenList
 from settings import Settings
 from listwidgetwithdnd import ListWidgetWithDnD

=== added file 'openlp/core/lib/filedialog.py'
--- openlp/core/lib/filedialog.py	1970-01-01 00:00:00 +
+++ openlp/core/lib/filedialog.py	2013-08-22 20:27:31 +
@@ -0,0 +1,67 @@
+# -*- coding: utf-8 -*-
+# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4
+
+###
+# OpenLP - Open Source Lyrics Projection  #
+# --- #
+# Copyright (c) 2008-2013 Raoul Snyman#
+# Portions copyright (c) 2008-2013 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 #
+# --- #
+# 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  #
+###
+
+
+Provide a work around for a bug in QFileDialog https://bugs.launchpad.net/openlp/+bug/1209515
+
+import logging
+import os
+import urllib
+
+from PyQt4 import QtGui
+
+from openlp.core.lib import UiStrings
+
+log = logging.getLogger(__name__)
+
+class FileDialog(QtGui.QFileDialog):
+
+Subclass QFileDialog to work round a bug
+
+@staticmethod
+def getOpenFileNames(parent, *args, **kwargs):
+
+Reimplement getOpenFileNames to fix the way it returns some file names that url encoded when selecting multiple
+files
+
+files = QtGui.QFileDialog.getOpenFileNames(parent, *args, **kwargs)
+file_list = []
+for file in files:
+file = unicode(file)
+if not os.path.exists(file):
+log.info(u'File %s not found. Attempting to unquote.')
+file = urllib.unquote(unicode(file))
+if not os.path.exists(file):
+log.error(u'File %s not found.' % file)
+QtGui.QMessageBox.information(parent, UiStrings().FileNotFound,
+UiStrings().FileNotFoundMessage % file)
+continue
+log.info(u'File %s found.')
+file_list.append(file)
+return file_list
\ No newline at end of file

=== modified file 'openlp/core/lib/mediamanageritem.py'
--- openlp/core/lib/mediamanageritem.py	2013-06-24 16:54:23 +
+++ openlp/core/lib/mediamanageritem.py	2013-08-22 20:27:31 +
@@ -35,7 +35,7 @@
 
 from PyQt4 import QtCore, QtGui

Re: [Openlp-core] [Merge] lp:~oliwee/openlp/HideBibleVerses into lp:openlp

2013-08-22 Thread Phill
Line 21 the object name should be the same as the variable name. So it should 
be like:
+
self.is_verse_number_visible_check_box.setObjectName(u'is_verse_number_visible_check_box')

Line 38 the label for the checkBox doesn't sound right to me. Show Verse 
Number sounds better. But Raoul is the English Expert, so better ask him!

Line 114 - 126 could be switched around to save a level of indentation and imo 
makes it easier to read:

+if not self.settings.is_verse_number_visible:
+return u''
+if not self.settings.show_new_chapters or old_chapter != chapter:
+  ...

Tests look good!
-- 
https://code.launchpad.net/~oliwee/openlp/HideBibleVerses/+merge/181635
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] [Bug 1173749] Re: Songs with mismatching formatting tags still throw an exception

2013-08-23 Thread Phill
I think there is really two parts to this bug.

1. We should validate the formatting tags when a user enters a song manually:
a) For 2.0 series think we should display a message box saying that the 
formatting tags are invalid.
b) For trunk series, I was thinking it would be nice if we could highlight 
the actual issues. Either with a message box  for example x opening tag found, 
but no closing tag or by actually changing the background colour of the tag to 
red or something.

2. For songs that are being imported or songs that are already in the
database we should either remove the tag, or close it just before the
next closing tag or split.

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1173749

Title:
  Songs with mismatching formatting tags still throw an exception

Status in OpenLP - Worship Presentation Software:
  Confirmed
Status in OpenLP 2.0 series:
  Confirmed
Status in OpenLP trunk series:
  Confirmed

Bug description:
  There is another bug similar to this, bug #885874, but it does not
  seem to have fixed the issue below. Note that there is a mismatched
  {/g} tag which causes this error.

  Version: {u'full': u'2.0.1', u'version': u'2.0.1', u'build': None}

  --- Details of the Exception. ---

  Hi,
  I just found one bug. I just changed one Bridge to:

  Shine Your light and {g}Strahle hell und{/g}
  Let the whole world see {g}lass die Welt es sehn.{/g}
  We're singing {g}Wir singen{/g}
  For the glory Of the risen King{/g} {g}dir zur Ehre, auferstandner Herr.{/g}
  Jesus

  And got this error:

  --- Exception Traceback ---
  Traceback (most recent call last):
  File
  /usr/lib/pymodules/python2.6/openlp/plugins/songs/lib/mediaitem.py,
  line 393, in onEditClick
  self.onSongListLoad()
  File
  /usr/lib/pymodules/python2.6/openlp/plugins/songs/lib/mediaitem.py,
  line 254, in onSongListLoad
  item = self.buildServiceItem(self.editItem)
  File
  /usr/lib/pymodules/python2.6/openlp/core/lib/mediamanageritem.py, line
  591, in buildServiceItem
  if self.generateSlideData(serviceItem, item, xmlVersion, remote):
  File
  /usr/lib/pymodules/python2.6/openlp/plugins/songs/lib/mediaitem.py,
  line 529, in generateSlideData
  service_item.xml_version = self.openLyrics.song_to_xml(song)
  File /usr/lib/pymodules/python2.6/openlp/plugins/songs/lib/xml.py,
  line 361, in song_to_xml
  optional_verse, tags_element)
  File /usr/lib/pymodules/python2.6/openlp/plugins/songs/lib/xml.py,
  line 503, in _add_text_with_tags_to_lines
  element = etree.XML
  File lxml.etree.pyx, line 2512, in lxml.etree.XML
  (src/lxml/lxml.etree.c:48057)
  File parser.pxi, line 1545, in lxml.etree._parseMemoryDocument
  (src/lxml/lxml.etree.c:71812)
  File parser.pxi, line 1417, in lxml.etree._parseDoc
  (src/lxml/lxml.etree.c:70608)
  File parser.pxi, line 898, in
  lxml.etree._BaseParser._parseUnicodeDoc (src/lxml/lxml.etree.c:67148)
  File parser.pxi, line 539, in
  lxml.etree._ParserContext._handleParseResultDoc
  (src/lxml/lxml.etree.c:63824)
  File parser.pxi, line 625, in lxml.etree._handleParseResult
  (src/lxml/lxml.etree.c:64745)
  File parser.pxi, line 565, in lxml.etree._raiseParseError
  (src/lxml/lxml.etree.c:64088)
  XMLSyntaxError: Opening and ending tag mismatch: lines line 1 and tag,
  line 1, column 216

  --- System information ---
  Plattform: Linux-2.6.32-45-generic-i686-with-Ubuntu-10.04-lucid
  Desktop: GNOME

  --- Library Versions ---
  Python: 2.6.5
  Qt4: 4.6.2
  Phonon: 4.3.1
  PyQt4: 4.7.2
  QtWebkit: 532.4
  SQLAlchemy: 0.5.8
  SQLAlchemy Migrate:  0.7
  BeautifulSoup: 3.1.0.1
  lxml: 2.2.4
  Chardet: 2.0.1
  PyEnchant: 1.5.3
  PySQLite: 1.0.1
  Mako: 0.2.5
  pyUNO bridge: 3.2

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1173749/+subscriptions

___
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] [Bug 1173749] Re: Songs with mismatching formatting tags still throw an exception

2013-08-23 Thread Phill
 1a) So the users can't leave the editor before fixing the malformed
 tags? This would be the easiest solution, but not very user friendly.
 The user should have the possibility to save a song every time, even
 when it is malformed. Anyway, a message box should point out the user
 that there is an error an that the song could not be used in this state.

That would just be a stop gap soloutuon for 2.0. I think this is the most
as we can do seeming as we are not adding any new features to this release.
Its more user friendly than the current solution of showing the user a
criptic error message!

 1b) This would be the advanced version of 1a, showing the wrong tags by
coloring them. Nice.

This would be for trunk (a.k.a 2.1) which we are adding features to.
Andreas' input on this would be valuable as he was having a look at
creating a WYSIWYG editor for the songs.

 2. I don't think so. In my opinion there mustn't be any changes on any
song without the knowledge of the user.
 You don't know, if there is a tag too much or too less or if this is a
wrong written tag or ...

In which case we should just ignore it. The last thing I would want is to
have to find and show a song during spontaneous worship, and then for
OpenLP to force me to edit it before showing it.

 The user has to decide what to do with this malformed song.
 Possible actions would be: Cancel import or show song in editor. Maybe
ignoring the issue would be a possibility, too.

Unfortunately with a lot of the song importers we just have to make
assumptions about what we're importing. I don't think there is a single
importer which keeps formatting data (with the exception of possibly
OpenLyrics). We could log which files we had to drop any formatting from in
the import wizard.

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1173749

Title:
  Songs with mismatching formatting tags still throw an exception

Status in OpenLP - Worship Presentation Software:
  Confirmed
Status in OpenLP 2.0 series:
  Confirmed
Status in OpenLP trunk series:
  Confirmed

Bug description:
  There is another bug similar to this, bug #885874, but it does not
  seem to have fixed the issue below. Note that there is a mismatched
  {/g} tag which causes this error.

  Version: {u'full': u'2.0.1', u'version': u'2.0.1', u'build': None}

  --- Details of the Exception. ---

  Hi,
  I just found one bug. I just changed one Bridge to:

  Shine Your light and {g}Strahle hell und{/g}
  Let the whole world see {g}lass die Welt es sehn.{/g}
  We're singing {g}Wir singen{/g}
  For the glory Of the risen King{/g} {g}dir zur Ehre, auferstandner Herr.{/g}
  Jesus

  And got this error:

  --- Exception Traceback ---
  Traceback (most recent call last):
  File
  /usr/lib/pymodules/python2.6/openlp/plugins/songs/lib/mediaitem.py,
  line 393, in onEditClick
  self.onSongListLoad()
  File
  /usr/lib/pymodules/python2.6/openlp/plugins/songs/lib/mediaitem.py,
  line 254, in onSongListLoad
  item = self.buildServiceItem(self.editItem)
  File
  /usr/lib/pymodules/python2.6/openlp/core/lib/mediamanageritem.py, line
  591, in buildServiceItem
  if self.generateSlideData(serviceItem, item, xmlVersion, remote):
  File
  /usr/lib/pymodules/python2.6/openlp/plugins/songs/lib/mediaitem.py,
  line 529, in generateSlideData
  service_item.xml_version = self.openLyrics.song_to_xml(song)
  File /usr/lib/pymodules/python2.6/openlp/plugins/songs/lib/xml.py,
  line 361, in song_to_xml
  optional_verse, tags_element)
  File /usr/lib/pymodules/python2.6/openlp/plugins/songs/lib/xml.py,
  line 503, in _add_text_with_tags_to_lines
  element = etree.XML
  File lxml.etree.pyx, line 2512, in lxml.etree.XML
  (src/lxml/lxml.etree.c:48057)
  File parser.pxi, line 1545, in lxml.etree._parseMemoryDocument
  (src/lxml/lxml.etree.c:71812)
  File parser.pxi, line 1417, in lxml.etree._parseDoc
  (src/lxml/lxml.etree.c:70608)
  File parser.pxi, line 898, in
  lxml.etree._BaseParser._parseUnicodeDoc (src/lxml/lxml.etree.c:67148)
  File parser.pxi, line 539, in
  lxml.etree._ParserContext._handleParseResultDoc
  (src/lxml/lxml.etree.c:63824)
  File parser.pxi, line 625, in lxml.etree._handleParseResult
  (src/lxml/lxml.etree.c:64745)
  File parser.pxi, line 565, in lxml.etree._raiseParseError
  (src/lxml/lxml.etree.c:64088)
  XMLSyntaxError: Opening and ending tag mismatch: lines line 1 and tag,
  line 1, column 216

  --- System information ---
  Plattform: Linux-2.6.32-45-generic-i686-with-Ubuntu-10.04-lucid
  Desktop: GNOME

  --- Library Versions ---
  Python: 2.6.5
  Qt4: 4.6.2
  Phonon: 4.3.1
  PyQt4: 4.7.2
  QtWebkit: 532.4
  SQLAlchemy: 0.5.8
  SQLAlchemy Migrate:  0.7
  BeautifulSoup: 3.1.0.1
  lxml: 2.2.4
  Chardet: 2.0.1
  PyEnchant: 1.5.3
  PySQLite: 1.0.1
  Mako: 0.2.5
  pyUNO bridge: 3.2

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1173749/+subscriptions


[Openlp-core] [Bug 1215830] Re: OSIS import is line/regex based, not XML based

2013-08-23 Thread Phill
Do you have any sample files? If so could you attach then please.

** Tags added: bible bible-import

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1215830

Title:
  OSIS import is line/regex based, not XML based

Status in OpenLP - Worship Presentation Software:
  Invalid

Bug description:
  The OSIS import code is based on reading lines using regex, not XML-
  parsing, which means that when trying to import a bible in OSIS
  format, it wont work unless the line breaks are just right, which
  shouldn't be a requirement for a XML format.

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1215830/+subscriptions

___
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] [Bug 1216232] [NEW] OpenLyric exporter overwrites existing files

2013-08-24 Thread Phill
Public bug reported:

There is two problems with this:
1. We just blindly overwrite any existing files in the export directory
2. If two songs with the same title (but different lyrics) are exported one 
song overwrites the other.

One solution would be to ask the user if they want to over write, rename or 
skip with an option to apply to all. (This wouldn't really resolve the issue 
with same name different lyrics)
Or we could time stamp the file name (Again this wouldn't really resolve the 
issue with same name different lyrics)
We could also detect if the file exists and increment a counter in the file 
name. (Probably best combined with the time stamp)

** Affects: openlp
 Importance: Undecided
 Status: New

** Affects: openlp/2.0
 Importance: Undecided
 Status: New

** Affects: openlp/trunk
 Importance: Undecided
 Status: New


** Tags: song song-export

** Tags added: song song-export

** Also affects: openlp/2.0
   Importance: Undecided
   Status: New

** Also affects: openlp/trunk
   Importance: Undecided
   Status: New

** Changed in: openlp/2.0
Milestone: None = 2.0.3

** Changed in: openlp/trunk
Milestone: None = 2.1.1

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1216232

Title:
  OpenLyric exporter overwrites existing files

Status in OpenLP - Worship Presentation Software:
  New
Status in OpenLP 2.0 series:
  New
Status in OpenLP trunk series:
  New

Bug description:
  There is two problems with this:
  1. We just blindly overwrite any existing files in the export directory
  2. If two songs with the same title (but different lyrics) are exported one 
song overwrites the other.

  One solution would be to ask the user if they want to over write, rename or 
skip with an option to apply to all. (This wouldn't really resolve the issue 
with same name different lyrics)
  Or we could time stamp the file name (Again this wouldn't really resolve the 
issue with same name different lyrics)
  We could also detect if the file exists and increment a counter in the file 
name. (Probably best combined with the time stamp)

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1216232/+subscriptions

___
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] [Bug 1216234] [NEW] Layout style has not effect when using a second bible

2013-08-24 Thread Phill
Public bug reported:

In the bible manager on the advanced tab.

If you select a second bible the layout style combo box has no effect.

We could disable it if a second translation is selected, but I think it
would be nice if it worked (just given the limited space)

** Affects: openlp
 Importance: Undecided
 Status: New

** Affects: openlp/2.0
 Importance: Undecided
 Status: New

** Affects: openlp/trunk
 Importance: Undecided
 Status: New


** Tags: bible second-version

** Also affects: openlp/2.0
   Importance: Undecided
   Status: New

** Also affects: openlp/trunk
   Importance: Undecided
   Status: New

** Changed in: openlp/2.0
Milestone: None = 2.0.3

** Changed in: openlp/trunk
Milestone: None = 2.1.1

** Tags added: bible second-version

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1216234

Title:
  Layout style has not effect when using a second bible

Status in OpenLP - Worship Presentation Software:
  New
Status in OpenLP 2.0 series:
  New
Status in OpenLP trunk series:
  New

Bug description:
  In the bible manager on the advanced tab.

  If you select a second bible the layout style combo box has no effect.

  We could disable it if a second translation is selected, but I think
  it would be nice if it worked (just given the limited space)

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1216234/+subscriptions

___
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] [Bug 1216234] Re: Layout style has not effect when using a second bible

2013-08-24 Thread Phill
This also affects the Quick tab in the bible media manager

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1216234

Title:
  Layout style has not effect when using a second bible

Status in OpenLP - Worship Presentation Software:
  New
Status in OpenLP 2.0 series:
  New
Status in OpenLP trunk series:
  New

Bug description:
  In the bible manager on the advanced tab.

  If you select a second bible the layout style combo box has no effect.

  We could disable it if a second translation is selected, but I think
  it would be nice if it worked (just given the limited space)

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1216234/+subscriptions

___
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:~mahfiaz/openlp/support-2060 into lp:openlp

2013-08-24 Thread Phill
mahfiaz, please add 'rb' to the open statement also can we merge lines 7  8? 
See my fix for 2.0.2 at 
https://code.launchpad.net/~phill-ridout/openlp/1211913_2.0 for reference

Also superfly is going to ask you for a test!
-- 
https://code.launchpad.net/~mahfiaz/openlp/support-2060/+merge/181958
Your team OpenLP Core is requested to review the proposed merge of 
lp:~mahfiaz/openlp/support-2060 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] [Bug 1211913] Re: Issues importing Sunday Plus FIles

2013-08-24 Thread Phill
** Branch linked: lp:~mahfiaz/openlp/support-2060

** Changed in: openlp/trunk
   Importance: Undecided = Medium

** Changed in: openlp/trunk
   Status: New = In Progress

** Changed in: openlp/trunk
 Assignee: (unassigned) = Phill (phill-ridout)

** Changed in: openlp/trunk
 Assignee: Phill (phill-ridout) = mahfiaz (mahfiaz)

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1211913

Title:
  Issues importing Sunday Plus FIles

Status in OpenLP - Worship Presentation Software:
  In Progress
Status in OpenLP 2.0 series:
  Fix Committed
Status in OpenLP trunk series:
  In Progress

Bug description:
  http://support.openlp.org/issues/2059

  See the above issue for sample songs.

  About 400 files would not import having a quick look, these songs do
  appear to have valid lyrics so this needs looking at closer.

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1211913/+subscriptions

___
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] [Bug 1194730] Re: [support-system] Non existing chapters reseult in traceback when searching webbibles

2013-08-25 Thread Phill
** Changed in: openlp/2.0
   Status: Fix Committed = Fix Released

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1194730

Title:
  [support-system] Non existing chapters reseult in traceback when
  searching webbibles

Status in OpenLP - Worship Presentation Software:
  Invalid
Status in OpenLP 2.0 series:
  Fix Released
Status in OpenLP trunk series:
  Invalid

Bug description:
  Hello,

  http://support.openlp.org/issues/2006

  PART 1

  1) Register the New Living Translation from biblegateway.
  2) Search 2 Samuel 25

  Result:

  Traceback (most recent call last):
File 
/home/andreas/Projects/OpenLP/trunk/openlp/plugins/bibles/lib/mediaitem.py, 
line 656, in onQuickSearchButton
  self.search_results = self.plugin.manager.get_verses(bible, text)
File 
/home/andreas/Projects/OpenLP/trunk/openlp/plugins/bibles/lib/manager.py, 
line 300, in get_verses
  return self.db_cache[bible].get_verses(reflist, show_error)
File 
/home/andreas/Projects/OpenLP/trunk/openlp/plugins/bibles/lib/http.py, line 
608, in get_verses
  search_results = self.get_chapter(book, reference[1])
File 
/home/andreas/Projects/OpenLP/trunk/openlp/plugins/bibles/lib/http.py, line 
636, in get_chapter
  return handler.get_bible_chapter(self.download_name, book, chapter)
File 
/home/andreas/Projects/OpenLP/trunk/openlp/plugins/bibles/lib/http.py, line 
245, in get_bible_chapter
  self._clean_soup(div)
File 
/home/andreas/Projects/OpenLP/trunk/openlp/plugins/bibles/lib/http.py, line 
127, in _clean_soup
  self._remove_elements(tag, 'sup', 'crossreference')
File 
/home/andreas/Projects/OpenLP/trunk/openlp/plugins/bibles/lib/http.py, line 
86, in _remove_elements
  all_tags = parent.find_all(tag, class_)
  AttributeError: 'NoneType' object has no attribute 'find_all'

  Expected:
  Nothing should happen, because this chapter does not exist.

  ===PART2===
  1) Search for 2 Samuel 1:88

  Result:
  Traceback (most recent call last):
File 
/home/andreas/Projects/OpenLP/trunk/openlp/plugins/bibles/lib/mediaitem.py, 
line 656, in onQuickSearchButton
  self.search_results = self.plugin.manager.get_verses(bible, text)
File 
/home/andreas/Projects/OpenLP/trunk/openlp/plugins/bibles/lib/manager.py, 
line 300, in get_verses
  return self.db_cache[bible].get_verses(reflist, show_error)
File 
/home/andreas/Projects/OpenLP/trunk/openlp/plugins/bibles/lib/http.py, line 
608, in get_verses
  search_results = self.get_chapter(book, reference[1])
File 
/home/andreas/Projects/OpenLP/trunk/openlp/plugins/bibles/lib/http.py, line 
636, in get_chapter
  return handler.get_bible_chapter(self.download_name, book, chapter)
File 
/home/andreas/Projects/OpenLP/trunk/openlp/plugins/bibles/lib/http.py, line 
252, in get_bible_chapter
  verse_list = self._extract_verses(span_list)
File 
/home/andreas/Projects/OpenLP/trunk/openlp/plugins/bibles/lib/http.py, line 
149, in _extract_verses
  c_verse, c_text = self._extract_verse(child)
File 
/home/andreas/Projects/OpenLP/trunk/openlp/plugins/bibles/lib/http.py, line 
101, in _extract_verse
  elif tag.get('class')[0] == versenum or tag.get('class')[0] == 
'versenum mid-line':
  TypeError: 'NoneType' object has no attribute '__getitem__'

  Expected:
  Nothing, the verse does not exist.

  NOTE:
  The tracebacks are ONLY shown, when the chapter was not already downloaded!

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1194730/+subscriptions

___
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] [Bug 1216044] Re: Lyrics will be deleteted when saving a song

2013-08-25 Thread Phill
** Changed in: openlp
   Status: Fix Committed = Fix Released

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1216044

Title:
  Lyrics will be deleteted when saving a song

Status in OpenLP - Worship Presentation Software:
  Fix Released

Bug description:
  OpenLP 2.0.2, Build 2165

  When I edit a song and press the save button and open the song again for 
editing, all lyrics are gone.
  The verses are still there, but without lyrics inside.
  I checked the database and there are no lyrics in this song anymore.

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1216044/+subscriptions

___
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] [Bug 1197376] Re: Typing a path for a theme background causes a key error

2013-08-25 Thread Phill
** Changed in: openlp/2.0
   Status: Fix Committed = Fix Released

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1197376

Title:
  Typing a path for a theme background causes a key error

Status in OpenLP - Worship Presentation Software:
  Fix Committed
Status in OpenLP 2.0 series:
  Fix Released
Status in OpenLP trunk series:
  Fix Committed

Bug description:
  Reported on the support system. I've also been able to reproduce this
  on Windows XP.

  Create a new theme
  Type a path to an image file in
  Click next until you get to the last page
  Give the theme a new name
  Click Finish.
  Error Occureed Dialog shows

  Having had a quick look at the code it appears that although we
  validate that the line edit is not empty. We don't actually read out
  the contents anywhere. (When the File Open dialogue is used, the path
  is saved in to the self.theme.background_filename variable.)

  It would probably be a good idea to validate that the file actually
  exists when leaving the background page of the wizard!

  
  http://support.openlp.org/issues/1990

  OpenLP Bug Report
  Version: {u'full': u'2.0.1', u'version': u'2.0.1', u'build': None}

  --- Details of the Exception. ---

  Creating new theme with image background.

  --- Exception Traceback ---
  Traceback (most recent call last):
File /usr/lib/python2.7/site-packages/openlp/core/ui/themeform.py, line 
  645, in accept
  self.thememanager.saveTheme(self.theme, saveFrom, saveTo)
File /usr/lib/python2.7/site-packages/openlp/core/ui/thememanager.py, 
line 
  676, in saveTheme
  ImageSource.Theme, QtGui.QColor(theme.background_border_color))
File /usr/lib/python2.7/site-packages/openlp/core/lib/imagemanager.py, 
  line 228, in updateImageBorder
  image = self._cache[(path, source)]
  KeyError: (u'', 2)
  --- System information ---
  Platform: Linux-3.7.10-1.4-desktop-x86_64-with-SuSE-12.3-x86_64
  Desktop: KDE SC

  --- Library Versions ---
  Python: 2.7.3
  Qt4: 4.8.4
  Phonon: 4.6.0
  PyQt4: 4.9.6
  QtWebkit: 534.34
  SQLAlchemy: 0.7.10
  SQLAlchemy Migrate: 0.7.2
  BeautifulSoup: 3.2.1
  lxml: 2.3.4
  Chardet: 2.1.1
  PyEnchant: 1.6.5
  PySQLite: -
  Mako: 0.7.3
  pyUNO bridge: 4.0

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1197376/+subscriptions

___
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] [Bug 1211913] Re: Issues importing Sunday Plus FIles

2013-08-25 Thread Phill
** Changed in: openlp/2.0
   Status: Fix Committed = Fix Released

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1211913

Title:
  Issues importing Sunday Plus FIles

Status in OpenLP - Worship Presentation Software:
  In Progress
Status in OpenLP 2.0 series:
  Fix Released
Status in OpenLP trunk series:
  In Progress

Bug description:
  http://support.openlp.org/issues/2059

  See the above issue for sample songs.

  About 400 files would not import having a quick look, these songs do
  appear to have valid lyrics so this needs looking at closer.

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1211913/+subscriptions

___
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] [Bug 1194610] Re: [support-system] SongShowPlus traceback

2013-08-25 Thread Phill
** Changed in: openlp/2.0
   Status: Fix Committed = Fix Released

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1194610

Title:
  [support-system] SongShowPlus traceback

Status in OpenLP - Worship Presentation Software:
  In Progress
Status in OpenLP 2.0 series:
  Fix Released
Status in OpenLP trunk series:
  In Progress

Bug description:
  Hello,

  http://support.openlp.org/issues/2016

  The attached song cannot be imported by the songshowplus importer.

  Traceback (most recent call last):
File /home/andreas/Projects/OpenLP/trunk/openlp/core/ui/wizard.py, line 
217, in on_current_id_changed
  self.performWizard()
File 
/home/andreas/Projects/OpenLP/trunk/openlp/plugins/songs/forms/songimportform.py,
 line 353, in performWizard
  importer.doImport()
File 
/home/andreas/Projects/OpenLP/trunk/openlp/plugins/songs/lib/songshowplusimport.py,
 line 150, in doImport
  self.addVerse(unicode(data, u'cp1252'), %s%s % 
(VerseType.tags[VerseType.Verse], verse_no))
File /usr/lib/python2.7/encodings/cp1252.py, line 15, in decode
  return codecs.charmap_decode(input,errors,decoding_table)
  UnicodeDecodeError: 'charmap' codec can't decode byte 0x9d in position 96: 
character maps to undefined

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1194610/+subscriptions

___
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] [Bug 1209515] Re: getFileNames corrupts file names that use special chars

2013-08-25 Thread Phill
** Changed in: openlp/2.0
   Status: Fix Committed = Fix Released

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1209515

Title:
  getFileNames corrupts file names that use special chars

Status in OpenLP - Worship Presentation Software:
  In Progress
Status in OpenLP 2.0 series:
  Fix Released
Status in OpenLP trunk series:
  In Progress

Bug description:
  This is a little bit of a strange one. I have written a little script
  which demonstrates this (I'll include it when I get home).

  
  Here's the issue:

  Use QFileDialog.getFileNames() to select a single file with a special
  char in its name (a '#' will do it) and it returns the file name 
  path correctly. Ie selecting a file called #123.xml returns a list
  with one item #123.xml

  However, use QFileDialog.getFileNames() to select multiple files with
  at lease one file with special char in its name (a '#' will do it) and
  it returns the file name  path incorrectly. Ie selecting a file
  called #123.xml and a file called abc.xml returns a list with two
  items %23123.xml  abc.xml (Note the # has been changed in to a
  %23. Possible url encoding?)

  When we come to open the file, Python cannot find the file
  %23123.xml because it does not exist.

  This seams to be a Qt bug (I've done a few searches, but found
  nothing) but we could at least make some effort to see if the file
  actually exists before trying to open it!

  Reported here: http://support.openlp.org/issues/2056
  and here: http://support.openlp.org/issues/1964

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1209515/+subscriptions

___
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] [Bug 1196926] Re: Zero division error when display size set to zero

2013-08-25 Thread Phill
** Changed in: openlp/2.0
   Status: Fix Committed = Fix Released

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1196926

Title:
  Zero division error when display size set to zero

Status in OpenLP - Worship Presentation Software:
  Fix Committed
Status in OpenLP 2.0 series:
  Fix Released
Status in OpenLP trunk series:
  Fix Committed

Bug description:
  Orriginally reported at: http://support.openlp.org/issues/1980

  However, I've been able to trigger this by a different method:

  Open the Configure OpenLP dialog
  Set hight or width to 0 for the Override display position option
  Click ok.

  This produces this traceback:

  Traceback (most recent call last):
File 
D:\OpenLP_Code\release-2.0.1\build\pyi.win32\OpenLP\out00-PYZ.pyz\openlp.core.ui.mainwindow,
 line 1155, in screenChanged
File 
D:\OpenLP_Code\release-2.0.1\build\pyi.win32\OpenLP\out00-PYZ.pyz\openlp.core.lib.renderer,
 line 95, in update_display
File 
D:\OpenLP_Code\release-2.0.1\build\pyi.win32\OpenLP\out00-PYZ.pyz\openlp.core.lib.renderer,
 line 355, in _calculate_default
  ZeroDivisionError: float division by zero

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1196926/+subscriptions

___
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] [Bug 1174039] Re: Foil Presenter Importer fails if no verses

2013-08-25 Thread Phill
** Changed in: openlp/2.0
   Status: Fix Committed = Fix Released

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1174039

Title:
  Foil Presenter Importer fails if no verses

Status in OpenLP - Worship Presentation Software:
  Fix Committed
Status in OpenLP 2.0 series:
  Fix Released
Status in OpenLP trunk series:
  Fix Committed

Bug description:
  http://support.openlp.org/issues/1931

  The Foil Presenter song import if the song does not contain any
  verses.

  OpenLP Bug Report
  Version: {u'full': u'2.0.1', u'version': u'2.0.1', u'build': None}

  --- Details of the Exception. ---

  i was importing foilpresenter documents

  --- Exception Traceback ---
  Traceback (most recent call last):
  File 
/Users/martin/Documents/openlp/2.0/build/pyi.darwin/OpenLP/out00-PYZ.pyz/openlp.core.ui.wizard,
 line 188, in onCurrentIdChanged
  File 
/Users/martin/Documents/openlp/2.0/build/pyi.darwin/OpenLP/out00-PYZ.pyz/openlp.plugins.songs.forms.songimportform,
 line 391, in performWizard
  File 
/Users/martin/Documents/openlp/2.0/build/pyi.darwin/OpenLP/out00-PYZ.pyz/openlp.plugins.songs.lib.foilpresenterimport,
 line 134, in doImport
  File 
/Users/martin/Documents/openlp/2.0/build/pyi.darwin/OpenLP/out00-PYZ.pyz/openlp.plugins.songs.lib.foilpresenterimport,
 line 234, in xml_to_song
  File 
/Users/martin/Documents/openlp/2.0/build/pyi.darwin/OpenLP/out00-PYZ.pyz/openlp.plugins.songs.lib.foilpresenterimport,
 line 427, in process_lyrics
  File lxml.objectify.pyx, line 226, in 
lxml.objectify.ObjectifiedElement._getattr__ (src/lxml/lxml.objectify.c:2894)
  File lxml.objectify.pyx, line 485, in lxml.objectify._lookupChildOrRaise 
(src/lxml/lxml.objectify.c:5428)
  AttributeError: no such child: strophe

  --- System information ---
  Platform: Darwin-12.2.0-x86_64-i386-32bit

  --- Library Versions ---
  Python: 2.7.3
  Qt4: 4.8.3
  Phonon: 4.4.0
  PyQt4: 4.9.4
  QtWebkit: 534.34
  SQLAlchemy: 0.7.9
  SQLAlchemy Migrate: 0.7.2
  BeautifulSoup: 3.2.1
  lxml: 2.3.2
  Chardet: 2.0.1
  PyEnchant: -
  PySQLite: -
  Mako: 0.7.2
  pyUNO bridge: -

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1174039/+subscriptions

___
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] [Bug 1212801] Re: Theme in Song Editor is Never Reset

2013-08-25 Thread Phill
** Changed in: openlp/2.0
   Status: Fix Committed = Fix Released

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1212801

Title:
  Theme in Song Editor is Never Reset

Status in OpenLP - Worship Presentation Software:
  In Progress
Status in OpenLP 2.0 series:
  Fix Released
Status in OpenLP trunk series:
  In Progress

Bug description:
  A UI issue where the selected theme for a previously edited song is
  not being cleared when the next song is loaded into the edit dialog.

  See http://forums.openlp.org/discussion/2151/song-level-theme-affects-
  other-songs

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1212801/+subscriptions

___
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] [Bug 1194622] Re: [support-system] Traceback when importing bible with disabled bible plugin in FTW

2013-08-25 Thread Phill
** Changed in: openlp/2.0
   Status: Fix Committed = Fix Released

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1194622

Title:
  [support-system] Traceback when importing bible with disabled bible
  plugin in FTW

Status in OpenLP - Worship Presentation Software:
  Confirmed
Status in OpenLP 2.0 series:
  Fix Released
Status in OpenLP trunk series:
  Confirmed

Bug description:
  Hello,

  http://support.openlp.org/issues/2009

  1) Disable the Bible Plugin
  2) Restart OpenLP (it could be that this step is not required)
  3) Start the FTW
  4) Make sure the bible plugin is not checked!
  5) On the bible download page select a bible

  Result:
  Traceback (most recent call last):
File 
/usr/lib/python2.7/site-packages/openlp/plugins/bibles/lib/mediaitem.py, line 
407, in reloadBibles
  self.plugin.manager.reload_bibles()
  AttributeError: 'NoneType' object has no attribute 'reload_bibles'

  
  Expected:
  I am not sure, this is a strange case. Either the bible download page should 
not be shown or we should inform the user that we need to enable the bible 
plugin.

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1194622/+subscriptions

___
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] [Bug 1184869] Re: Webbible import fails

2013-08-25 Thread Phill
** Changed in: openlp/2.0
   Status: Fix Committed = Fix Released

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1184869

Title:
  Webbible import fails

Status in OpenLP - Worship Presentation Software:
  In Progress
Status in OpenLP 2.0 series:
  Fix Released
Status in OpenLP trunk series:
  In Progress

Bug description:
  Hello,

  Try to import the  webbible Czech ecumenic translation from
  bibleserver.

  This causes this traceback:

  Traceback (most recent call last):
File /usr/lib/python2.7/site-packages/openlp/core/ui/wizard.py, line 188, 
in onCurrentIdChanged
  self.performWizard()
File 
/usr/lib/python2.7/site-packages/openlp/plugins/bibles/forms/bibleimportform.py,
 line 714, in performWizard
  if importer.do_import(license_version):
File /usr/lib/python2.7/site-packages/openlp/plugins/bibles/lib/http.py, 
line 534, in do_import
  books = handler.get_books_from_http(self.download_name)
File /usr/lib/python2.7/site-packages/openlp/plugins/bibles/lib/http.py, 
line 377, in get_books_from_http
  book.contents[0].contents[0] for book in content
  IndexError: list index out of range
   
  See: http://support.openlp.org/issues/1965

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1184869/+subscriptions

___
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] [Bug 1170435] Re: We should not warn when verse order is empty

2013-08-25 Thread Phill
** Changed in: openlp/2.0
   Status: Fix Committed = Fix Released

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1170435

Title:
  We should not warn when verse order is empty

Status in OpenLP - Worship Presentation Software:
  Fix Committed
Status in OpenLP 2.0 series:
  Fix Released
Status in OpenLP trunk series:
  Fix Committed

Bug description:
  Hello,

  The warning, that a verse order is not complete is also shown when
  there is no verse order entered at all.

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1170435/+subscriptions

___
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] [Bug 1160506] Re: Traceback in czech bible download

2013-08-25 Thread Phill
** Changed in: openlp/2.0
   Status: Fix Committed = Fix Released

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1160506

Title:
  Traceback in czech bible download

Status in OpenLP - Worship Presentation Software:
  Confirmed
Status in OpenLP 2.0 series:
  Fix Released
Status in OpenLP trunk series:
  Confirmed

Bug description:
  Recently were made available for openlp new czech bibles.
  - they appear in the first-time wizard
  - downloading any of them causes the following traceback:

  
  Traceback (most recent call last):
File /home/andreas/Projects/OpenLP/trunk/openlp/core/ui/firsttimeform.py, 
line 222, in onCurrentIdChanged
  self._preWizard()
File /home/andreas/Projects/OpenLP/trunk/openlp/core/ui/firsttimeform.py, 
line 354, in _preWizard
  size = self._getFileSize(u'%s%s' % (self.web, filename))
File /home/andreas/Projects/OpenLP/trunk/openlp/core/ui/firsttimeform.py, 
line 306, in _getFileSize
  return int(meta.getheaders(Content-Length)[0])
  IndexError: list index out of range

  
  - this happens in 2.0.1 and in trunk
  - the OS and if it is source or build do not matter

  Possible cause could be:
  - wrong syntax of download.cfg
  - download.cfg is not properly parsed.

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1160506/+subscriptions

___
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] [Bug 1086987] Re: Log system does not log all exceptions

2013-08-25 Thread Phill
** Changed in: openlp/2.0
   Status: Fix Committed = Fix Released

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1086987

Title:
  Log system does not log all exceptions

Status in OpenLP - Worship Presentation Software:
  Fix Committed
Status in OpenLP 2.0 series:
  Fix Released

Bug description:
  Hello,

  bzr checkout lp:~googol/openlp/bug-779201-2 -r 2006

  You cannot start OpenLP. BUT: there is no traceback in the console,
  there is no traceback in the log file.

  I also noticed that this is not executed any longer:
  print 'Logging to:', filename

  We are calling set_up_logging before setting the log level.

  Doing this change reveals the traceback

  === modified file 'openlp/core/__init__.py'
  --- openlp/core/__init__.py   2012-12-04 21:50:14 +
  +++ openlp/core/__init__.py   2012-12-05 20:40:08 +
  @@ -181,8 +181,8 @@
   return False

   def hookException(self, exctype, value, traceback):
  +log.exception(''.join(format_exception(exctype, value, traceback)))
   if not hasattr(self, u'mainWindow'):
  -log.exception(''.join(format_exception(exctype, value, 
traceback)))
   return
   if not hasattr(self, u'exceptionForm'):
   self.exceptionForm = ExceptionForm(self.mainWindow)

  Expected:
  We should present the output in any case to the user.

  Request:
  - first fix the printing of the log file path
  - make sure that the user sees the traceback in any case

  Regards

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1086987/+subscriptions

___
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] [Bug 1154059] Re: OpenLP does not start due to mimetypes bug

2013-08-25 Thread Phill
** Changed in: openlp/2.0
   Status: Fix Committed = Fix Released

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1154059

Title:
  OpenLP does not start due to mimetypes bug

Status in OpenLP - Worship Presentation Software:
  In Progress
Status in OpenLP 2.0 series:
  Fix Released
Status in OpenLP trunk series:
  In Progress

Bug description:
  OpenLP 2.0.1 on Windows using an alphabet other than Latin

  This is caused by a bug in mimetypes in the Python library:
  http://bugs.python.org/issue9291 and stops OpenLP from starting.

  It happens when another program (appears to be mainly iTunes) creates
  registry keys in another encoding other than Latin-1.

  
  2013-03-11 19:19:09,450 root  
  ERRORTraceback (most recent call last):
File string, line 44, in module
File 
D:\OpenLP_Code\release-2.0.1\build\pyi.win32\OpenLP\out00-PYZ.pyz\openlp.core,
 line 344, in main
File 
D:\OpenLP_Code\release-2.0.1\build\pyi.win32\OpenLP\out00-PYZ.pyz\openlp.core,
 line 150, in run
File 
D:\OpenLP_Code\release-2.0.1\build\pyi.win32\OpenLP\out00-PYZ.pyz\openlp.core.ui.mainwindow,
 line 588, in __init__
File 
D:\OpenLP_Code\release-2.0.1\build\pyi.win32\OpenLP\out00-PYZ.pyz\openlp.core.ui.media.mediacontroller,
 line 60, in __init__
File 
D:\OpenLP_Code\release-2.0.1\build\pyi.win32\OpenLP\out00-PYZ.pyz\openlp.core.ui.media.mediacontroller,
 line 125, in check_available_media_players
File 
D:\OpenLP_Code\release-2.0.1\build\pyi.win32\OpenLP\out00-PYZ.pyz\openlp.core.ui.media.phononplayer,
 line 72, in __init__
File 
D:\OpenLP_Code\release-2.0.1\build\pyi.win32\OpenLP\out00-PYZ.pyz\mimetypes, 
line 355, in init
File 
D:\OpenLP_Code\release-2.0.1\build\pyi.win32\OpenLP\out00-PYZ.pyz\mimetypes, 
line 259, in read_windows_registry
File 
D:\OpenLP_Code\release-2.0.1\build\pyi.win32\OpenLP\out00-PYZ.pyz\mimetypes, 
line 249, in enum_types
  UnicodeDecodeError: 'ascii' codec can't decode byte 0xe0 in position 0: 
ordinal not in range(128)
  None

  See: http://support.openlp.org/issues/1911

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1154059/+subscriptions

___
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] [Bug 1114457] Re: Easy Worship importer progress bar is out

2013-08-25 Thread Phill
** Changed in: openlp/2.0
   Status: Fix Committed = Fix Released

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1114457

Title:
  Easy Worship importer progress bar is out

Status in OpenLP - Worship Presentation Software:
  Fix Committed
Status in OpenLP 2.0 series:
  Fix Released
Status in OpenLP trunk series:
  Fix Committed

Bug description:
  When importing the sample songs that come with the easy worship trial,
  the progress bar reaches 100% when only half way through.

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1114457/+subscriptions

___
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] [Bug 645452] Re: Adjust Line Spacing does not work

2013-08-25 Thread Phill
** Changed in: openlp/2.0
   Status: Fix Committed = Fix Released

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/645452

Title:
  Adjust Line Spacing does not work

Status in OpenLP - Worship Presentation Software:
  Fix Committed
Status in OpenLP 2.0 series:
  Fix Released
Status in OpenLP trunk series:
  Fix Committed

Bug description:
  Just edited a theme, and tried adjusting line spacing, but there was no 
apparent difference than before!
  Windows 7, Installer rev 1035.

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/645452/+subscriptions

___
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] [Bug 1047995] Re: Inconvenient focus in Song Editor when adding authors

2013-08-25 Thread Phill
** Changed in: openlp/2.0
   Status: Fix Committed = Fix Released

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1047995

Title:
  Inconvenient focus in Song Editor when adding authors

Status in OpenLP - Worship Presentation Software:
  Fix Committed
Status in OpenLP 2.0 series:
  Fix Released
Status in OpenLP trunk series:
  Fix Committed

Bug description:
  When adding an author to a song in Song Editor the button in focus is 'Save'. 
  This is inconvenient when adding an author because when hitting Enter to add 
the author to the song the error message You need to have an author for this 
song appears.

  This is true on both OS X and Ubuntu when using latest build
  bzr2050.

  Expected behaviour:
  When the Add author field has text in it the 'Add to Song' button should be 
in focus so that when hitting Enter the author is added.

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1047995/+subscriptions

___
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] [Bug 1098075] Re: Cancelling character table dialogue in importer causes OpenLP to crash

2013-08-25 Thread Phill
** Changed in: openlp/2.0
   Status: Fix Committed = Fix Released

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1098075

Title:
  Cancelling character table dialogue in importer causes OpenLP to crash

Status in OpenLP - Worship Presentation Software:
  Fix Committed
Status in OpenLP 2.0 series:
  Fix Released
Status in OpenLP trunk series:
  Fix Committed

Bug description:
  See: http://support.openlp.org/issues/1833

  I was importing
  songs from EasyWorship into LP. The import wizard starts to ask which
  character table should be used.But after a few minutes, openLP asked me
  it again and again and againWhen I cancel this question, this report
  function for errors appears.

  After a bit of investigation, it appears that in the strip_rtf
  function we are not handling if the user cancels the QInputDialog in
  get_encoding.

  For the problem reported, it looks likely that the user selected the
  wrong encoding.

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1098075/+subscriptions

___
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] [Bug 1112587] Re: Display verses on live tool bar ignored

2013-08-25 Thread Phill
** Changed in: openlp/2.0
   Status: Fix Committed = Fix Released

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1112587

Title:
  Display verses on live tool bar ignored

Status in OpenLP - Worship Presentation Software:
  Fix Committed
Status in OpenLP 2.0 series:
  Fix Released
Status in OpenLP trunk series:
  Fix Committed

Bug description:
  Hello,

  Affects trunk r2165 and 2.0.

  1) Enable Settings - Songs - Display verses on live tool bar
  2) Display a song without background audio.

  Result: The verses are not displayed.

  BUT: Display a song with background audio and it is visible.

  Expected: Verses should be displayed in the toolbar.

  NOTE: The option is completely ignored. When you disable it the
  behaviour is the same.

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1112587/+subscriptions

___
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] [Bug 1135392] Re: Catch all error trap in editsongform.py, _processLyrics

2013-08-25 Thread Phill
** Changed in: openlp/2.0
   Status: Fix Committed = Fix Released

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1135392

Title:
  Catch all error trap in editsongform.py, _processLyrics

Status in OpenLP - Worship Presentation Software:
  Fix Committed
Status in OpenLP 2.0 series:
  Fix Released
Status in OpenLP trunk series:
  Fix Committed

Bug description:
  Hi,

  I have been investigating a bug that has been reported on the support
  tracker (http://support.openlp.org/issues/1906) and I have traced it
  back to http://bazaar.launchpad.net/~openlp-
  
core/openlp/release-2.0/view/head:/openlp/plugins/songs/forms/editsongform.py#L941

  I have seen reports like this before on the support tracker, but have
  only just been able to narrow it down thanks to this comment:
  https://bugs.launchpad.net/openlp/+bug/1051890/comments/4 by Jonathan

  It appears that this catch all maybe responsible for us being unable
  to fix several different bugs.

  So as Jonathan says: 
   We shouldn't ignore/hide these errors, and ideally want to fix the original 
cause. 
  Either that or re-throw the error

  I've created this separate report as Jonathan's comments were kind of
  hidden, but to me seem quite important.

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1135392/+subscriptions

___
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] [Bug 1096450] Re: Opensong Import - some lines missing

2013-08-25 Thread Phill
** Changed in: openlp/2.0
   Status: Fix Committed = Fix Released

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1096450

Title:
  Opensong Import - some lines missing

Status in OpenLP - Worship Presentation Software:
  In Progress
Status in OpenLP 2.0 series:
  Fix Released
Status in OpenLP trunk series:
  In Progress

Bug description:
  When the following verse is imported from following Opensong format
    lyrics[V1]
   1. Gud vår Gud, vi lovar dig,
   vi bekänner dig, o Herre,
   dig som är till evig tid
   tillber ändligheternas släkten.
   Hela jorden, hav och land,
   ärar, fader vår, ditt namn.
  [V2]

  It create the following OpenLP format:
  ---[Vers:1]---
  . Gud vår Gud, vi lovar dig,
  vi bekänner dig, o Herre,
  dig som är till evig tid
  tillber ändligheternas släkten.
  Hela jorden, hav och land,
  ärar, fader vår, ditt namn.
  [---]
  . Gud vår Gud, vi lovar dig,
  vi bekänner dig, o Herre,
  dig som är till evig tid
  tillber ändligheternas släkten.
  Hela jorden, hav och land,
  ärar, fader vår, ditt namn.
  ---[Vers:2]---

  This happen on Version 1.9.12 and 2.0 of OpenLP and both for Windows
  and Mac.

  There other cases when some lines are missing or not imported properly:
  - line starting with '['  -  this line is missing in the lyrics
  - line starting with '.' - these lines indicate chords and it should be 
ignored when importing into openlp.

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1096450/+subscriptions

___
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] [Bug 1095699] Re: check_dependencies.py fails on version numbers with letters

2013-08-25 Thread Phill
** Changed in: openlp/trunk
   Status: Fix Committed = Fix Released

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1095699

Title:
  check_dependencies.py fails on version numbers with letters

Status in OpenLP - Worship Presentation Software:
  Fix Released
Status in OpenLP 2.0 series:
  Fix Committed
Status in OpenLP trunk series:
  Fix Released

Bug description:
  The check_dependencies.py script fails when a software package is
  checked that has other characters than only numbers in the version.

  My example:
  sqlalchemy was installed with easy_install on Windows XP. The version number 
of sqlalchemy is 0.8.0b2
  check_dependencies.py fails with the following stacktrace:

  Traceback (most recent call last):
File C:\footer_onlytitle\scripts\check_dependencies.py, line 190, in 
module
  main()
File C:\footer_onlytitle\scripts\check_dependencies.py, line 185, in main
  verify_versions()
File C:\footer_onlytitle\scripts\check_dependencies.py, line 124, in 
verify_versions
  check_vers(sqlalchemy.__version__, VERS['sqlalchemy'], 'sqlalchemy')
File C:\footer_onlytitle\scripts\check_dependencies.py, line 94, in 
check_vers
  version = map(int, version)
  ValueError: invalid literal for int() with base 10: '0b2'

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1095699/+subscriptions

___
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] [Bug 1147307] Re: Transtion + fast slide changes + ESC causes screen to open again

2013-08-25 Thread Phill
** Changed in: openlp/2.0
   Status: Fix Committed = Fix Released

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1147307

Title:
  Transtion + fast slide changes + ESC causes screen to open again

Status in OpenLP - Worship Presentation Software:
  Fix Committed
Status in OpenLP 2.0 series:
  Fix Released
Status in OpenLP trunk series:
  Fix Committed

Bug description:
  Hello,

  2.0

  1) Enable transition
  2) Send a song live
  3) Change a slide
  4) Press ESC before the transition is completed

  Result:
  The display opens again

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1147307/+subscriptions

___
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] [Bug 1197659] Re: Delete button in Configure Formatting Tags gets focus

2013-08-25 Thread Phill
** Changed in: openlp/2.0
   Status: Fix Committed = Fix Released

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1197659

Title:
  Delete button in Configure Formatting Tags gets focus

Status in OpenLP - Worship Presentation Software:
  In Progress
Status in OpenLP 2.0 series:
  Fix Released
Status in OpenLP trunk series:
  In Progress

Bug description:
  http://support.openlp.org/issues/2005

  When adding a new formatting tag, the delete button gets focus. It
  seems like the Save button should get focus instead.

  How to reproduce.
  Open Configure Formatting Tags dialog.
  Click new.
  Click in one of the line edits (Delete button gets focus)
  Change the text
  Press enter (I would assume that this would save the new tag)
  New tag gets deleted

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1197659/+subscriptions

___
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] [Bug 1128376] Re: Configure shortcuts has two items called settings

2013-08-25 Thread Phill
** Changed in: openlp/2.0
   Status: Fix Committed = Fix Released

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1128376

Title:
  Configure shortcuts has two items called settings

Status in OpenLP - Worship Presentation Software:
  Fix Committed
Status in OpenLP 2.0 series:
  Fix Released
Status in OpenLP trunk series:
  Fix Committed

Bug description:
  Configure shortcuts dialog has two items called Settings under the settings 
section.
  see: 
https://docs.google.com/file/d/0Bx0czEbkLvYFY3h1bm1XVkhia2c/edit?usp=sharing

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1128376/+subscriptions

___
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] [Bug 1146964] Re: Attach button on exception form does not work

2013-08-25 Thread Phill
** Changed in: openlp/2.0
   Status: Fix Committed = Fix Released

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1146964

Title:
  Attach button on exception form does not work

Status in OpenLP - Worship Presentation Software:
  Confirmed
Status in OpenLP 2.0 series:
  Fix Released
Status in OpenLP trunk series:
  Confirmed

Bug description:
  Hello,

  1) Trigger a traceback
  2) Click the Attach File(s) button
  3) Try to select a file

  Result:
  You cannot select any file. Only directories are shown.

  Expected:
  You should be able to select one or more files.

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1146964/+subscriptions

___
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] [Bug 1214875] Re: Importing an OSIS bible always results in English book names

2013-08-25 Thread Phill
** Changed in: openlp/2.0
   Status: Fix Committed = Fix Released

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1214875

Title:
  Importing an OSIS bible always results in English book names

Status in OpenLP - Worship Presentation Software:
  New
Status in OpenLP 2.0 series:
  Fix Released
Status in OpenLP trunk series:
  New

Bug description:
  In version 2.0.1, I found that when importing an OSIS format bible, the book 
names always end up in English.
  There is currently no translation done and it always defaults to the English 
name.
  Ideally a bible-specific name should be used, but we could at least use the 
name translated to the language of the bible.

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1214875/+subscriptions

___
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] [Bug 1215302] Re: Add .divx to list of video extensions

2013-08-25 Thread Phill
** Changed in: openlp/2.0
   Status: Fix Committed = Fix Released

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1215302

Title:
  Add .divx to list of video extensions

Status in OpenLP - Worship Presentation Software:
  Confirmed
Status in OpenLP 2.0 series:
  Fix Released
Status in OpenLP trunk series:
  Confirmed

Bug description:
  See http://forums.openlp.org/discussion/2169/divx-support

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1215302/+subscriptions

___
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] [Bug 1125956] Re: SongShowPlus importer does not handle verse labels such as 1A

2013-08-25 Thread Phill
** Changed in: openlp/2.0
   Status: Fix Committed = Fix Released

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1125956

Title:
  SongShowPlus importer does not handle verse labels such as 1A

Status in OpenLP - Worship Presentation Software:
  Fix Committed
Status in OpenLP 2.0 series:
  Fix Released
Status in OpenLP trunk series:
  Fix Committed

Bug description:
  See http://support.openlp.org/issues/1897 for attached song file

  *OpenLP Bug Report*
  Version: {u'full': u'2.0.1', u'version': u'2.0.1', u'build': None}

  --- Details of the Exception. ---

  Importing song show plus songs (.sbsong) from jump drive.

   --- Exception Traceback ---
  Traceback (most recent call last):
File 
D:\OpenLP_Code\release-2.0.1\build\pyi.win32\OpenLP\out00-PYZ.pyz\openlp.core.ui.wizard,
 line 188, in onCurrentIdChanged
File 
D:\OpenLP_Code\release-2.0.1\build\pyi.win32\OpenLP\out00-PYZ.pyz\openlp.plugins.songs.forms.songimportform,
 line 391, in performWizard
File 
D:\OpenLP_Code\release-2.0.1\build\pyi.win32\OpenLP\out00-PYZ.pyz\openlp.plugins.songs.lib.songshowplusimport,
 line 181, in doImport
File 
D:\OpenLP_Code\release-2.0.1\build\pyi.win32\OpenLP\out00-PYZ.pyz\openlp.plugins.songs.lib.songimport,
 line 268, in addVerse
  ValueError: invalid literal for int() with base 10: '1A'

  --- System information ---
  Platform: Windows-XP-5.1.2600-SP3

  --- Library Versions ---
  Python: 2.7.3
  Qt4: 4.7.3
  Phonon: 4.4.0
  PyQt4: 4.8.5
  QtWebkit: 533.3
  SQLAlchemy: 0.7.7
  SQLAlchemy Migrate: 0.7.2
  BeautifulSoup: 3.2.1
  lxml: 2.3.0
  Chardet: 1.0.1
  PyEnchant: 1.6.5
  PySQLite: 1.0.1
  Mako: 0.7.0
  pyUNO bridge: -

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1125956/+subscriptions

___
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] [Bug 1204629] Re: Typing a path for a theme background does not set background

2013-08-25 Thread Phill
** Changed in: openlp/2.0
   Status: Fix Committed = Fix Released

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1204629

Title:
  Typing a path for a theme background does not set background

Status in OpenLP - Worship Presentation Software:
  Fix Committed
Status in OpenLP 2.0 series:
  Fix Released
Status in OpenLP trunk series:
  Fix Committed

Bug description:
  If you type an image path in to the line edit on the theme editor the
  background is not set/changed.

  This is after the recent fix
  (https://bugs.launchpad.net/openlp/+bug/1197376) that validates that
  it is a valid image file.

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1204629/+subscriptions

___
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] [Bug 1216785] [NEW] Adding notes to service causes error on save

2013-08-26 Thread Phill
Public bug reported:

http://support.openlp.org/issues/2066

With 2.0.2 add a note to an item in the service manager.
Click File-Save: Follow traceback pops up:

--- Exception Traceback ---
Traceback (most recent call last):
   File /usr/share/openlp/openlp/core/ui/servicemanager.py, line 546, 
in saveFile
 service_content = json.dumps(service)
   File /usr/lib/python2.7/json/__init__.py, line 233, in dumps
 return _default_encoder.encode(obj)
   File /usr/lib/python2.7/json/encoder.py, line 203, in encode
 chunks = self.iterencode(o, _one_shot=True)
   File /usr/lib/python2.7/json/encoder.py, line 266, in iterencode
 return _iterencode(o, 0)
   File /usr/lib/python2.7/json/encoder.py, line 180, in default
 raise TypeError(repr(o)is not JSON serializable)
TypeError: PyQt4.QtCore.QString(u'After the sermon.') is not JSON 
serializable

** Affects: openlp
 Importance: Undecided
 Status: New

** Affects: openlp/2.0
 Importance: High
 Status: Confirmed

** Affects: openlp/trunk
 Importance: Undecided
 Status: New


** Tags: notes service support-system

** Also affects: openlp/2.0
   Importance: Undecided
   Status: New

** Also affects: openlp/trunk
   Importance: Undecided
   Status: New

** Changed in: openlp/2.0
   Status: New = Confirmed

** Changed in: openlp/2.0
   Importance: Undecided = High

** Changed in: openlp/2.0
Milestone: None = 2.0.3

** Changed in: openlp/trunk
Milestone: None = 2.1.1

** Tags added: notes service support-system

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1216785

Title:
  Adding notes to service causes error on save

Status in OpenLP - Worship Presentation Software:
  New
Status in OpenLP 2.0 series:
  Confirmed
Status in OpenLP trunk series:
  New

Bug description:
  http://support.openlp.org/issues/2066

  With 2.0.2 add a note to an item in the service manager.
  Click File-Save: Follow traceback pops up:

  --- Exception Traceback ---
  Traceback (most recent call last):
 File /usr/share/openlp/openlp/core/ui/servicemanager.py, line 546, 
  in saveFile
   service_content = json.dumps(service)
 File /usr/lib/python2.7/json/__init__.py, line 233, in dumps
   return _default_encoder.encode(obj)
 File /usr/lib/python2.7/json/encoder.py, line 203, in encode
   chunks = self.iterencode(o, _one_shot=True)
 File /usr/lib/python2.7/json/encoder.py, line 266, in iterencode
   return _iterencode(o, 0)
 File /usr/lib/python2.7/json/encoder.py, line 180, in default
   raise TypeError(repr(o)is not JSON serializable)
  TypeError: PyQt4.QtCore.QString(u'After the sermon.') is not JSON 
  serializable

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1216785/+subscriptions

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

2013-08-27 Thread Phill
Phill has proposed merging lp:~phill-ridout/openlp/1194610 into lp:openlp.

Requested reviews:
  Tim Bentley (trb143)
  Raoul Snyman (raoul-snyman)
Related bugs:
  Bug #1194610 in OpenLP: [support-system] SongShowPlus traceback
  https://bugs.launchpad.net/openlp/+bug/1194610

For more details, see:
https://code.launchpad.net/~phill-ridout/openlp/1194610/+merge/182491

Fixes #1194610 by detecting the encoding rather than assuming it

Adds a helper module to help test songs being imported.
-- 
https://code.launchpad.net/~phill-ridout/openlp/1194610/+merge/182491
Your team OpenLP Core is subscribed to branch lp:openlp.
=== modified file 'openlp/plugins/songs/lib/songshowplusimport.py'
--- openlp/plugins/songs/lib/songshowplusimport.py	2013-03-31 10:13:56 +
+++ openlp/plugins/songs/lib/songshowplusimport.py	2013-08-27 20:31:09 +
@@ -30,6 +30,7 @@
 The :mod:`songshowplusimport` module provides the functionality for importing 
 SongShow Plus songs into the OpenLP database.
 
+import chardet
 import os
 import logging
 import re
@@ -134,41 +135,41 @@
 log.debug(length_descriptor_size)
 data = song_data.read(length_descriptor)
 if block_key == TITLE:
-self.title = unicode(data, u'cp1252')
+self.title = self.decode(data)
 elif block_key == AUTHOR:
 authors = data.split( / )
 for author in authors:
 if author.find(,) !=-1:
 authorParts = author.split(, )
 author = authorParts[1] +   + authorParts[0]
-self.parse_author(unicode(author, u'cp1252'))
+self.parse_author(self.decode(author))
 elif block_key == COPYRIGHT:
-self.addCopyright(unicode(data, u'cp1252'))
+self.addCopyright(self.decode(data))
 elif block_key == CCLI_NO:
 self.ccliNumber = int(data)
 elif block_key == VERSE:
-self.addVerse(unicode(data, u'cp1252'), %s%s % (VerseType.tags[VerseType.Verse], verse_no))
+self.addVerse(self.decode(data), %s%s % (VerseType.tags[VerseType.Verse], verse_no))
 elif block_key == CHORUS:
-self.addVerse(unicode(data, u'cp1252'), %s%s % (VerseType.tags[VerseType.Chorus], verse_no))
+self.addVerse(self.decode(data), %s%s % (VerseType.tags[VerseType.Chorus], verse_no))
 elif block_key == BRIDGE:
-self.addVerse(unicode(data, u'cp1252'), %s%s % (VerseType.tags[VerseType.Bridge], verse_no))
+self.addVerse(self.decode(data), %s%s % (VerseType.tags[VerseType.Bridge], verse_no))
 elif block_key == TOPIC:
-self.topics.append(unicode(data, u'cp1252'))
+self.topics.append(self.decode(data))
 elif block_key == COMMENTS:
-self.comments = unicode(data, u'cp1252')
+self.comments = self.decode(data)
 elif block_key == VERSE_ORDER:
 verse_tag = self.to_openlp_verse_tag(data, True)
 if verse_tag:
 if not isinstance(verse_tag, unicode):
-verse_tag = unicode(verse_tag, u'cp1252')
+verse_tag = self.decode(verse_tag)
 self.ssp_verse_order_list.append(verse_tag)
 elif block_key == SONG_BOOK:
-self.songBookName = unicode(data, u'cp1252')
+self.songBookName = self.decode(data)
 elif block_key == SONG_NUMBER:
 self.songNumber = ord(data)
 elif block_key == CUSTOM_VERSE:
 verse_tag = self.to_openlp_verse_tag(verse_name)
-self.addVerse(unicode(data, u'cp1252'), verse_tag)
+self.addVerse(self.decode(data), verse_tag)
 else:
 log.debug(Unrecognised blockKey: %s, data: %s % (block_key, data))
 song_data.seek(next_block_starts)
@@ -206,3 +207,9 @@
 verse_tag = VerseType.tags[VerseType.Other]
 verse_number = self.other_list[verse_name]
 return verse_tag + verse_number
+
+def decode(self, data):
+try:
+return unicode(data, chardet.detect(data)['encoding'])
+except:
+return unicode(data, u'cp1252')
\ No newline at end of file

=== added file 'tests/functional/openlp_plugins/songs/songfileimporthelper.py'
--- tests/functional/openlp_plugins/songs/songfileimporthelper.py	1970-01-01 00:00:00 +
+++ tests/functional/openlp_plugins/songs/songfileimporthelper.py	2013-08-27 20:31:09 +
@@ -0,0 +1,113 @@
+
+The :mod:`songfileimporthelper` modules provides a helper class

[Openlp-core] [Bug 1216785] Re: Adding notes to service causes error on save

2013-08-28 Thread Phill
Reported again at: http://support.openlp.org/issues/2071

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1216785

Title:
  Adding notes to service causes error on save

Status in OpenLP - Worship Presentation Software:
  Won't Fix
Status in OpenLP 2.0 series:
  Fix Committed

Bug description:
  http://support.openlp.org/issues/2066

  With 2.0.2 add a note to an item in the service manager.
  Click File-Save: Follow traceback pops up:

  --- Exception Traceback ---
  Traceback (most recent call last):
 File /usr/share/openlp/openlp/core/ui/servicemanager.py, line 546, 
  in saveFile
   service_content = json.dumps(service)
 File /usr/lib/python2.7/json/__init__.py, line 233, in dumps
   return _default_encoder.encode(obj)
 File /usr/lib/python2.7/json/encoder.py, line 203, in encode
   chunks = self.iterencode(o, _one_shot=True)
 File /usr/lib/python2.7/json/encoder.py, line 266, in iterencode
   return _iterencode(o, 0)
 File /usr/lib/python2.7/json/encoder.py, line 180, in default
   raise TypeError(repr(o)is not JSON serializable)
  TypeError: PyQt4.QtCore.QString(u'After the sermon.') is not JSON 
  serializable

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1216785/+subscriptions

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

2013-08-29 Thread Phill
Review: Needs Fixing


-- 
https://code.launchpad.net/~phill-ridout/openlp/1194610/+merge/182491
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/song_helper into lp:openlp

2013-08-29 Thread Phill
Phill has proposed merging lp:~phill-ridout/openlp/song_helper into lp:openlp.

Requested reviews:
  OpenLP Core (openlp-core)

For more details, see:
https://code.launchpad.net/~phill-ridout/openlp/song_helper/+merge/183034

Adds a helper class to reduce the work in testing the actual import of song 
files.
Changed SongShowPlus importer so that it uses this new class
-- 
https://code.launchpad.net/~phill-ridout/openlp/song_helper/+merge/183034
Your team OpenLP Core is requested to review the proposed merge of 
lp:~phill-ridout/openlp/song_helper into lp:openlp.
=== added file 'tests/functional/openlp_plugins/songs/songfileimporthelper.py'
--- tests/functional/openlp_plugins/songs/songfileimporthelper.py	1970-01-01 00:00:00 +
+++ tests/functional/openlp_plugins/songs/songfileimporthelper.py	2013-08-29 21:23:16 +
@@ -0,0 +1,113 @@
+
+The :mod:`songfileimporthelper` modules provides a helper class and methods to easily enable testing the import of
+song files from third party applications.
+
+import json
+from unittest import TestCase
+from mock import patch, MagicMock
+
+class SongImportTestHelper(TestCase):
+
+This class is designed to be a helper class to reduce repition when testing the import of song files.
+
+def __init__(self, *args, **kwargs):
+self.importer_module = __import__(
+u'openlp.plugins.songs.lib.%s' % self.importer_module_name, fromlist=[self.importer_class_name])
+self.importer_class = getattr(self.importer_module, self.importer_class_name)
+TestCase.__init__(self, *args, **kwargs)
+
+def setUp(self):
+
+Patch and set up the mocks required.
+
+self.add_copyright_patcher = patch(
+u'openlp.plugins.songs.lib.%s.%s.addCopyright' % (self.importer_module_name, self.importer_class_name))
+self.add_verse_patcher = patch(
+u'openlp.plugins.songs.lib.%s.%s.addVerse' % (self.importer_module_name, self.importer_class_name))
+self.finish_patcher = patch(
+u'openlp.plugins.songs.lib.%s.%s.finish' % (self.importer_module_name, self.importer_class_name))
+self.parse_author_patcher = patch(
+u'openlp.plugins.songs.lib.%s.%s.parse_author' % (self.importer_module_name, self.importer_class_name))
+self.song_import_patcher = patch(u'openlp.plugins.songs.lib.%s.SongImport' % self.importer_module_name)
+self.mocked_add_copyright = self.add_copyright_patcher.start()
+self.mocked_add_verse = self.add_verse_patcher.start()
+self.mocked_finish = self.finish_patcher.start()
+self.mocked_parse_author = self.parse_author_patcher.start()
+self.mocked_song_importer = self.song_import_patcher.start()
+self.mocked_manager = MagicMock()
+self.mocked_import_wizard = MagicMock()
+self.mocked_finish.return_value = True
+
+def tearDown(self):
+
+Clean up
+
+self.add_copyright_patcher.stop()
+self.add_verse_patcher.stop()
+self.finish_patcher.stop()
+self.parse_author_patcher.stop()
+self.song_import_patcher.stop()
+
+def load_external_result_data(self, file_name):
+
+A method to load and return an object containing the song data from an external file.
+
+result_file = open(file_name, 'rb')
+return json.loads(result_file.read())
+
+def file_import(self, source_file_name, result_data):
+
+Import the given file and check that it has imported correctly
+
+importer = self.importer_class(self.mocked_manager)
+importer.import_wizard = self.mocked_import_wizard
+importer.stop_import_flag = False
+importer.topics = []
+
+# WHEN: Importing the source file
+importer.import_source = [source_file_name]
+add_verse_calls = self.get_data(result_data, u'verses')
+author_calls = self.get_data(result_data, u'authors')
+ccli_number = self.get_data(result_data, u'ccli_number')
+comments = self.get_data(result_data, u'comments')
+song_book_name = self.get_data(result_data, u'song_book_name')
+song_copyright = self.get_data(result_data, u'copyright')
+song_number = self.get_data(result_data, u'song_number')
+title = self.get_data(result_data, u'title')
+topics = self.get_data(result_data, u'topics')
+verse_order_list = self.get_data(result_data, u'verse_order_list')
+
+# THEN: doImport should return none, the song data should be as expected, and finish should have been
+#   called.
+self.assertIsNone(importer.doImport(), u'doImport should return None when it has completed')
+self.assertEquals(importer.title, title, u'title for %s should be %s' % (source_file_name, title))
+for author in author_calls:
+self.mocked_parse_author.assert_any_call(author)
+if song_copyright

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

2013-08-31 Thread Phill
 Please resubmit due to the age of this request and additionally it will need
 converting to Python 3 as on 1/9/2013 truck will be converted.

Tim and co., would you mind commenting on the way I'm doing things? Not 
particularly the actual code but the concept?
-- 
https://code.launchpad.net/~phill-ridout/openlp/song_helper/+merge/183034
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/1197659 into lp:openlp

2013-08-31 Thread Phill
OK, I'll assign the bug to you!
On 31 Aug 2013 16:03, Tim Bentley tim.bent...@gmail.com wrote:

 Review: Needs Fixing

 Please leave this as I am re-writing the dialog.
 --
 https://code.launchpad.net/~phill-ridout/openlp/1197659/+merge/180743
 You are the owner of lp:~phill-ridout/openlp/1197659.


-- 
https://code.launchpad.net/~phill-ridout/openlp/1197659/+merge/180743
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/1197659 into lp:openlp

2013-08-31 Thread Phill
I'll assign the bug to you then?
-- 
https://code.launchpad.net/~phill-ridout/openlp/1197659/+merge/180743
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] [Bug 1197659] Re: Delete button in Configure Formatting Tags gets focus

2013-08-31 Thread Phill
** Changed in: openlp/trunk
   Status: In Progress = Confirmed

** Changed in: openlp/trunk
 Assignee: Phill (phill-ridout) = Tim Bentley (trb143)

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1197659

Title:
  Delete button in Configure Formatting Tags gets focus

Status in OpenLP - Worship Presentation Software:
  Confirmed
Status in OpenLP 2.0 series:
  Fix Released
Status in OpenLP trunk series:
  Confirmed

Bug description:
  http://support.openlp.org/issues/2005

  When adding a new formatting tag, the delete button gets focus. It
  seems like the Save button should get focus instead.

  How to reproduce.
  Open Configure Formatting Tags dialog.
  Click new.
  Click in one of the line edits (Delete button gets focus)
  Change the text
  Press enter (I would assume that this would save the new tag)
  New tag gets deleted

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1197659/+subscriptions

___
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


<    2   3   4   5   6   7   8   9   10   11   >