forked from openlp/openlp
Clean ups (missing lines, white spaces, etc.)
bzr-revno: 1337
This commit is contained in:
commit
149059aef5
@ -106,8 +106,8 @@ def translate(context, text, comment=None,
|
||||
|
||||
def get_text_file_string(text_file):
|
||||
"""
|
||||
Open a file and return its content as unicode string. If the supplied file
|
||||
name is not a file then the function returns False. If there is an error
|
||||
Open a file and return its content as unicode string. If the supplied file
|
||||
name is not a file then the function returns False. If there is an error
|
||||
loading the file or the content can't be decoded then the function will
|
||||
return None.
|
||||
|
||||
|
@ -65,7 +65,7 @@ def delete_database(plugin_name, db_file_name=None):
|
||||
The name of the plugin to remove the database for
|
||||
|
||||
``db_file_name``
|
||||
The database file name. Defaults to None resulting in the
|
||||
The database file name. Defaults to None resulting in the
|
||||
plugin_name being used.
|
||||
"""
|
||||
db_file_path = None
|
||||
@ -91,6 +91,7 @@ class BaseModel(object):
|
||||
instance.__setattr__(key, kwargs[key])
|
||||
return instance
|
||||
|
||||
|
||||
class Manager(object):
|
||||
"""
|
||||
Provide generic object persistence management
|
||||
@ -107,7 +108,7 @@ class Manager(object):
|
||||
The init_schema function for this database
|
||||
|
||||
``db_file_name``
|
||||
The file name to use for this database. Defaults to None resulting
|
||||
The file name to use for this database. Defaults to None resulting
|
||||
in the plugin_name being used.
|
||||
"""
|
||||
settings = QtCore.QSettings()
|
||||
@ -211,11 +212,11 @@ class Manager(object):
|
||||
The type of objects to return
|
||||
|
||||
``filter_clause``
|
||||
The filter governing selection of objects to return. Defaults to
|
||||
The filter governing selection of objects to return. Defaults to
|
||||
None.
|
||||
|
||||
``order_by_ref``
|
||||
Any parameters to order the returned objects by. Defaults to None.
|
||||
Any parameters to order the returned objects by. Defaults to None.
|
||||
"""
|
||||
query = self.session.query(object_class)
|
||||
if filter_clause is not None:
|
||||
@ -232,7 +233,7 @@ class Manager(object):
|
||||
The type of objects to return.
|
||||
|
||||
``filter_clause``
|
||||
The filter governing selection of objects to return. Defaults to
|
||||
The filter governing selection of objects to return. Defaults to
|
||||
None.
|
||||
"""
|
||||
query = self.session.query(object_class)
|
||||
|
@ -64,7 +64,7 @@ class SettingsManager(object):
|
||||
Read the last directory used for plugin.
|
||||
|
||||
``section``
|
||||
The section of code calling the method. This is used in the
|
||||
The section of code calling the method. This is used in the
|
||||
settings key.
|
||||
|
||||
``num``
|
||||
@ -84,7 +84,7 @@ class SettingsManager(object):
|
||||
Save the last directory used for plugin.
|
||||
|
||||
``section``
|
||||
The section of code calling the method. This is used in the
|
||||
The section of code calling the method. This is used in the
|
||||
settings key.
|
||||
|
||||
``directory``
|
||||
@ -160,11 +160,11 @@ class SettingsManager(object):
|
||||
Get a list of files from the data files path.
|
||||
|
||||
``section``
|
||||
Defaults to *None*. The section of code getting the files - used
|
||||
Defaults to *None*. The section of code getting the files - used
|
||||
to load from a section's data subdirectory.
|
||||
|
||||
``extension``
|
||||
Defaults to *None*. The extension to search for.
|
||||
Defaults to *None*. The extension to search for.
|
||||
"""
|
||||
path = AppLocation.get_data_path()
|
||||
if section:
|
||||
|
@ -91,6 +91,7 @@ class ThemeLevel(object):
|
||||
Service = 2
|
||||
Song = 3
|
||||
|
||||
|
||||
class BackgroundType(object):
|
||||
"""
|
||||
Type enumeration for backgrounds.
|
||||
@ -123,6 +124,7 @@ class BackgroundType(object):
|
||||
elif type_string == u'image':
|
||||
return BackgroundType.Image
|
||||
|
||||
|
||||
class BackgroundGradientType(object):
|
||||
"""
|
||||
Type enumeration for background gradients.
|
||||
@ -200,6 +202,7 @@ INTEGER_LIST = [u'size', u'line_adjustment', u'x', u'height', u'y',
|
||||
u'width', u'shadow_size', u'outline_size', u'horizontal_align',
|
||||
u'vertical_align', u'wrap_style']
|
||||
|
||||
|
||||
class ThemeXML(object):
|
||||
"""
|
||||
A class to encapsulate the Theme XML.
|
||||
|
@ -130,7 +130,7 @@ def create_accept_reject_button_box(parent, okay=False):
|
||||
methods to handle the default ``accepted()`` and ``rejected()`` signals.
|
||||
|
||||
``parent``
|
||||
The parent object. This should be a ``QWidget`` descendant.
|
||||
The parent object. This should be a ``QWidget`` descendant.
|
||||
|
||||
``okay``
|
||||
If true creates an okay/cancel combination instead of save/cancel.
|
||||
@ -185,15 +185,15 @@ def media_item_combo_box(parent, name):
|
||||
|
||||
def create_delete_push_button(parent, icon=None):
|
||||
"""
|
||||
Creates a standard push button with a delete label and optional icon. The
|
||||
Creates a standard push button with a delete label and optional icon. The
|
||||
button is connected to the parent's ``onDeleteButtonClicked()`` method to
|
||||
handle the ``clicked()`` signal.
|
||||
|
||||
``parent``
|
||||
The parent object. This should be a ``QWidget`` descendant.
|
||||
The parent object. This should be a ``QWidget`` descendant.
|
||||
|
||||
``icon``
|
||||
An icon to display on the button. This can be either a ``QIcon``, a
|
||||
An icon to display on the button. This can be either a ``QIcon``, a
|
||||
resource path or a file name.
|
||||
"""
|
||||
delete_button = QtGui.QPushButton(parent)
|
||||
@ -210,12 +210,12 @@ def create_delete_push_button(parent, icon=None):
|
||||
def create_up_down_push_button_set(parent):
|
||||
"""
|
||||
Creates a standard set of two push buttons, one for up and the other for
|
||||
down, for use with lists. The buttons use arrow icons and no text and are
|
||||
down, for use with lists. The buttons use arrow icons and no text and are
|
||||
connected to the parent's ``onUpButtonClicked()`` and
|
||||
``onDownButtonClicked()`` to handle their respective ``clicked()`` signals.
|
||||
|
||||
``parent``
|
||||
The parent object. This should be a ``QWidget`` descendant.
|
||||
The parent object. This should be a ``QWidget`` descendant.
|
||||
"""
|
||||
up_button = QtGui.QPushButton(parent)
|
||||
up_button.setIcon(build_icon(u':/services/service_up.png'))
|
||||
@ -295,7 +295,7 @@ def create_valign_combo(form, parent, layout):
|
||||
The UI screen that the label and combo will appear on.
|
||||
|
||||
``parent``
|
||||
The parent object. This should be a ``QWidget`` descendant.
|
||||
The parent object. This should be a ``QWidget`` descendant.
|
||||
|
||||
``layout``
|
||||
A layout object to add the label and combo widgets to.
|
||||
|
@ -92,7 +92,7 @@ class Theme(object):
|
||||
* ``solid`` - color
|
||||
|
||||
``BackgroundParameter2``
|
||||
Extra information about the background. The contents of this attribute
|
||||
Extra information about the background. The contents of this attribute
|
||||
depend on the BackgroundType:
|
||||
|
||||
* ``image`` - border color
|
||||
@ -100,7 +100,7 @@ class Theme(object):
|
||||
* ``solid`` - N/A
|
||||
|
||||
``BackgroundParameter3``
|
||||
Extra information about the background. The contents of this attribute
|
||||
Extra information about the background. The contents of this attribute
|
||||
depend on the BackgroundType:
|
||||
|
||||
* ``image`` - N/A
|
||||
@ -142,7 +142,7 @@ class Theme(object):
|
||||
Color for the outline (or None if Outline is 0)
|
||||
|
||||
``HorizontalAlign``
|
||||
The horizontal alignment to apply to text. Valid alignments are:
|
||||
The horizontal alignment to apply to text. Valid alignments are:
|
||||
|
||||
* ``0`` - left align
|
||||
* ``1`` - right align
|
||||
@ -156,7 +156,7 @@ class Theme(object):
|
||||
* ``2`` - centre align
|
||||
|
||||
``WrapStyle``
|
||||
The wrap style to apply to the text. Valid styles are:
|
||||
The wrap style to apply to the text. Valid styles are:
|
||||
|
||||
* ``0`` - normal
|
||||
* ``1`` - lyrics
|
||||
|
@ -72,7 +72,7 @@ class DisplayTagForm(QtGui.QDialog, Ui_DisplayTagDialog):
|
||||
def preLoad(self):
|
||||
"""
|
||||
Load the Tags from store so can be used in the system or used to
|
||||
update the display. If Cancel was selected this is needed to reset the
|
||||
update the display. If Cancel was selected this is needed to reset the
|
||||
dsiplay to the correct version.
|
||||
"""
|
||||
# Initial Load of the Tags
|
||||
|
@ -45,7 +45,7 @@ class ValidEdit(QtGui.QLineEdit):
|
||||
|
||||
def validText(self):
|
||||
"""
|
||||
Only return Integers. Space is 0
|
||||
Only return Integers. Space is 0
|
||||
"""
|
||||
if self.text().isEmpty():
|
||||
return QtCore.QString(u'0')
|
||||
|
@ -266,7 +266,7 @@ class ThemeManager(QtGui.QWidget):
|
||||
oldThemeName = unicode(item.data(QtCore.Qt.UserRole).toString())
|
||||
self.fileRenameForm.fileNameEdit.setText(oldThemeName)
|
||||
if self.fileRenameForm.exec_():
|
||||
newThemeName = unicode(self.fileRenameForm.fileNameEdit.text())
|
||||
newThemeName = unicode(self.fileRenameForm.fileNameEdit.text())
|
||||
if self.checkIfThemeExists(newThemeName):
|
||||
oldThemeData = self.getThemeData(oldThemeName)
|
||||
self.cloneThemeData(oldThemeData, newThemeName)
|
||||
@ -284,7 +284,7 @@ class ThemeManager(QtGui.QWidget):
|
||||
oldThemeName = unicode(item.data(QtCore.Qt.UserRole).toString())
|
||||
self.fileRenameForm.fileNameEdit.setText(oldThemeName)
|
||||
if self.fileRenameForm.exec_(True):
|
||||
newThemeName = unicode(self.fileRenameForm.fileNameEdit.text())
|
||||
newThemeName = unicode(self.fileRenameForm.fileNameEdit.text())
|
||||
if self.checkIfThemeExists(newThemeName):
|
||||
themeData = self.getThemeData(oldThemeName)
|
||||
self.cloneThemeData(themeData, newThemeName)
|
||||
@ -399,7 +399,7 @@ class ThemeManager(QtGui.QWidget):
|
||||
def onImportTheme(self):
|
||||
"""
|
||||
Opens a file dialog to select the theme file(s) to import before
|
||||
attempting to extract OpenLP themes from those files. This process
|
||||
attempting to extract OpenLP themes from those files. This process
|
||||
will load both OpenLP version 1 and version 2 themes.
|
||||
"""
|
||||
files = QtGui.QFileDialog.getOpenFileNames(self,
|
||||
|
@ -242,7 +242,7 @@ def add_actions(target, actions):
|
||||
The menu or toolbar to add actions to.
|
||||
|
||||
``actions``
|
||||
The actions to be added. An action consisting of the keyword 'None'
|
||||
The actions to be added. An action consisting of the keyword 'None'
|
||||
will result in a separator being inserted into the target.
|
||||
"""
|
||||
for action in actions:
|
||||
@ -318,7 +318,7 @@ def get_web_page(url, header=None, update_openlp=False):
|
||||
Tells OpenLP to update itself if the page is successfully downloaded.
|
||||
Defaults to False.
|
||||
"""
|
||||
# TODO: Add proxy usage. Get proxy info from OpenLP settings, add to a
|
||||
# TODO: Add proxy usage. Get proxy info from OpenLP settings, add to a
|
||||
# proxy_handler, build into an opener and install the opener into urllib2.
|
||||
# http://docs.python.org/library/urllib2.html
|
||||
if not url:
|
||||
|
@ -322,7 +322,7 @@ class BibleDB(QtCore.QObject, Manager):
|
||||
def get_books(self):
|
||||
"""
|
||||
A wrapper so both local and web bibles have a get_books() method that
|
||||
manager can call. Used in the media manager advanced search tab.
|
||||
manager can call. Used in the media manager advanced search tab.
|
||||
"""
|
||||
return self.get_all_objects(Book, order_by_ref=Book.id)
|
||||
|
||||
|
@ -238,8 +238,8 @@ class BGExtract(object):
|
||||
raw_verse_num = content.next
|
||||
clean_verse_num = 0
|
||||
# Not all verses exist in all translations and may or may not be
|
||||
# represented by a verse number. If they are not fine, if they are
|
||||
# it will probably be in a format that breaks int(). We will then
|
||||
# represented by a verse number. If they are not fine, if they are
|
||||
# it will probably be in a format that breaks int(). We will then
|
||||
# have no idea what garbage may be sucked in to the verse text so
|
||||
# if we do not get a clean int() then ignore the verse completely.
|
||||
try:
|
||||
@ -384,7 +384,7 @@ class HTTPBible(BibleDB):
|
||||
BibleDB.__init__(self, parent, **kwargs)
|
||||
self.download_source = kwargs[u'download_source']
|
||||
self.download_name = kwargs[u'download_name']
|
||||
# TODO: Clean up proxy stuff. We probably want one global proxy per
|
||||
# TODO: Clean up proxy stuff. We probably want one global proxy per
|
||||
# connection type (HTTP and HTTPS) at most.
|
||||
self.proxy_server = None
|
||||
self.proxy_username = None
|
||||
@ -458,8 +458,8 @@ class HTTPBible(BibleDB):
|
||||
search_results = self.get_chapter(book, reference[1])
|
||||
if search_results and search_results.has_verselist():
|
||||
## We have found a book of the bible lets check to see
|
||||
## if it was there. By reusing the returned book name
|
||||
## we get a correct book. For example it is possible
|
||||
## if it was there. By reusing the returned book name
|
||||
## we get a correct book. For example it is possible
|
||||
## to request ac and get Acts back.
|
||||
bookname = search_results.book
|
||||
Receiver.send_message(u'openlp_process_events')
|
||||
|
@ -265,7 +265,7 @@ class BibleManager(object):
|
||||
'Scripture Reference Error'),
|
||||
u'message': translate('BiblesPlugin.BibleManager',
|
||||
'Your scripture reference is either not supported by OpenLP '
|
||||
'or is invalid. Please make sure your reference conforms to '
|
||||
'or is invalid. Please make sure your reference conforms to '
|
||||
'one of the following patterns:\n\n'
|
||||
'Book Chapter\n'
|
||||
'Book Chapter-Chapter\n'
|
||||
|
@ -63,7 +63,7 @@ class MediaPlugin(Plugin):
|
||||
if ext not in list:
|
||||
list.append(ext)
|
||||
self.serviceManager.supportedSuffixes(extension[1:])
|
||||
log.info(u'MediaPlugin: %s extensions: %s' % (mimetype,
|
||||
log.info(u'MediaPlugin: %s extensions: %s' % (mimetype,
|
||||
u' '.join(extensions)))
|
||||
|
||||
def about(self):
|
||||
|
@ -211,8 +211,8 @@ class ImpressDocument(PresentationDocument):
|
||||
"""
|
||||
Called when a presentation is added to the SlideController.
|
||||
It builds the environment, starts communcations with the background
|
||||
OpenOffice task started earlier. If OpenOffice is not present is is
|
||||
started. Once the environment is available the presentation is loaded
|
||||
OpenOffice task started earlier. If OpenOffice is not present is is
|
||||
started. Once the environment is available the presentation is loaded
|
||||
and started.
|
||||
|
||||
``presentation``
|
||||
|
@ -213,6 +213,7 @@ class Controller(object):
|
||||
def poll(self):
|
||||
self.doc.poll_slidenumber(self.is_live)
|
||||
|
||||
|
||||
class MessageListener(object):
|
||||
"""
|
||||
This is the Presentation listener who acts on events from the slide
|
||||
|
@ -357,7 +357,7 @@ class PresentationController(object):
|
||||
def __init__(self, plugin=None, name=u'PresentationController',
|
||||
document_class=PresentationDocument):
|
||||
"""
|
||||
This is the constructor for the presentationcontroller object. This
|
||||
This is the constructor for the presentationcontroller object. This
|
||||
provides an easy way for descendent plugins to populate common data.
|
||||
This method *must* be overridden, like so::
|
||||
|
||||
|
@ -43,7 +43,7 @@ log = logging.getLogger(__name__)
|
||||
class HttpServer(object):
|
||||
"""
|
||||
Ability to control OpenLP via a webbrowser
|
||||
e.g. http://localhost:4316/send/slidecontroller_live_next
|
||||
e.g. http://localhost:4316/send/slidecontroller_live_next
|
||||
http://localhost:4316/send/alerts_text?q=your%20alert%20text
|
||||
"""
|
||||
def __init__(self, parent):
|
||||
|
@ -557,7 +557,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog):
|
||||
"""
|
||||
Check the validity of the song.
|
||||
"""
|
||||
# This checks data in the form *not* self.song. self.song is still
|
||||
# This checks data in the form *not* self.song. self.song is still
|
||||
# None at this point.
|
||||
log.debug(u'Validate Song')
|
||||
# Lets be nice and assume the data is correct.
|
||||
@ -714,14 +714,14 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog):
|
||||
def saveSong(self, preview=False):
|
||||
"""
|
||||
Get all the data from the widgets on the form, and then save it to the
|
||||
database. The form has been validated and all reference items
|
||||
database. The form has been validated and all reference items
|
||||
(Authors, Books and Topics) have been saved before this function is
|
||||
called.
|
||||
|
||||
``preview``
|
||||
Should be ``True`` if the song is also previewed (boolean).
|
||||
"""
|
||||
# The Song() assignment. No database calls should be made while a
|
||||
# The Song() assignment. No database calls should be made while a
|
||||
# Song() is in a partially complete state.
|
||||
if not self.song:
|
||||
self.song = Song()
|
||||
|
@ -96,7 +96,7 @@ class EasiSlidesImport(SongImport):
|
||||
mandatory=False):
|
||||
"""
|
||||
Add imported values to the song model converting them to unicode at the
|
||||
same time. If the unicode decode fails or a mandatory attribute is not
|
||||
same time. If the unicode decode fails or a mandatory attribute is not
|
||||
present _success is set to False so the importer can react
|
||||
appropriately.
|
||||
|
||||
|
@ -72,7 +72,7 @@ def strip_rtf(blob, encoding):
|
||||
elif control_str == 'tab':
|
||||
clear_text.append(u'\t')
|
||||
# Prefer the encoding specified by the RTF data to that
|
||||
# specified by the Paradox table header
|
||||
# specified by the Paradox table header
|
||||
# West European encoding
|
||||
elif control_str == 'fcharset0':
|
||||
encoding = u'cp1252'
|
||||
@ -129,6 +129,7 @@ class FieldDescEntry:
|
||||
self.type = type
|
||||
self.size = size
|
||||
|
||||
|
||||
class EasyWorshipSongImport(SongImport):
|
||||
"""
|
||||
The :class:`EasyWorshipSongImport` class provides OpenLP with the
|
||||
@ -163,7 +164,7 @@ class EasyWorshipSongImport(SongImport):
|
||||
if code_page == 852:
|
||||
self.encoding = u'cp1250'
|
||||
# The following codepage to actual encoding mappings have not been
|
||||
# observed, but merely guessed. Actual example files are needed.
|
||||
# observed, but merely guessed. Actual example files are needed.
|
||||
elif code_page == 737:
|
||||
self.encoding = u'cp1253'
|
||||
elif code_page == 775:
|
||||
|
@ -133,6 +133,7 @@ class FoilPresenterImport(SongImport):
|
||||
log.exception(u'XML syntax error in file %s' % file_path)
|
||||
return True
|
||||
|
||||
|
||||
class FoilPresenter(object):
|
||||
"""
|
||||
This class represents the converter for Foilpresenter XML from a song.
|
||||
@ -259,7 +260,6 @@ class FoilPresenter(object):
|
||||
copyright = None
|
||||
if copyright:
|
||||
strings = []
|
||||
author_temp = []
|
||||
if copyright.find(u'Copyright') != -1:
|
||||
temp = copyright.partition(u'Copyright')
|
||||
copyright = temp[0]
|
||||
@ -296,7 +296,7 @@ class FoilPresenter(object):
|
||||
u'Text +u\.?n?d? +Musik', u'T & M', u'Melodie und Satz',
|
||||
u'Text[\w\,\. ]*:', u'Melodie', u'Musik', u'Satz',
|
||||
u'Weise', u'[dD]eutsch', u'[dD]t[\.\:]', u'Englisch',
|
||||
u'[oO]riginal', u'Bearbeitung', u'[R|r]efrain']
|
||||
u'[oO]riginal', u'Bearbeitung', u'[R|r]efrain']
|
||||
for marker in markers:
|
||||
copyright = re.compile(marker).sub(u'<marker>', copyright, re.U)
|
||||
copyright = re.compile(u'(?<=<marker>) *:').sub(u'', copyright)
|
||||
@ -305,7 +305,7 @@ class FoilPresenter(object):
|
||||
while i != 1:
|
||||
if copyright.find(u'<marker>') != -1:
|
||||
temp = copyright.partition(u'<marker>')
|
||||
if (temp[0].strip() != u'') & (x > 0):
|
||||
if temp[0].strip() and x > 0:
|
||||
strings.append(temp[0])
|
||||
copyright = temp[2]
|
||||
x += 1
|
||||
@ -330,12 +330,12 @@ class FoilPresenter(object):
|
||||
author = author.strip()
|
||||
if re.search(
|
||||
u'\w+\.?\s+\w{3,}\s+[a|u]nd\s|\w+\.?\s+\w{3,}\s+&\s',
|
||||
author, re.U) != None:
|
||||
author, re.U):
|
||||
temp = re.split(u'\s[a|u]nd\s|\s&\s', author)
|
||||
for tempx in temp:
|
||||
tempx = tempx.strip()
|
||||
authors.append(tempx)
|
||||
elif (len(author) > 2):
|
||||
elif len(author) > 2:
|
||||
authors.append(author)
|
||||
for display_name in authors:
|
||||
author = self.manager.get_object_filtered(Author,
|
||||
@ -411,7 +411,7 @@ class FoilPresenter(object):
|
||||
temp_verse_order_backup = []
|
||||
temp_sortnr_backup = 1
|
||||
temp_sortnr_liste = []
|
||||
versenumber = {u'V': 1, u'C': 1, u'B': 1, u'E': 1, u'O': 1, u'I': 1,
|
||||
versenumber = {u'V': 1, u'C': 1, u'B': 1, u'E': 1, u'O': 1, u'I': 1,
|
||||
u'P': 1}
|
||||
for strophe in foilpresenterfolie.strophen.strophe:
|
||||
text = self._child(strophe.text_)
|
||||
|
@ -53,6 +53,7 @@ class SongSearch(object):
|
||||
Authors = 4
|
||||
Themes = 5
|
||||
|
||||
|
||||
class SongMediaItem(MediaManagerItem):
|
||||
"""
|
||||
This is the custom media manager item for Songs.
|
||||
@ -199,7 +200,7 @@ class SongMediaItem(MediaManagerItem):
|
||||
"""
|
||||
log.debug(u'onSongListLoad')
|
||||
# Called to redisplay the song list screen edit from a search
|
||||
# or from the exit of the Song edit dialog. If remote editing is active
|
||||
# or from the exit of the Song edit dialog. If remote editing is active
|
||||
# Trigger it and clean up so it will not update again.
|
||||
if self.remoteTriggered == u'L':
|
||||
self.onAddClick()
|
||||
@ -218,13 +219,9 @@ class SongMediaItem(MediaManagerItem):
|
||||
self.listView.clear()
|
||||
searchresults.sort(cmp=self.collateSongTitles)
|
||||
for song in searchresults:
|
||||
author_list = u''
|
||||
for author in song.authors:
|
||||
if author_list != u'':
|
||||
author_list = author_list + u', '
|
||||
author_list = author_list + author.display_name
|
||||
author_list = [author.display_name for author in song.authors]
|
||||
song_title = unicode(song.title)
|
||||
song_detail = u'%s (%s)' % (song_title, author_list)
|
||||
song_detail = u'%s (%s)' % (song_title, u', '.join(author_list))
|
||||
song_name = QtGui.QListWidgetItem(song_detail)
|
||||
song_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(song.id))
|
||||
self.listView.addItem(song_name)
|
||||
@ -334,9 +331,6 @@ class SongMediaItem(MediaManagerItem):
|
||||
def generateSlideData(self, service_item, item=None, xmlVersion=False):
|
||||
log.debug(u'generateSlideData (%s:%s)' % (service_item, item))
|
||||
raw_footer = []
|
||||
author_list = u''
|
||||
author_audit = []
|
||||
ccli = u''
|
||||
item_id = self._getIdOfItemToGenerate(item, self.remoteSong)
|
||||
service_item.add_capability(ItemCapabilities.AllowsEdit)
|
||||
service_item.add_capability(ItemCapabilities.AllowsPreview)
|
||||
@ -397,13 +391,9 @@ class SongMediaItem(MediaManagerItem):
|
||||
for slide in verses:
|
||||
service_item.add_from_text(slide[:30], unicode(slide))
|
||||
service_item.title = song.title
|
||||
for author in song.authors:
|
||||
if len(author_list) > 1:
|
||||
author_list = author_list + u', '
|
||||
author_list = author_list + unicode(author.display_name)
|
||||
author_audit.append(unicode(author.display_name))
|
||||
author_list = [unicode(author.display_name) for author in song.authors]
|
||||
raw_footer.append(song.title)
|
||||
raw_footer.append(author_list)
|
||||
raw_footer.append(u', '.join(author_list))
|
||||
raw_footer.append(song.copyright)
|
||||
if QtCore.QSettings().value(u'general/ccli number',
|
||||
QtCore.QVariant(u'')).toString():
|
||||
@ -413,10 +403,10 @@ class SongMediaItem(MediaManagerItem):
|
||||
QtCore.QVariant(u'')).toString()))
|
||||
service_item.raw_footer = raw_footer
|
||||
service_item.audit = [
|
||||
song.title, author_audit, song.copyright, unicode(song.ccli_number)
|
||||
song.title, author_list, song.copyright, unicode(song.ccli_number)
|
||||
]
|
||||
service_item.data_string = {u'title': song.search_title,
|
||||
u'authors': author_list}
|
||||
u'authors': u', '.join(author_list)}
|
||||
service_item.xml_version = self.openLyrics.song_to_xml(song)
|
||||
return True
|
||||
|
||||
|
@ -36,7 +36,6 @@ from openlp.plugins.songs.lib.songimport import SongImport
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
#TODO: Use lxml for parsing and make sure we use methods of "SongImport" .
|
||||
class OpenSongImport(SongImport):
|
||||
"""
|
||||
Import songs exported from OpenSong
|
||||
|
@ -347,7 +347,7 @@ class SongImport(QtCore.QObject):
|
||||
"""
|
||||
For debugging
|
||||
"""
|
||||
print u'========================================' \
|
||||
print u'========================================' \
|
||||
+ u'========================================'
|
||||
print u'TITLE: ' + self.title
|
||||
print u'ALT TITLE: ' + self.alternate_title
|
||||
|
Loading…
Reference in New Issue
Block a user