← Back to team overview

openlp-core team mailing list archive

[Merge] lp:~googol-hush/openlp/docs into lp:openlp

 

Andreas Preikschat has proposed merging lp:~googol-hush/openlp/docs into lp:openlp.

Requested reviews:
  OpenLP Core (openlp-core)

For more details, see:
https://code.launchpad.net/~googol-hush/openlp/docs/+merge/48519

Merged (not redundant) parts of documentation/SongFormat.txt into the songs/lib/db module and removed it. Added the media_files and media_files_songs tables (although the doc is not complete there).
-- 
https://code.launchpad.net/~googol-hush/openlp/docs/+merge/48519
Your team OpenLP Core is requested to review the proposed merge of lp:~googol-hush/openlp/docs into lp:openlp.
=== removed file 'documentation/SongFormat.txt'
--- documentation/SongFormat.txt	2010-09-14 18:18:47 +0000
+++ documentation/SongFormat.txt	1970-01-01 00:00:00 +0000
@@ -1,124 +0,0 @@
-openlp.org 2.x Song Database Structure
-========================================================================
-
-Introduction
-------------
-The song database in openlp.org 2.x is similar to the 1.x format. The
-biggest differences are the addition of extra tables, and the use of
-SQLite version 3.
-
-The song database contains the following tables:
-- authors
-- authors_songs
-- song_books
-- songs
-- songs_topics
-- topics
-
-
-"authors" Table
----------------
-This table holds the names of all the authors. It has the following
-columns:
-
-* id
-* first_name
-* last_name
-* display_name
-
-
-"authors_songs" Table
----------------------
-This is a bridging table between the "authors" and "songs" tables, which
-serves to create a many-to-many relationship between the two tables. It
-has the following columns:
-
-* author_id
-* song_id
-
-
-"song_books" Table
-------------------
-The "song_books" table holds a list of books that a congregation gets
-their songs from, or old hymnals now no longer used. This table has the
-following columns:
-
-* id
-* name
-* publisher
-
-
-"songs" Table
--------------
-This table contains the songs, and each song has a list of attributes.
-The "songs" table has the following columns:
-
-* id
-* song_book_id
-* title
-* lyrics
-* verse_order
-* copyright
-* comments
-* ccli_number
-* song_number
-* theme_name
-* search_title
-* search_lyrics
-
-
-"songs_topics" Table
---------------------
-This is a bridging table between the "songs" and "topics" tables, which
-serves to create a many-to-many relationship between the two tables. It
-has the following columns:
-
-* song_id
-* topic_id
-
-
-"topics" Table
---------------
-The topics table holds a selection of topics that songs can cover. This
-is useful when a worship leader wants to select songs with a certain
-theme. This table has the following columns:
-
-* id
-* name
-
-
-The lyrics definition (more or less similar to interformat to/from ChangingSong
-The tags <i></i><b></b><u></u> can also be used within the lyrics test.
-
-! Please note that this format has been checked at http://validator.w3.org/#validate_by_upload
-
-<lyrics lang="en_US">
-  <title>Amazing Grace</title>
-  <verse name="v1">
-    <theme>name of verse specific theme (optional)</theme>
-    <comment>any text (optional)</comment>
-    <part name="men">
-	Amazing grace, how ...
-    </part>
-    <part name="women">
-	A b c
-	D e f
-    </part>
-    ...
-  </verse>
-  <verse name="c">
-    <theme>name of verse specific theme (optional)</theme>
-    <comment>any text (optional)</comment>
-    ...
-  </verse>
-</lyrics>
-<lyrics lang="de_DE">
-  <title>Erstaunliche Anmut</title>
-  <verse name="v1">
-    Erstaunliche Anmut, wie
-    ...
-  </verse>
-  <verse name="c">
-    ...
-  </verse>
-</lyrics>

=== modified file 'openlp/plugins/bibles/lib/__init__.py'
--- openlp/plugins/bibles/lib/__init__.py	2011-01-21 16:20:47 +0000
+++ openlp/plugins/bibles/lib/__init__.py	2011-02-03 17:47:11 +0000
@@ -77,9 +77,9 @@
     - After a verse reference all further single values are treat as verse in
       the last selected chapter.
         ``John 3:16-18`` refers to John chapter 3 verses 16 to 18
-    - After a list separator it is possible to refer to additional verses.  They
-      are build analog to the first ones.  This way it is possible to define
-      each number of verse references.  It is not possible to refer to verses in
+    - After a list separator it is possible to refer to additional verses. They
+      are build analog to the first ones. This way it is possible to define each
+      number of verse references. It is not possible to refer to verses in
       additional books.
         ``John 3:16,18`` refers to John chapter 3 verses 16 and 18
         ``John 3:16-18,20`` refers to John chapter 3 verses 16 to 18 and 20
@@ -91,7 +91,7 @@
     ``range_string`` is a regular expression which matches for verse range
     declarations:
 
-    1. ``(?:(?P<from_chapter>[0-9]+)%(sep_v)s)?'
+    1. ``(?:(?P<from_chapter>[0-9]+)%(sep_v)s)?``
         It starts with a optional chapter reference ``from_chapter`` followed by
         a verse separator.
     2. ``(?P<from_verse>[0-9]+)``
@@ -105,7 +105,7 @@
     5. ``(?P<to_verse>[0-9]+)``
         The ``to_verse`` reference is equivalent to group 2.
 
-    The full reference is matched against get_reference_match(u'full').  This
+    The full reference is matched against get_reference_match(u'full'). This
     regular expression looks like this:
 
     1. ``^\s*(?!\s)(?P<book>[\d]*[^\d]+)(?<!\s)\s*``
@@ -113,7 +113,7 @@
         are optional leading digits followed by non-digits. The group ends
         before the whitspace in front of the next digit.
     2. ``(?P<ranges>(?:`` + range_string + ``(?:%(sep_l)s|(?=\s*$)))+)\s*$``
-        The second group contains all ``ranges``.  This can be multiple
+        The second group contains all ``ranges``. This can be multiple
         declarations of a range_string separated by a list separator.
 
     The reference list is a list of tuples, with each tuple structured like

=== modified file 'openlp/plugins/songs/forms/songmaintenanceform.py'
--- openlp/plugins/songs/forms/songmaintenanceform.py	2011-02-03 01:55:12 +0000
+++ openlp/plugins/songs/forms/songmaintenanceform.py	2011-02-03 17:47:11 +0000
@@ -484,19 +484,19 @@
 
     def onAuthorsListRowChanged(self, row):
         """
-        Called when the *authorsListWidget*s current row has changed.
+        Called when the *authorsListWidget*'s current row has changed.
         """
         self.__rowChange(row, self.authorsEditButton, self.authorsDeleteButton)
 
     def onTopicsListRowChanged(self, row):
         """
-        Called when the *topicsListWidget*s current row has changed.
+        Called when the *topicsListWidget*'s current row has changed.
         """
         self.__rowChange(row, self.topicsEditButton, self.topicsDeleteButton)
 
     def onBooksListRowChanged(self, row):
         """
-        Called when the *booksListWidget*s current row has changed.
+        Called when the *booksListWidget*'s current row has changed.
         """
         self.__rowChange(row, self.booksEditButton, self.booksDeleteButton)
 

=== modified file 'openlp/plugins/songs/lib/db.py'
--- openlp/plugins/songs/lib/db.py	2011-01-17 00:52:00 +0000
+++ openlp/plugins/songs/lib/db.py	2011-02-03 17:47:11 +0000
@@ -39,6 +39,7 @@
     """
     pass
 
+
 class Book(BaseModel):
     """
     Book model
@@ -47,30 +48,115 @@
         return u'<Book id="%s" name="%s" publisher="%s" />' % (
             str(self.id), self.name, self.publisher)
 
+
 class MediaFile(BaseModel):
     """
     MediaFile model
     """
     pass
 
+
 class Song(BaseModel):
     """
     Song model
     """
     pass
 
+
 class Topic(BaseModel):
     """
     Topic model
     """
     pass
 
+
 def init_schema(url):
+
     """
-    Setup the songs database connection and initialise the database schema
+    Setup the songs database connection and initialise the database schema.
 
     ``url``
         The database to setup
+
+    The song database contains the following tables:
+
+        * authors
+        * authors_songs
+        * media_files
+        * media_files_songs
+        * song_books
+        * songs
+        * songs_topics
+        * topics
+
+    **authors** Table
+        This table holds the names of all the authors. It has the following
+        columns:
+
+        * id
+        * first_name
+        * last_name
+        * display_name
+
+    **authors_songs Table**
+        This is a bridging table between the *authors* and *songs* tables, which
+        serves to create a many-to-many relationship between the two tables. It
+        has the following columns:
+
+        * author_id
+        * song_id
+
+    **media_files Table**
+        * id
+        * file_name
+        * type
+
+    **media_files_songs Table**
+        * media_file_id
+        * song_id
+
+    **song_books Table**
+        The *song_books* table holds a list of books that a congregation gets
+        their songs from, or old hymnals now no longer used. This table has the
+        following columns:
+
+        * id
+        * name
+        * publisher
+
+    **songs Table**
+        This table contains the songs, and each song has a list of attributes.
+        The *songs* table has the following columns:
+
+        * id
+        * song_book_id
+        * title
+        * alternate_title
+        * lyrics
+        * verse_order
+        * copyright
+        * comments
+        * ccli_number
+        * song_number
+        * theme_name
+        * search_title
+        * search_lyrics
+
+    **songs_topics Table**
+        This is a bridging table between the *songs* and *topics* tables, which
+        serves to create a many-to-many relationship between the two tables. It
+        has the following columns:
+
+        * song_id
+        * topic_id
+
+    **topics Table**
+        The topics table holds a selection of topics that songs can cover. This
+        is useful when a worship leader wants to select songs with a certain
+        theme. This table has the following columns:
+
+        * id
+        * name
     """
     session, metadata = init_db(url)
 


Follow ups