openlp-core team mailing list archive
-
openlp-core team
-
Mailing list archive
-
Message #06495
[Merge] lp:~googol-hush/openlp/trivial into lp:openlp
Andreas Preikschat has proposed merging lp:~googol-hush/openlp/trivial into lp:openlp.
Requested reviews:
Jon Tibble (meths)
Tim Bentley (trb143)
Raoul Snyman (raoul-snyman)
For more details, see:
https://code.launchpad.net/~googol-hush/openlp/trivial/+merge/50966
Hello!
The re-index tool adds 'Author unknown' if songs do not have any author.
Cheers
--
https://code.launchpad.net/~googol-hush/openlp/trivial/+merge/50966
Your team OpenLP Core is subscribed to branch lp:openlp.
=== modified file 'openlp/plugins/songs/lib/songimport.py'
--- openlp/plugins/songs/lib/songimport.py 2011-02-20 00:05:50 +0000
+++ openlp/plugins/songs/lib/songimport.py 2011-02-23 17:48:20 +0000
@@ -270,8 +270,6 @@
"""
All fields have been set to this song. Write the song to disk.
"""
- if not self.authors:
- self.authors.append(SongStrings.AuthorUnknownUnT)
log.info(u'committing song %s to database', self.title)
song = Song()
song.title = self.title
@@ -315,10 +313,19 @@
author = self.manager.get_object_filtered(Author,
Author.display_name == authortext)
if not author:
- author = Author.populate(display_name = authortext,
+ author = Author.populate(display_name=authortext,
last_name=authortext.split(u' ')[-1],
first_name=u' '.join(authortext.split(u' ')[:-1]))
song.authors.append(author)
+ # No author, add the default author.
+ if not song.authors:
+ name = SongStrings.AuthorUnknown
+ author = self.manager.get_object_filtered(
+ Author, Author.display_name == name)
+ if not author:
+ author = Author.populate(
+ display_name=name, last_name=u'', first_name=u'')
+ song.authors.append(author)
for filename in self.media_files:
media_file = self.manager.get_object_filtered(MediaFile,
MediaFile.file_name == filename)
=== modified file 'openlp/plugins/songs/lib/ui.py'
--- openlp/plugins/songs/lib/ui.py 2011-02-16 17:54:31 +0000
+++ openlp/plugins/songs/lib/ui.py 2011-02-23 17:48:20 +0000
@@ -36,8 +36,7 @@
# These strings should need a good reason to be retranslated elsewhere.
Author = translate('OpenLP.Ui', 'Author', 'Singular')
Authors = translate('OpenLP.Ui', 'Authors', 'Plural')
- AuthorUnknown = translate('OpenLP.Ui', 'Author Unknown') # Used in the UI.
- AuthorUnknownUnT = u'Author Unknown' # Used to populate the database.
+ AuthorUnknown = u'Author Unknown' # Used to populate the database.
CopyrightSymbol = translate('OpenLP.Ui', '\xa9', 'Copyright symbol.')
SongBook = translate('OpenLP.Ui', 'Song Book', 'Singular')
SongBooks = translate('OpenLP.Ui', 'Song Books', 'Plural')
=== modified file 'openlp/plugins/songs/lib/xml.py'
--- openlp/plugins/songs/lib/xml.py 2011-02-20 17:34:57 +0000
+++ openlp/plugins/songs/lib/xml.py 2011-02-23 17:48:20 +0000
@@ -374,8 +374,6 @@
display_name = self._text(author)
if display_name:
authors.append(display_name)
- if not authors:
- authors.append(SongStrings.AuthorUnknownUnT)
for display_name in authors:
author = self.manager.get_object_filtered(Author,
Author.display_name == display_name)
@@ -384,7 +382,14 @@
author = Author.populate(display_name=display_name,
last_name=display_name.split(u' ')[-1],
first_name=u' '.join(display_name.split(u' ')[:-1]))
- self.manager.save_object(author)
+ # The song does not have an author, add a default author.
+ if not song.authors:
+ name = SongStrings.AuthorUnknown
+ author = self.manager.get_object_filtered(
+ Author, Author.display_name == name)
+ if author is None:
+ author = Author.populate(
+ display_name=name, last_name=u'', first_name=u'')
song.authors.append(author)
def _process_cclinumber(self, properties, song):
=== modified file 'openlp/plugins/songs/songsplugin.py'
--- openlp/plugins/songs/songsplugin.py 2011-02-18 01:07:55 +0000
+++ openlp/plugins/songs/songsplugin.py 2011-02-23 17:48:20 +0000
@@ -33,8 +33,9 @@
from openlp.core.lib.db import Manager
from openlp.core.lib.ui import UiStrings
from openlp.plugins.songs.lib import SongMediaItem, SongsTab, SongXML
-from openlp.plugins.songs.lib.db import init_schema, Song
+from openlp.plugins.songs.lib.db import Author, init_schema, Song
from openlp.plugins.songs.lib.importer import SongFormat
+from openlp.plugins.songs.lib.ui import SongStrings
log = logging.getLogger(__name__)
@@ -145,6 +146,15 @@
counter = 0
for song in songs:
counter += 1
+ # The song does not have any author, add one.
+ if not song.authors:
+ name = SongStrings.AuthorUnknown
+ author = self.manager.get_object_filtered(Author,
+ Author.display_name == name)
+ if author is None:
+ author = Author.populate(
+ display_name=name, last_name=u'', first_name=u'')
+ song.authors.append(author)
if song.title is None:
song.title = u''
if song.alternate_title is None:
Follow ups