forked from openlp/openlp
Added an initial ServiceItem, plus a few minor changes.
bzr-revno: 296
This commit is contained in:
parent
ffeada555d
commit
3f0ba7a3ba
@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE UserProject SYSTEM "UserProject-4.0.dtd">
|
<!DOCTYPE UserProject SYSTEM "UserProject-4.0.dtd">
|
||||||
<!-- eric4 user project file for project openlp.org 2.0 -->
|
<!-- eric4 user project file for project openlp.org 2.0 -->
|
||||||
<!-- Saved: 2009-01-27, 23:44:25 -->
|
<!-- Saved: 2009-02-02, 23:04:02 -->
|
||||||
<!-- Copyright (C) 2009 Raoul Snyman, raoulsnyman@openlp.org -->
|
<!-- Copyright (C) 2009 Raoul Snyman, raoulsnyman@openlp.org -->
|
||||||
<UserProject version="4.0">
|
<UserProject version="4.0">
|
||||||
</UserProject>
|
</UserProject>
|
@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE Tasks SYSTEM "Tasks-4.2.dtd">
|
<!DOCTYPE Tasks SYSTEM "Tasks-4.2.dtd">
|
||||||
<!-- eric4 tasks file for project openlp.org 2.0 -->
|
<!-- eric4 tasks file for project openlp.org 2.0 -->
|
||||||
<!-- Saved: 2009-01-27, 23:44:25 -->
|
<!-- Saved: 2009-02-02, 23:04:03 -->
|
||||||
<Tasks version="4.2">
|
<Tasks version="4.2">
|
||||||
<Task priority="1" completed="False" bugfix="False">
|
<Task priority="1" completed="False" bugfix="False">
|
||||||
<Summary>TODO: what is the tags for bridge, pre-chorus?</Summary>
|
<Summary>TODO: what is the tags for bridge, pre-chorus?</Summary>
|
||||||
|
@ -24,6 +24,7 @@ from settingstab import SettingsTab
|
|||||||
from mediamanageritem import MediaManagerItem
|
from mediamanageritem import MediaManagerItem
|
||||||
from event import Event
|
from event import Event
|
||||||
from xmlrootclass import XmlRootClass
|
from xmlrootclass import XmlRootClass
|
||||||
|
from serviceitem import ServiceItem
|
||||||
|
|
||||||
__all__ = ['PluginConfig', 'Plugin', 'PluginUtils', 'SettingsTab', 'MediaManagerItem', 'Event',
|
__all__ = ['PluginConfig', 'Plugin', 'PluginUtils', 'SettingsTab', 'MediaManagerItem', 'Event',
|
||||||
'XmlRootClass']
|
'XmlRootClass', 'ServiceItem']
|
||||||
|
@ -75,20 +75,22 @@ class MediaManagerItem(QtGui.QWidget):
|
|||||||
if tooltip is not None:
|
if tooltip is not None:
|
||||||
ToolbarButton.setToolTip(tooltip)
|
ToolbarButton.setToolTip(tooltip)
|
||||||
if slot is not None:
|
if slot is not None:
|
||||||
QtCore.QObject.connect(ToolbarButton, QtCore.SIGNAL("triggered()"), slot)
|
QtCore.QObject.connect(ToolbarButton, QtCore.SIGNAL('triggered()'), slot)
|
||||||
|
|
||||||
def addToolbarSeparator(self):
|
def addToolbarSeparator(self):
|
||||||
"""
|
"""
|
||||||
A very simple method to add a separator to the toolbar.
|
A very simple method to add a separator to the toolbar.
|
||||||
"""
|
"""
|
||||||
self.Toolbar.addSeparator()
|
self.Toolbar.addSeparator()
|
||||||
|
|
||||||
def getInputFile(self, dialogname, dialoglocation, dialogfilter):
|
def getInputFile(self, dialogname, dialoglocation, dialogfilter):
|
||||||
return QtGui.QFileDialog.getOpenFileName(self, dialogname,dialoglocation, dialogfilter)
|
return QtGui.QFileDialog.getOpenFileName(self, dialogname,
|
||||||
|
dialoglocation, dialogfilter)
|
||||||
|
|
||||||
def getInputFiles(self, dialogname, dialoglocation, dialogfilter):
|
def getInputFiles(self, dialogname, dialoglocation, dialogfilter):
|
||||||
return QtGui.QFileDialog.getOpenFileNames(self, dialogname,dialoglocation, dialogfilter)
|
return QtGui.QFileDialog.getOpenFileNames(self, dialogname,
|
||||||
|
dialoglocation, dialogfilter)
|
||||||
|
|
||||||
def refresh(self):
|
def refresh(self):
|
||||||
self.update()
|
self.update()
|
||||||
|
|
||||||
|
39
openlp/core/lib/serviceitem.py
Normal file
39
openlp/core/lib/serviceitem.py
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4
|
||||||
|
"""
|
||||||
|
OpenLP - Open Source Lyrics Projection
|
||||||
|
Copyright (c) 2008 Raoul Snyman
|
||||||
|
Portions copyright (c) 2008 Martin Thompson, Tim Bentley
|
||||||
|
|
||||||
|
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
|
||||||
|
"""
|
||||||
|
|
||||||
|
class ServiceItem():
|
||||||
|
"""
|
||||||
|
The service item is a base class for the plugins to use to interact with
|
||||||
|
the service manager, the slide controller, and the renderer.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def render(self):
|
||||||
|
"""
|
||||||
|
The render method is what the plugin uses to render it's meda to the
|
||||||
|
screen.
|
||||||
|
"""
|
||||||
|
pass
|
||||||
|
|
||||||
|
def get_parent_node(self):
|
||||||
|
"""
|
||||||
|
This method returns a parent node to be inserted into the Service
|
||||||
|
Manager.
|
||||||
|
"""
|
||||||
|
pass
|
@ -15,7 +15,7 @@ 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
|
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
|
||||||
Place, Suite 330, Boston, MA 02111-1307 USA
|
Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
"""
|
"""
|
||||||
import os
|
import os
|
||||||
import logging
|
import logging
|
||||||
import sqlite3
|
import sqlite3
|
||||||
from openlp.core.lib import PluginConfig
|
from openlp.core.lib import PluginConfig
|
||||||
@ -37,7 +37,7 @@ mapper(Song, songs_table,
|
|||||||
'book': relation(Book, backref='songs'),
|
'book': relation(Book, backref='songs'),
|
||||||
'topics': relation(Topic, backref='songs',
|
'topics': relation(Topic, backref='songs',
|
||||||
secondary=songs_topics_table)})
|
secondary=songs_topics_table)})
|
||||||
mapper(Topic, topics_table)
|
mapper(Topic, topics_table)
|
||||||
|
|
||||||
class MigrateSongs():
|
class MigrateSongs():
|
||||||
def __init__(self, display):
|
def __init__(self, display):
|
||||||
@ -51,39 +51,45 @@ class MigrateSongs():
|
|||||||
self.display.output("Songs processing started");
|
self.display.output("Songs processing started");
|
||||||
for f in self.database_files:
|
for f in self.database_files:
|
||||||
self.v_1_9_0(f)
|
self.v_1_9_0(f)
|
||||||
self.display.output("Songs processing finished");
|
self.display.output("Songs processing finished");
|
||||||
|
|
||||||
def v_1_9_0(self, database):
|
def v_1_9_0(self, database):
|
||||||
self.display.output("Migration 1.9.0 Started for "+database);
|
self.display.output("Migration 1.9.0 Started for "+database);
|
||||||
self._v1_9_0_authors(database)
|
self._v1_9_0_authors(database)
|
||||||
self._v1_9_0_topics(database)
|
self._v1_9_0_topics(database)
|
||||||
self._v1_9_0_songbook(database)
|
self._v1_9_0_songbook(database)
|
||||||
self._v1_9_0_songauthors(database)
|
self._v1_9_0_songauthors(database)
|
||||||
self._v1_9_0_songtopics(database)
|
self._v1_9_0_songtopics(database)
|
||||||
self._v1_9_0_songs(database)
|
self._v1_9_0_songs(database)
|
||||||
self._v1_9_0_songs_update(database)
|
self._v1_9_0_songs_update(database)
|
||||||
|
|
||||||
self.display.output("Migration 1.9.0 Finished for " + database);
|
self.display.output("Migration 1.9.0 Finished for " + database);
|
||||||
|
|
||||||
def _v1_9_0_authors(self, database):
|
def _v1_9_0_authors(self, database):
|
||||||
self.display.sub_output("Authors Started for "+database);
|
self.display.sub_output("Authors Started for "+database);
|
||||||
conn = sqlite3.connect(self.data_path+os.sep+database)
|
conn = sqlite3.connect(self.data_path+os.sep+database)
|
||||||
|
conn.execute("""alter table authors rename to authors_temp;""")
|
||||||
|
conn.commit()
|
||||||
|
|
||||||
|
conn.execute("""create table authors add column display_name varchar(255);""")
|
||||||
|
conn.commit()
|
||||||
|
self.display.sub_output("first name created")
|
||||||
conn.execute("""alter table authors add column first_name varchar(128);""")
|
conn.execute("""alter table authors add column first_name varchar(128);""")
|
||||||
conn.commit()
|
conn.commit()
|
||||||
self.display.sub_output("first name created")
|
self.display.sub_output("first name created")
|
||||||
conn.execute("""alter table authors add column last_name varchar(128);""")
|
conn.execute("""alter table authors add column last_name varchar(128);""")
|
||||||
conn.commit()
|
conn.commit()
|
||||||
self.display.sub_output("last name created")
|
self.display.sub_output("last name created")
|
||||||
conn.execute("""create index if not exists author1 on authors (display_name ASC,id ASC);""")
|
conn.execute("""create index if not exists author_display_name on authors (display_name ASC,id ASC);""")
|
||||||
conn.commit()
|
conn.commit()
|
||||||
self.display.sub_output("index author1 created")
|
self.display.sub_output("index author1 created")
|
||||||
conn.execute("""create index if not exists author2 on authors (last_name ASC,id ASC);""")
|
conn.execute("""create index if not exists author_last_name on authors (last_name ASC,id ASC);""")
|
||||||
conn.commit()
|
conn.commit()
|
||||||
self.display.sub_output("index author2 created")
|
self.display.sub_output("index author2 created")
|
||||||
conn.execute("""create index if not exists author3 on authors (first_name ASC,id ASC);""")
|
conn.execute("""create index if not exists author_first_name on authors (first_name ASC,id ASC);""")
|
||||||
conn.commit()
|
conn.commit()
|
||||||
self.display.sub_output("index author3 created")
|
self.display.sub_output("index author3 created")
|
||||||
self.display.sub_output("Author Data Migration started")
|
self.display.sub_output("Author Data Migration started")
|
||||||
c = conn.cursor()
|
c = conn.cursor()
|
||||||
text = c.execute("""select * from authors """) .fetchall()
|
text = c.execute("""select * from authors """) .fetchall()
|
||||||
for author in text:
|
for author in text:
|
||||||
@ -94,14 +100,15 @@ class MigrateSongs():
|
|||||||
afn = dispname[:pos]
|
afn = dispname[:pos]
|
||||||
aln = dispname[pos + 1:len(dispname)]
|
aln = dispname[pos + 1:len(dispname)]
|
||||||
#txt = text[2]
|
#txt = text[2]
|
||||||
s = "update authors set first_name = '" + afn + "' ,last_name = '" + aln + "' where id = " +str(author[0])
|
s = "update authors set display_name = '" + dispname + "', first_name = '" + afn + "', last_name = '" + aln + "' where id = " +str(author[0])
|
||||||
text1 = c.execute(s)
|
text1 = c.execute(s)
|
||||||
|
conn.commit()
|
||||||
|
conn.execute("""alter table authors drop column authorname;""")
|
||||||
conn.commit()
|
conn.commit()
|
||||||
conn.close()
|
conn.close()
|
||||||
self.display.sub_output("Author Data Migration Completed")
|
self.display.sub_output("Author Data Migration Completed")
|
||||||
self.display.sub_output("Authors Completed");
|
self.display.sub_output("Authors Completed");
|
||||||
|
|
||||||
def _v1_9_0_topics(self, database):
|
def _v1_9_0_topics(self, database):
|
||||||
self.display.sub_output("Topics Started for "+database);
|
self.display.sub_output("Topics Started for "+database);
|
||||||
conn = sqlite3.connect(self.data_path+os.sep+database)
|
conn = sqlite3.connect(self.data_path+os.sep+database)
|
||||||
@ -114,11 +121,11 @@ class MigrateSongs():
|
|||||||
self.display.sub_output("topicname added")
|
self.display.sub_output("topicname added")
|
||||||
conn.execute("""create index if not exists topic1 on topics (name ASC,id ASC);""")
|
conn.execute("""create index if not exists topic1 on topics (name ASC,id ASC);""")
|
||||||
conn.commit()
|
conn.commit()
|
||||||
conn.close()
|
conn.close()
|
||||||
self.display.sub_output("index topic1 created")
|
self.display.sub_output("index topic1 created")
|
||||||
|
|
||||||
self.display.sub_output("Topics Completed");
|
self.display.sub_output("Topics Completed");
|
||||||
|
|
||||||
def _v1_9_0_songbook(self, database):
|
def _v1_9_0_songbook(self, database):
|
||||||
self.display.sub_output("SongBook Started for "+database);
|
self.display.sub_output("SongBook Started for "+database);
|
||||||
conn = sqlite3.connect(self.data_path+os.sep+database)
|
conn = sqlite3.connect(self.data_path+os.sep+database)
|
||||||
@ -132,14 +139,14 @@ class MigrateSongs():
|
|||||||
conn.commit()
|
conn.commit()
|
||||||
self.display.sub_output("songbook_publisher added")
|
self.display.sub_output("songbook_publisher added")
|
||||||
conn.execute("""create index if not exists songbook1 on song_books (name ASC,id ASC);""")
|
conn.execute("""create index if not exists songbook1 on song_books (name ASC,id ASC);""")
|
||||||
conn.commit()
|
conn.commit()
|
||||||
self.display.sub_output("index songbook1 created")
|
self.display.sub_output("index songbook1 created")
|
||||||
conn.execute("""create index if not exists songbook2 on song_books (publisher ASC,id ASC);""")
|
conn.execute("""create index if not exists songbook2 on song_books (publisher ASC,id ASC);""")
|
||||||
conn.commit()
|
conn.commit()
|
||||||
conn.close()
|
conn.close()
|
||||||
self.display.sub_output("index songbook2 created")
|
self.display.sub_output("index songbook2 created")
|
||||||
self.display.sub_output("SongBook Completed");
|
self.display.sub_output("SongBook Completed");
|
||||||
|
|
||||||
def _v1_9_0_songtopics(self, database):
|
def _v1_9_0_songtopics(self, database):
|
||||||
self.display.sub_output("Songtopics Started for "+database);
|
self.display.sub_output("Songtopics Started for "+database);
|
||||||
conn = sqlite3.connect(self.data_path+os.sep+database)
|
conn = sqlite3.connect(self.data_path+os.sep+database)
|
||||||
@ -150,24 +157,24 @@ class MigrateSongs():
|
|||||||
conn.commit()
|
conn.commit()
|
||||||
self.display.sub_output("songtopics_topic_id added")
|
self.display.sub_output("songtopics_topic_id added")
|
||||||
conn.execute("""create index if not exists songtopic1 on song_topics (topic_id ASC,song_id ASC);""")
|
conn.execute("""create index if not exists songtopic1 on song_topics (topic_id ASC,song_id ASC);""")
|
||||||
conn.commit()
|
conn.commit()
|
||||||
self.display.sub_output("index songbook1 created")
|
self.display.sub_output("index songbook1 created")
|
||||||
conn.execute("""create index if not exists songbook2 on song_topics (song_id ASC,topic_id ASC);""")
|
conn.execute("""create index if not exists songbook2 on song_topics (song_id ASC,topic_id ASC);""")
|
||||||
conn.commit()
|
conn.commit()
|
||||||
conn.close()
|
conn.close()
|
||||||
self.display.sub_output("index songbook2 created")
|
self.display.sub_output("index songbook2 created")
|
||||||
self.display.sub_output("SongTopics Completed");
|
self.display.sub_output("SongTopics Completed");
|
||||||
|
|
||||||
def _v1_9_0_songauthors(self, database):
|
def _v1_9_0_songauthors(self, database):
|
||||||
self.display.sub_output("SongAuthors Started for "+database);
|
self.display.sub_output("SongAuthors Started for "+database);
|
||||||
conn = sqlite3.connect(self.data_path+os.sep+database)
|
conn = sqlite3.connect(self.data_path+os.sep+database)
|
||||||
conn.execute("""alter table songauthors rename to authors_songs;""")
|
conn.execute("""alter table songauthors rename to authors_songs;""")
|
||||||
conn.commit()
|
conn.commit()
|
||||||
conn.close()
|
conn.close()
|
||||||
self.display.sub_output("Table Renamed")
|
self.display.sub_output("Table Renamed")
|
||||||
self.display.sub_output("SongAuthors Completed");
|
self.display.sub_output("SongAuthors Completed");
|
||||||
|
|
||||||
|
|
||||||
def _v1_9_0_songs(self, database):
|
def _v1_9_0_songs(self, database):
|
||||||
self.display.sub_output("Songs Started for "+database);
|
self.display.sub_output("Songs Started for "+database);
|
||||||
conn = sqlite3.connect(self.data_path+os.sep+database)
|
conn = sqlite3.connect(self.data_path+os.sep+database)
|
||||||
@ -188,24 +195,24 @@ class MigrateSongs():
|
|||||||
self.display.sub_output("songs song_number added")
|
self.display.sub_output("songs song_number added")
|
||||||
conn.execute("""alter table songs add theme_name varchar(128);""")
|
conn.execute("""alter table songs add theme_name varchar(128);""")
|
||||||
conn.commit()
|
conn.commit()
|
||||||
self.display.sub_output("songs theme_name added")
|
self.display.sub_output("songs theme_name added")
|
||||||
conn.execute("""alter table songs add search_title varchar(255);""")
|
conn.execute("""alter table songs add search_title varchar(255);""")
|
||||||
conn.commit()
|
conn.commit()
|
||||||
self.display.sub_output("songs search_title added")
|
self.display.sub_output("songs search_title added")
|
||||||
conn.execute("""alter table songs add search_lyrics text;""")
|
conn.execute("""alter table songs add search_lyrics text;""")
|
||||||
conn.commit()
|
conn.commit()
|
||||||
self.display.sub_output("songs search_lyrics added")
|
self.display.sub_output("songs search_lyrics added")
|
||||||
|
|
||||||
conn.execute("""create index if not exists songs1 on songs (search_lyrics ASC,id ASC);""")
|
conn.execute("""create index if not exists songs1 on songs (search_lyrics ASC,id ASC);""")
|
||||||
conn.commit()
|
conn.commit()
|
||||||
self.display.sub_output("index songs1 created")
|
self.display.sub_output("index songs1 created")
|
||||||
conn.execute("""create index if not exists songs2 on songs (search_title ASC,id ASC);""")
|
conn.execute("""create index if not exists songs2 on songs (search_title ASC,id ASC);""")
|
||||||
conn.commit()
|
conn.commit()
|
||||||
conn.close()
|
conn.close()
|
||||||
self.display.sub_output("index songs2 created")
|
self.display.sub_output("index songs2 created")
|
||||||
self.display.sub_output("Songs Completed");
|
self.display.sub_output("Songs Completed");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def _v1_9_0_songs_update(self, database):
|
def _v1_9_0_songs_update(self, database):
|
||||||
self.display.sub_output("Songs Started for "+database);
|
self.display.sub_output("Songs Started for "+database);
|
||||||
@ -224,31 +231,31 @@ class MigrateSongs():
|
|||||||
t=t.replace("'", "")
|
t=t.replace("'", "")
|
||||||
t=t.replace(",", "")
|
t=t.replace(",", "")
|
||||||
t=t.replace(";", "")
|
t=t.replace(";", "")
|
||||||
t=t.replace(":", "")
|
t=t.replace(":", "")
|
||||||
t=t.replace("(", "")
|
t=t.replace("(", "")
|
||||||
t=t.replace(")", "")
|
t=t.replace(")", "")
|
||||||
t=t.replace("{", "")
|
t=t.replace("{", "")
|
||||||
t=t.replace("}", "")
|
t=t.replace("}", "")
|
||||||
t=t.replace("?", "")
|
t=t.replace("?", "")
|
||||||
song.search_title = t
|
song.search_title = t
|
||||||
t=song.lyrics.replace("&", "and")
|
t=song.lyrics.replace("&", "and")
|
||||||
t=t.replace("'", "")
|
t=t.replace("'", "")
|
||||||
t=t.replace(",", "")
|
t=t.replace(",", "")
|
||||||
t=t.replace(";", "")
|
t=t.replace(";", "")
|
||||||
t=t.replace(":", "")
|
t=t.replace(":", "")
|
||||||
t=t.replace("(", "")
|
t=t.replace("(", "")
|
||||||
t=t.replace(")", "")
|
t=t.replace(")", "")
|
||||||
t=t.replace("{", "")
|
t=t.replace("{", "")
|
||||||
t=t.replace("}", "")
|
t=t.replace("}", "")
|
||||||
t=t.replace("?", "")
|
t=t.replace("?", "")
|
||||||
song.search_lyrics = t
|
song.search_lyrics = t
|
||||||
song.song_book_id = 0
|
song.song_book_id = 0
|
||||||
Session.save_or_update(song)
|
Session.save_or_update(song)
|
||||||
Session.commit()
|
Session.commit()
|
||||||
|
|
||||||
def run_cmd(self, cmd):
|
def run_cmd(self, cmd):
|
||||||
f_i, f_o = os.popen4(cmd)
|
f_i, f_o = os.popen4(cmd)
|
||||||
out = f_o.readlines()
|
out = f_o.readlines()
|
||||||
if len(out) > 0:
|
if len(out) > 0:
|
||||||
for o in range (0, len(out)):
|
for o in range (0, len(out)):
|
||||||
self.display.sub_output(out[o])
|
self.display.sub_output(out[o])
|
||||||
|
@ -34,8 +34,8 @@ class SongManager():
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
global log
|
global log
|
||||||
log=logging.getLogger("SongManager")
|
log=logging.getLogger('SongManager')
|
||||||
log.info("Song manager loaded")
|
log.info('Song manager loaded')
|
||||||
|
|
||||||
def __init__(self, config):
|
def __init__(self, config):
|
||||||
"""
|
"""
|
||||||
@ -43,24 +43,22 @@ class SongManager():
|
|||||||
don't exist.
|
don't exist.
|
||||||
"""
|
"""
|
||||||
self.config = config
|
self.config = config
|
||||||
log.debug( "Song Initialising")
|
log.debug('Song Initialising')
|
||||||
self.db_url = u''
|
self.db_url = u''
|
||||||
db_type = self.config.get_config(u'db type')
|
db_type = self.config.get_config(u'db type')
|
||||||
if db_type == u'sqlite':
|
if db_type == u'sqlite':
|
||||||
self.db_url = u'sqlite:///' + self.config.get_data_path() + \
|
self.db_url = u'sqlite:///' + self.config.get_data_path() + \
|
||||||
u'/songs.sqlite'
|
u'/songs.sqlite'
|
||||||
print self.db_url
|
|
||||||
else:
|
else:
|
||||||
self.db_url = db_type + 'u://' + \
|
self.db_url = db_type + 'u://' + \
|
||||||
self.config.get_config(u'db username') + u':' + \
|
self.config.get_config(u'db username') + u':' + \
|
||||||
self.config.get_config(u'db password') + u'@' + \
|
self.config.get_config(u'db password') + u'@' + \
|
||||||
self.config.get_config(u'db hostname') + u'/' + \
|
self.config.get_config(u'db hostname') + u'/' + \
|
||||||
self.config.get_config(u'db database')
|
self.config.get_config(u'db database')
|
||||||
#print self.db_url
|
|
||||||
self.session = init_models(self.db_url)
|
self.session = init_models(self.db_url)
|
||||||
if not songs_table.exists():
|
if not songs_table.exists():
|
||||||
metadata.create_all()
|
metadata.create_all()
|
||||||
log.debug( "Song Initialised")
|
log.debug('Song Initialised')
|
||||||
|
|
||||||
def process_dialog(self, dialogobject):
|
def process_dialog(self, dialogobject):
|
||||||
self.dialogobject = dialogobject
|
self.dialogobject = dialogobject
|
||||||
@ -75,13 +73,13 @@ class SongManager():
|
|||||||
"""
|
"""
|
||||||
Searches the song title for keywords.
|
Searches the song title for keywords.
|
||||||
"""
|
"""
|
||||||
return self.session.query(Song).filter(search_title.like(u'%' + keywords + u'%'))
|
return self.session.query(Song).filter(Song.search_title.like(u'%' + keywords + u'%'))
|
||||||
|
|
||||||
def search_song_lyrics(self, keywords):
|
def search_song_lyrics(self, keywords):
|
||||||
"""
|
"""
|
||||||
Searches the song lyrics for keywords.
|
Searches the song lyrics for keywords.
|
||||||
"""
|
"""
|
||||||
return self.session.query(Song).filter(search_lyrics.like(u'%' + keywords + u'%'))
|
return self.session.query(Song).filter(Song.search_lyrics.like(u'%' + keywords + u'%'))
|
||||||
|
|
||||||
def get_song(self, id=None):
|
def get_song(self, id=None):
|
||||||
"""
|
"""
|
||||||
|
Loading…
Reference in New Issue
Block a user