Merge lp:~meths/openlp/trivialfixes into lp:openlp
- trivialfixes
- Merge into trunk
Proposed by
Jon Tibble
Status: | Merged |
---|---|
Merged at revision: | not available |
Proposed branch: | lp:~meths/openlp/trivialfixes |
Merge into: | lp:openlp |
Diff against target: |
1560 lines 30 files modified
openlp.pyw (+3/-2) openlp/core/lib/__init__.py (+1/-0) openlp/core/lib/pluginconfig.py (+9/-9) openlp/core/lib/renderer.py (+0/-2) openlp/core/lib/serviceitem.py (+2/-2) openlp/core/lib/settingstab.py (+1/-1) openlp/core/test/test_render.py (+22/-18) openlp/core/test/test_render_theme.py (+53/-55) openlp/core/theme/test/test_theme.py (+43/-41) openlp/core/ui/amendthemeform.py (+3/-2) openlp/core/ui/servicemanager.py (+0/-2) openlp/core/ui/slidecontroller.py (+2/-2) openlp/core/ui/test/test_service_manager.py (+2/-1) openlp/migration/display.py (+2/-2) openlp/migration/migratesongs.py (+0/-1) openlp/plugins/bibles/forms/bibleimportform.py (+13/-8) openlp/plugins/bibles/lib/bibleDBimpl.py (+4/-4) openlp/plugins/bibles/lib/bibleHTTPimpl.py (+9/-10) openlp/plugins/bibles/lib/bibleOSISimpl.py (+2/-2) openlp/plugins/bibles/lib/manager.py (+13/-13) openlp/plugins/bibles/lib/mediaitem.py (+6/-6) openlp/plugins/bibles/test/test_bibleManager.py (+2/-1) openlp/plugins/bibles/test/test_bibleManagerAPI.py (+2/-1) openlp/plugins/bibles/test/test_bibleManagerCSV.py (+2/-1) openlp/plugins/bibles/test/test_bibleManagerOSIS.py (+2/-1) openlp/plugins/presentations/lib/impresscontroller.py (+1/-1) openlp/plugins/presentations/lib/powerpointcontroller.py (+8/-9) openlp/plugins/songs/lib/manager.py (+1/-1) openlp/plugins/songs/lib/mediaitem.py (+2/-2) openlp/plugins/songs/lib/songxml.py (+83/-82) |
To merge this branch: | bzr merge lp:~meths/openlp/trivialfixes |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Tim Bentley | Approve | ||
Review via email:
|
Commit message
Description of the change
To post a comment you must log in.
lp:~meths/openlp/trivialfixes
updated
- 573. By Jon Tibble
-
None testing and clean ups
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'openlp.pyw' | |||
2 | --- openlp.pyw 2009-09-25 04:34:13 +0000 | |||
3 | +++ openlp.pyw 2009-09-25 23:10:22 +0000 | |||
4 | @@ -24,9 +24,10 @@ | |||
5 | 24 | ############################################################################### | 24 | ############################################################################### |
6 | 25 | 25 | ||
7 | 26 | import sys | 26 | import sys |
9 | 27 | import logging, logging.handlers | 27 | import logging |
10 | 28 | import logging.handlers | ||
11 | 29 | |||
12 | 28 | from optparse import OptionParser | 30 | from optparse import OptionParser |
13 | 29 | |||
14 | 30 | from PyQt4 import QtCore, QtGui | 31 | from PyQt4 import QtCore, QtGui |
15 | 31 | 32 | ||
16 | 32 | from openlp.core.lib import Receiver, str_to_bool | 33 | from openlp.core.lib import Receiver, str_to_bool |
17 | 33 | 34 | ||
18 | === modified file 'openlp/core/lib/__init__.py' | |||
19 | --- openlp/core/lib/__init__.py 2009-09-21 19:23:51 +0000 | |||
20 | +++ openlp/core/lib/__init__.py 2009-09-25 23:10:22 +0000 | |||
21 | @@ -28,6 +28,7 @@ | |||
22 | 28 | """ | 28 | """ |
23 | 29 | 29 | ||
24 | 30 | import types | 30 | import types |
25 | 31 | |||
26 | 31 | from PyQt4 import QtCore, QtGui | 32 | from PyQt4 import QtCore, QtGui |
27 | 32 | 33 | ||
28 | 33 | def translate(context, text): | 34 | def translate(context, text): |
29 | 34 | 35 | ||
30 | === modified file 'openlp/core/lib/pluginconfig.py' | |||
31 | --- openlp/core/lib/pluginconfig.py 2009-09-08 19:58:05 +0000 | |||
32 | +++ openlp/core/lib/pluginconfig.py 2009-09-25 23:10:22 +0000 | |||
33 | @@ -107,17 +107,17 @@ | |||
34 | 107 | files = os.listdir(self.get_data_path()) | 107 | files = os.listdir(self.get_data_path()) |
35 | 108 | except: | 108 | except: |
36 | 109 | return [] | 109 | return [] |
38 | 110 | if suffix != None: | 110 | if suffix is not None: |
39 | 111 | return_files = [] | 111 | return_files = [] |
46 | 112 | for f in files: | 112 | for file in files: |
47 | 113 | if f.find(u'.') != -1: | 113 | if file.find(u'.') != -1: |
48 | 114 | nme = f.split(u'.') | 114 | filename = file.split(u'.') |
49 | 115 | bname = nme[0] | 115 | #bname = nme[0] |
50 | 116 | sfx = nme[1].lower() | 116 | filesuffix = filename[1].lower() |
51 | 117 | sfx = sfx.lower() | 117 | filesuffix = filesuffix.lower() |
52 | 118 | # only load files with the correct suffix | 118 | # only load files with the correct suffix |
55 | 119 | if suffix.find(sfx) > -1 : | 119 | if suffix.find(filesuffix) > -1 : |
56 | 120 | return_files.append(f) | 120 | return_files.append(file) |
57 | 121 | return return_files | 121 | return return_files |
58 | 122 | else: | 122 | else: |
59 | 123 | # no filtering required | 123 | # no filtering required |
60 | 124 | 124 | ||
61 | === modified file 'openlp/core/lib/renderer.py' | |||
62 | --- openlp/core/lib/renderer.py 2009-09-25 00:43:42 +0000 | |||
63 | +++ openlp/core/lib/renderer.py 2009-09-25 23:10:22 +0000 | |||
64 | @@ -151,7 +151,6 @@ | |||
65 | 151 | The footer of the slide. | 151 | The footer of the slide. |
66 | 152 | """ | 152 | """ |
67 | 153 | log.debug(u'format_slide - Start') | 153 | log.debug(u'format_slide - Start') |
68 | 154 | verses = [] | ||
69 | 155 | words = words.replace(u'\r\n', u'\n') | 154 | words = words.replace(u'\r\n', u'\n') |
70 | 156 | verses_text = words.split(u'\n') | 155 | verses_text = words.split(u'\n') |
71 | 157 | text = [] | 156 | text = [] |
72 | @@ -174,7 +173,6 @@ | |||
73 | 174 | split_pages = [] | 173 | split_pages = [] |
74 | 175 | page = [] | 174 | page = [] |
75 | 176 | split_lines = [] | 175 | split_lines = [] |
76 | 177 | count = 0 | ||
77 | 178 | for line in text: | 176 | for line in text: |
78 | 179 | #Must be a blank line so keep it. | 177 | #Must be a blank line so keep it. |
79 | 180 | if len(line) == 0: | 178 | if len(line) == 0: |
80 | 181 | 179 | ||
81 | === modified file 'openlp/core/lib/serviceitem.py' | |||
82 | --- openlp/core/lib/serviceitem.py 2009-09-25 00:43:42 +0000 | |||
83 | +++ openlp/core/lib/serviceitem.py 2009-09-25 23:10:22 +0000 | |||
84 | @@ -88,7 +88,7 @@ | |||
85 | 88 | self.frames = [] | 88 | self.frames = [] |
86 | 89 | if self.service_item_type == ServiceType.Text: | 89 | if self.service_item_type == ServiceType.Text: |
87 | 90 | log.debug(u'Formatting slides') | 90 | log.debug(u'Formatting slides') |
89 | 91 | if self.theme == None: | 91 | if self.theme is None: |
90 | 92 | self.RenderManager.set_override_theme(None) | 92 | self.RenderManager.set_override_theme(None) |
91 | 93 | else: | 93 | else: |
92 | 94 | self.RenderManager.set_override_theme(self.theme) | 94 | self.RenderManager.set_override_theme(self.theme) |
93 | @@ -114,7 +114,7 @@ | |||
94 | 114 | 114 | ||
95 | 115 | def render_individual(self, row): | 115 | def render_individual(self, row): |
96 | 116 | log.debug(u'render individual') | 116 | log.debug(u'render individual') |
98 | 117 | if self.theme == None: | 117 | if self.theme is None: |
99 | 118 | self.RenderManager.set_override_theme(None) | 118 | self.RenderManager.set_override_theme(None) |
100 | 119 | else: | 119 | else: |
101 | 120 | self.RenderManager.set_override_theme(self.theme) | 120 | self.RenderManager.set_override_theme(self.theme) |
102 | 121 | 121 | ||
103 | === modified file 'openlp/core/lib/settingstab.py' | |||
104 | --- openlp/core/lib/settingstab.py 2009-09-25 00:43:42 +0000 | |||
105 | +++ openlp/core/lib/settingstab.py 2009-09-25 23:10:22 +0000 | |||
106 | @@ -48,7 +48,7 @@ | |||
107 | 48 | self.setupUi() | 48 | self.setupUi() |
108 | 49 | self.retranslateUi() | 49 | self.retranslateUi() |
109 | 50 | self.initialise() | 50 | self.initialise() |
111 | 51 | if section == None: | 51 | if section is None: |
112 | 52 | self.config = PluginConfig(title) | 52 | self.config = PluginConfig(title) |
113 | 53 | else: | 53 | else: |
114 | 54 | self.config = PluginConfig(section) | 54 | self.config = PluginConfig(section) |
115 | 55 | 55 | ||
116 | === modified file 'openlp/core/test/test_render.py' | |||
117 | --- openlp/core/test/test_render.py 2009-09-25 00:43:42 +0000 | |||
118 | +++ openlp/core/test/test_render.py 2009-09-25 23:10:22 +0000 | |||
119 | @@ -17,12 +17,13 @@ | |||
120 | 17 | """ | 17 | """ |
121 | 18 | 18 | ||
122 | 19 | import sys | 19 | import sys |
124 | 20 | import os, os.path | 20 | import os |
125 | 21 | import os.path | ||
126 | 21 | 22 | ||
127 | 22 | from PyQt4 import QtGui, QtCore | 23 | from PyQt4 import QtGui, QtCore |
128 | 23 | 24 | ||
129 | 24 | from openlp.core.theme import Theme | 25 | from openlp.core.theme import Theme |
131 | 25 | from openlp.core import Renderer | 26 | from openlp.core.lib import Renderer |
132 | 26 | 27 | ||
133 | 27 | mypath = os.path.split(os.path.abspath(__file__))[0] | 28 | mypath = os.path.split(os.path.abspath(__file__))[0] |
134 | 28 | sys.path.insert(0, (os.path.join(mypath, '..', '..', '..'))) | 29 | sys.path.insert(0, (os.path.join(mypath, '..', '..', '..'))) |
135 | @@ -104,8 +105,8 @@ | |||
136 | 104 | frame = TstFrame(size = self.size) | 105 | frame = TstFrame(size = self.size) |
137 | 105 | self.frame = frame | 106 | self.frame = frame |
138 | 106 | self.paintdest = frame.GetPixmap() | 107 | self.paintdest = frame.GetPixmap() |
141 | 107 | self.r=Renderer() | 108 | self.renderer = Renderer() |
142 | 108 | self.r.set_paint_dest(self.paintdest) | 109 | self.renderer.set_paint_dest(self.paintdest) |
143 | 109 | self.expected_answer = "Don't know yet" | 110 | self.expected_answer = "Don't know yet" |
144 | 110 | self.answer = None | 111 | self.answer = None |
145 | 111 | print "--------------- Setup Done -------------" | 112 | print "--------------- Setup Done -------------" |
146 | @@ -119,24 +120,27 @@ | |||
147 | 119 | 120 | ||
148 | 120 | def setup_method(self, method): | 121 | def setup_method(self, method): |
149 | 121 | TestRender_base.setup_method(self, method) | 122 | TestRender_base.setup_method(self, method) |
151 | 122 | self.r.set_debug(1) | 123 | self.renderer.set_debug(1) |
152 | 123 | themefile = os.path.abspath(u'data_for_tests/render_theme.xml') | 124 | themefile = os.path.abspath(u'data_for_tests/render_theme.xml') |
157 | 124 | self.r.set_theme(Theme(themefile)) # set default theme | 125 | self.renderer.set_theme(Theme(themefile)) # set default theme |
158 | 125 | self.r._render_background() | 126 | self.renderer._render_background() |
159 | 126 | self.r.set_text_rectangle(QtCore.QRect(0,0, self.size.width()-1, | 127 | self.renderer.set_text_rectangle(QtCore.QRect( |
160 | 127 | self.size.height()-1)) | 128 | 0,0, self.size.width()-1, self.size.height()-1)) |
161 | 128 | self.msg = None | 129 | self.msg = None |
162 | 129 | 130 | ||
163 | 130 | def test_easy(self): | 131 | def test_easy(self): |
165 | 131 | answer = self.r._render_single_line(u'Test line', tlcorner = (0,100)) | 132 | answer = self.renderer._render_single_line( |
166 | 133 | u'Test line', tlcorner = (0,100)) | ||
167 | 132 | assert(answer == (219,163)) | 134 | assert(answer == (219,163)) |
168 | 135 | |||
169 | 133 | def test_longer(self): | 136 | def test_longer(self): |
171 | 134 | answer = self.r._render_single_line( | 137 | answer = self.renderer._render_single_line( |
172 | 135 | u'Test line with more words than fit on one line', | 138 | u'Test line with more words than fit on one line', |
173 | 136 | tlcorner = (10,10)) | 139 | tlcorner = (10,10)) |
174 | 137 | assert(answer == (753,136)) | 140 | assert(answer == (753,136)) |
175 | 141 | |||
176 | 138 | def test_even_longer(self): | 142 | def test_even_longer(self): |
178 | 139 | answer = self.r._render_single_line( | 143 | answer = self.renderer._render_single_line( |
179 | 140 | u'Test line with more words than fit on either one or two lines', | 144 | u'Test line with more words than fit on either one or two lines', |
180 | 141 | tlcorner = (10,10)) | 145 | tlcorner = (10,10)) |
181 | 142 | assert(answer == (753,199)) | 146 | assert(answer == (753,199)) |
182 | @@ -146,7 +150,7 @@ | |||
183 | 146 | lines.append(u'Line Two') | 150 | lines.append(u'Line Two') |
184 | 147 | lines.append(u'Line Three and should be long enough to wrap') | 151 | lines.append(u'Line Three and should be long enough to wrap') |
185 | 148 | lines.append(u'Line Four and should be long enough to wrap also') | 152 | lines.append(u'Line Four and should be long enough to wrap also') |
187 | 149 | answer = self.r._render_lines(lines) | 153 | answer = self.renderer._render_lines(lines) |
188 | 150 | assert(answer == QtCore.QRect(0,0,741,378)) | 154 | assert(answer == QtCore.QRect(0,0,741,378)) |
189 | 151 | 155 | ||
190 | 152 | def test_set_words_openlp(self): | 156 | def test_set_words_openlp(self): |
191 | @@ -161,7 +165,7 @@ | |||
192 | 161 | Line 2 | 165 | Line 2 |
193 | 162 | Line 3""" | 166 | Line 3""" |
194 | 163 | expected_answer = ["Verse 1: Line 1\nLine 2","Verse 2: Line 1\nLine 2","Verse 3: Line 1\nLine 2\nLine 3"] | 167 | expected_answer = ["Verse 1: Line 1\nLine 2","Verse 2: Line 1\nLine 2","Verse 3: Line 1\nLine 2\nLine 3"] |
196 | 164 | answer = self.r.set_words_openlp(words) | 168 | answer = self.renderer.set_words_openlp(words) |
197 | 165 | assert(answer == expected_answer) | 169 | assert(answer == expected_answer) |
198 | 166 | 170 | ||
199 | 167 | def test_render_screens(self): | 171 | def test_render_screens(self): |
200 | @@ -175,14 +179,14 @@ | |||
201 | 175 | Verse 3: Line 1 | 179 | Verse 3: Line 1 |
202 | 176 | Line 2 | 180 | Line 2 |
203 | 177 | Line 3""" | 181 | Line 3""" |
205 | 178 | verses = self.r.set_words_openlp(words) | 182 | verses = self.renderer.set_words_openlp(words) |
206 | 179 | expected_answer = ["Verse 1: Line 1\nLine 2","Verse 2: Line 1\nLine 2","Verse 3: Line 1\nLine 2\nLine 3"] | 183 | expected_answer = ["Verse 1: Line 1\nLine 2","Verse 2: Line 1\nLine 2","Verse 3: Line 1\nLine 2\nLine 3"] |
207 | 180 | assert(verses == expected_answer) | 184 | assert(verses == expected_answer) |
208 | 181 | 185 | ||
209 | 182 | expected_answer = [QtCore.QRect(0,0,397,126), QtCore.QRect(0,0,397,126), | 186 | expected_answer = [QtCore.QRect(0,0,397,126), QtCore.QRect(0,0,397,126), |
210 | 183 | QtCore.QRect(0,0,397,189)] | 187 | QtCore.QRect(0,0,397,189)] |
211 | 184 | for v in range(len(verses)): | 188 | for v in range(len(verses)): |
213 | 185 | answer=self.r.render_screen(v) | 189 | answer=self.renderer.render_screen(v) |
214 | 186 | # print v, answer.x(), answer.y(), answer.width(), answer.height() | 190 | # print v, answer.x(), answer.y(), answer.width(), answer.height() |
215 | 187 | assert(answer == expected_answer[v]) | 191 | assert(answer == expected_answer[v]) |
216 | 188 | 192 | ||
217 | @@ -194,11 +198,11 @@ | |||
218 | 194 | if i == 51: # make an extra long line on line 51 to test wrapping | 198 | if i == 51: # make an extra long line on line 51 to test wrapping |
219 | 195 | extra = "Some more words to make it wrap around don't you know until it wraps so many times we don't know what to do" | 199 | extra = "Some more words to make it wrap around don't you know until it wraps so many times we don't know what to do" |
220 | 196 | lines.append(u'Line %d %s' % (i, extra)) | 200 | lines.append(u'Line %d %s' % (i, extra)) |
222 | 197 | result = self.r.split_set_of_lines(lines) | 201 | result = self.renderer.split_set_of_lines(lines) |
223 | 198 | print "results---------------__", result | 202 | print "results---------------__", result |
224 | 199 | for i in range(len(result)): | 203 | for i in range(len(result)): |
225 | 200 | self.setup_method(None) | 204 | self.setup_method(None) |
227 | 201 | answer = self.r._render_lines(result[i]) | 205 | answer = self.renderer._render_lines(result[i]) |
228 | 202 | print answer | 206 | print answer |
229 | 203 | self.write_to_file(self.frame.GetPixmap(), "split_test_%03d"% i) | 207 | self.write_to_file(self.frame.GetPixmap(), "split_test_%03d"% i) |
230 | 204 | print number, i, answer.x(), answer.y(), answer.width(), \ | 208 | print number, i, answer.x(), answer.y(), answer.width(), \ |
231 | 205 | 209 | ||
232 | === modified file 'openlp/core/test/test_render_theme.py' | |||
233 | --- openlp/core/test/test_render_theme.py 2009-09-25 00:43:42 +0000 | |||
234 | +++ openlp/core/test/test_render_theme.py 2009-09-25 23:10:22 +0000 | |||
235 | @@ -15,6 +15,7 @@ | |||
236 | 15 | this program; if not, write to the Free Software Foundation, Inc., 59 Temple | 15 | this program; if not, write to the Free Software Foundation, Inc., 59 Temple |
237 | 16 | Place, Suite 330, Boston, MA 02111-1307 USA | 16 | Place, Suite 330, Boston, MA 02111-1307 USA |
238 | 17 | """ | 17 | """ |
239 | 18 | |||
240 | 18 | import sys | 19 | import sys |
241 | 19 | import os | 20 | import os |
242 | 20 | 21 | ||
243 | @@ -33,7 +34,7 @@ | |||
244 | 33 | # how close are they? Calculated the sum of absolute differences in | 34 | # how close are they? Calculated the sum of absolute differences in |
245 | 34 | # each channel of each pixel and divide by the number of pixels in the image | 35 | # each channel of each pixel and divide by the number of pixels in the image |
246 | 35 | # if this sum is < threshold, the images are deemed to be "close enough" | 36 | # if this sum is < threshold, the images are deemed to be "close enough" |
248 | 36 | sad=0; | 37 | sad = 0; |
249 | 37 | for x in range(goldenim.width()): | 38 | for x in range(goldenim.width()): |
250 | 38 | for y in range(goldenim.height()): | 39 | for y in range(goldenim.height()): |
251 | 39 | p1=goldenim.pixel(x,y) | 40 | p1=goldenim.pixel(x,y) |
252 | @@ -44,9 +45,7 @@ | |||
253 | 44 | sad /= float(goldenim.width()*goldenim.height()) | 45 | sad /= float(goldenim.width()*goldenim.height()) |
254 | 45 | if (sad < threshold): | 46 | if (sad < threshold): |
255 | 46 | return 1 | 47 | return 1 |
256 | 47 | |||
257 | 48 | return 0 | 48 | return 0 |
258 | 49 | |||
259 | 50 | 49 | ||
260 | 51 | class TestRenderTheme(TestRender_base): | 50 | class TestRenderTheme(TestRender_base): |
261 | 52 | # {{{ Basics | 51 | # {{{ Basics |
262 | @@ -58,15 +57,15 @@ | |||
263 | 58 | TestRender_base.setup_method(self, method) | 57 | TestRender_base.setup_method(self, method) |
264 | 59 | print "Theme setup", method | 58 | print "Theme setup", method |
265 | 60 | # print "setup theme" | 59 | # print "setup theme" |
268 | 61 | self.r.set_theme(Theme(u'blank_theme.xml')) # set "blank" theme | 60 | self.renderer.set_theme(Theme(u'blank_theme.xml')) # set "blank" theme |
269 | 62 | self.r.set_text_rectangle(QtCore.QRect(0,0, self.size.width(), | 61 | self.renderer.set_text_rectangle(QtCore.QRect(0,0, self.size.width(), |
270 | 63 | self.size.height())) | 62 | self.size.height())) |
271 | 64 | words = """How sweet the name of Jesus sounds | 63 | words = """How sweet the name of Jesus sounds |
272 | 65 | In a believer's ear! | 64 | In a believer's ear! |
273 | 66 | It soothes his sorrows, heals his wounds, | 65 | It soothes his sorrows, heals his wounds, |
274 | 67 | And drives away his fear. | 66 | And drives away his fear. |
275 | 68 | """ | 67 | """ |
277 | 69 | verses = self.r.set_words_openlp(words) | 68 | verses = self.renderer.set_words_openlp(words) |
278 | 70 | # usually the same | 69 | # usually the same |
279 | 71 | self.expected_answer = QtCore.QRect(0, 0, 559, 342) | 70 | self.expected_answer = QtCore.QRect(0, 0, 559, 342) |
280 | 72 | self.msg = None | 71 | self.msg = None |
281 | @@ -75,9 +74,9 @@ | |||
282 | 75 | 74 | ||
283 | 76 | def teardown_method(self, method): | 75 | def teardown_method(self, method): |
284 | 77 | print "============ teardown =============", method, self.bmpname | 76 | print "============ teardown =============", method, self.bmpname |
286 | 78 | if self.bmpname != None: | 77 | if self.bmpname is not None: |
287 | 79 | assert (self.compare_DC_to_file(self.bmpname)) | 78 | assert (self.compare_DC_to_file(self.bmpname)) |
289 | 80 | if self.expected_answer != None: # result=None => No result to check | 79 | if self.expected_answer is not None: # result=None => Nothing to check |
290 | 81 | assert self.expected_answer == self.answer | 80 | assert self.expected_answer == self.answer |
291 | 82 | print "============ teardown done =========" | 81 | print "============ teardown done =========" |
292 | 83 | 82 | ||
293 | @@ -104,9 +103,9 @@ | |||
294 | 104 | return False | 103 | return False |
295 | 105 | 104 | ||
296 | 106 | def test_theme_basic(self): | 105 | def test_theme_basic(self): |
298 | 107 | self.answer = self.r.render_screen(0) | 106 | self.answer = self.renderer.render_screen(0) |
299 | 108 | self.bmpname = whoami() | 107 | self.bmpname = whoami() |
301 | 109 | print self.r._theme.FontProportion | 108 | print self.renderer._theme.FontProportion |
302 | 110 | print self.answer, self.expected_answer, \ | 109 | print self.answer, self.expected_answer, \ |
303 | 111 | self.answer == self.expected_answer | 110 | self.answer == self.expected_answer |
304 | 112 | # self.msg=self.bmpname | 111 | # self.msg=self.bmpname |
305 | @@ -116,20 +115,20 @@ | |||
306 | 116 | # {{{ Gradients | 115 | # {{{ Gradients |
307 | 117 | def test_gradient_h(self): | 116 | def test_gradient_h(self): |
308 | 118 | # normally we wouldn't hack with these directly! | 117 | # normally we wouldn't hack with these directly! |
314 | 119 | self.r._theme.BackgroundType = 1 | 118 | self.renderer._theme.BackgroundType = 1 |
315 | 120 | self.r._theme.BackgroundParameter1 = QtGui.QColor(255,0,0) | 119 | self.renderer._theme.BackgroundParameter1 = QtGui.QColor(255,0,0) |
316 | 121 | self.r._theme.BackgroundParameter2 = QtGui.QColor(255,255,0) | 120 | self.renderer._theme.BackgroundParameter2 = QtGui.QColor(255,255,0) |
317 | 122 | self.r._theme.BackgroundParameter3 = 1 | 121 | self.renderer._theme.BackgroundParameter3 = 1 |
318 | 123 | self.answer = self.r.render_screen(0) | 122 | self.answer = self.renderer.render_screen(0) |
319 | 124 | self.bmpname = whoami() | 123 | self.bmpname = whoami() |
320 | 125 | 124 | ||
321 | 126 | def test_gradient_v(self): | 125 | def test_gradient_v(self): |
322 | 127 | # normally we wouldn't hack with these directly! | 126 | # normally we wouldn't hack with these directly! |
328 | 128 | self.r._theme.BackgroundType = 1 | 127 | self.renderer._theme.BackgroundType = 1 |
329 | 129 | self.r._theme.BackgroundParameter1 = QtGui.QColor(255,0,0) | 128 | self.renderer._theme.BackgroundParameter1 = QtGui.QColor(255,0,0) |
330 | 130 | self.r._theme.BackgroundParameter2 = QtGui.QColor(255,255,0) | 129 | self.renderer._theme.BackgroundParameter2 = QtGui.QColor(255,255,0) |
331 | 131 | self.r._theme.BackgroundParameter3 = 0 | 130 | self.renderer._theme.BackgroundParameter3 = 0 |
332 | 132 | self.answer = self.r.render_screen(0) | 131 | self.answer = self.renderer.render_screen(0) |
333 | 133 | self.bmpname = whoami() | 132 | self.bmpname = whoami() |
334 | 134 | # }}} | 133 | # }}} |
335 | 135 | 134 | ||
336 | @@ -142,9 +141,9 @@ | |||
337 | 142 | t.BackgroundParameter2 = QtGui.QColor(0,0,64) | 141 | t.BackgroundParameter2 = QtGui.QColor(0,0,64) |
338 | 143 | t.BackgroundParameter3 = 0 | 142 | t.BackgroundParameter3 = 0 |
339 | 144 | t.Name = "stretch y" | 143 | t.Name = "stretch y" |
341 | 145 | self.r.set_theme(t) | 144 | self.renderer.set_theme(t) |
342 | 146 | print "render" | 145 | print "render" |
344 | 147 | self.answer = self.r.render_screen(0) | 146 | self.answer = self.renderer.render_screen(0) |
345 | 148 | print "whoami" | 147 | print "whoami" |
346 | 149 | self.bmpname = whoami() | 148 | self.bmpname = whoami() |
347 | 150 | print "fone" | 149 | print "fone" |
348 | @@ -156,8 +155,8 @@ | |||
349 | 156 | t.BackgroundParameter2 = QtGui.QColor(0,0,64) | 155 | t.BackgroundParameter2 = QtGui.QColor(0,0,64) |
350 | 157 | t.BackgroundParameter3 = 0 | 156 | t.BackgroundParameter3 = 0 |
351 | 158 | t.Name = "shrink y" | 157 | t.Name = "shrink y" |
354 | 159 | self.r.set_theme(t) | 158 | self.renderer.set_theme(t) |
355 | 160 | self.answer = self.r.render_screen(0) | 159 | self.answer = self.renderer.render_screen(0) |
356 | 161 | self.bmpname = whoami() | 160 | self.bmpname = whoami() |
357 | 162 | 161 | ||
358 | 163 | def test_bg_stretch_x(self): | 162 | def test_bg_stretch_x(self): |
359 | @@ -169,8 +168,8 @@ | |||
360 | 169 | t.BackgroundParameter3 = 0 | 168 | t.BackgroundParameter3 = 0 |
361 | 170 | t.VerticalAlign = 2 | 169 | t.VerticalAlign = 2 |
362 | 171 | t.Name = "stretch x" | 170 | t.Name = "stretch x" |
365 | 172 | self.r.set_theme(t) | 171 | self.renderer.set_theme(t) |
366 | 173 | self.answer = self.r.render_screen(0) | 172 | self.answer = self.renderer.render_screen(0) |
367 | 174 | self.expected_answer = QtCore.QRect(0, 129, 559, 342) | 173 | self.expected_answer = QtCore.QRect(0, 129, 559, 342) |
368 | 175 | self.bmpname = whoami() | 174 | self.bmpname = whoami() |
369 | 176 | 175 | ||
370 | @@ -183,9 +182,9 @@ | |||
371 | 183 | t.BackgroundParameter3 = 0 | 182 | t.BackgroundParameter3 = 0 |
372 | 184 | t.VerticalAlign = 2 | 183 | t.VerticalAlign = 2 |
373 | 185 | t.Name = "shrink x" | 184 | t.Name = "shrink x" |
375 | 186 | self.r.set_theme(t) | 185 | self.renderer.set_theme(t) |
376 | 187 | self.expected_answer = QtCore.QRect(0, 129, 559, 342) | 186 | self.expected_answer = QtCore.QRect(0, 129, 559, 342) |
378 | 188 | self.answer = self.r.render_screen(0) | 187 | self.answer = self.renderer.render_screen(0) |
379 | 189 | self.bmpname = whoami() | 188 | self.bmpname = whoami() |
380 | 190 | # }}} | 189 | # }}} |
381 | 191 | 190 | ||
382 | @@ -196,8 +195,8 @@ | |||
383 | 196 | t.BackgroundParameter1 = QtGui.QColor(0,0,64) | 195 | t.BackgroundParameter1 = QtGui.QColor(0,0,64) |
384 | 197 | t.VerticalAlign = 0 | 196 | t.VerticalAlign = 0 |
385 | 198 | t.Name = "valign top" | 197 | t.Name = "valign top" |
388 | 199 | self.r.set_theme(t) | 198 | self.renderer.set_theme(t) |
389 | 200 | self.answer = self.r.render_screen(0) | 199 | self.answer = self.renderer.render_screen(0) |
390 | 201 | self.bmpname = whoami() | 200 | self.bmpname = whoami() |
391 | 202 | 201 | ||
392 | 203 | def test_theme_vertical_align_bot(self): | 202 | def test_theme_vertical_align_bot(self): |
393 | @@ -206,8 +205,8 @@ | |||
394 | 206 | t.BackgroundParameter1 = QtGui.QColor(0,0,64) | 205 | t.BackgroundParameter1 = QtGui.QColor(0,0,64) |
395 | 207 | t.VerticalAlign = 1 | 206 | t.VerticalAlign = 1 |
396 | 208 | t.Name = "valign bot" | 207 | t.Name = "valign bot" |
399 | 209 | self.r.set_theme(t) | 208 | self.renderer.set_theme(t) |
400 | 210 | self.answer = self.r.render_screen(0) | 209 | self.answer = self.renderer.render_screen(0) |
401 | 211 | self.expected_answer = QtCore.QRect(0, 257, 559, 342) | 210 | self.expected_answer = QtCore.QRect(0, 257, 559, 342) |
402 | 212 | self.bmpname = whoami() | 211 | self.bmpname = whoami() |
403 | 213 | 212 | ||
404 | @@ -217,8 +216,8 @@ | |||
405 | 217 | t.BackgroundParameter1 = QtGui.QColor(0,0,64) | 216 | t.BackgroundParameter1 = QtGui.QColor(0,0,64) |
406 | 218 | t.VerticalAlign = 2 | 217 | t.VerticalAlign = 2 |
407 | 219 | t.Name = "valign cen" | 218 | t.Name = "valign cen" |
410 | 220 | self.r.set_theme(t) | 219 | self.renderer.set_theme(t) |
411 | 221 | self.answer = self.r.render_screen(0) | 220 | self.answer = self.renderer.render_screen(0) |
412 | 222 | self.expected_answer = QtCore.QRect(0, 129, 559, 342) | 221 | self.expected_answer = QtCore.QRect(0, 129, 559, 342) |
413 | 223 | self.bmpname = whoami() | 222 | self.bmpname = whoami() |
414 | 224 | # }}} | 223 | # }}} |
415 | @@ -231,8 +230,8 @@ | |||
416 | 231 | t.VerticalAlign = 0 | 230 | t.VerticalAlign = 0 |
417 | 232 | t.HorizontalAlign = 0 | 231 | t.HorizontalAlign = 0 |
418 | 233 | t.Name = "halign left" | 232 | t.Name = "halign left" |
421 | 234 | self.r.set_theme(t) | 233 | self.renderer.set_theme(t) |
422 | 235 | self.answer = self.r.render_screen(0) | 234 | self.answer = self.renderer.render_screen(0) |
423 | 236 | self.bmpname = whoami() | 235 | self.bmpname = whoami() |
424 | 237 | 236 | ||
425 | 238 | def test_theme_horizontal_align_right(self): | 237 | def test_theme_horizontal_align_right(self): |
426 | @@ -242,9 +241,9 @@ | |||
427 | 242 | t.VerticalAlign = 0 | 241 | t.VerticalAlign = 0 |
428 | 243 | t.HorizontalAlign = 1 | 242 | t.HorizontalAlign = 1 |
429 | 244 | t.Name = "halign right" | 243 | t.Name = "halign right" |
431 | 245 | self.r.set_theme(t) | 244 | self.renderer.set_theme(t) |
432 | 246 | self.expected_answer = QtCore.QRect(0, 0, 800, 342) | 245 | self.expected_answer = QtCore.QRect(0, 0, 800, 342) |
434 | 247 | self.answer = self.r.render_screen(0) | 246 | self.answer = self.renderer.render_screen(0) |
435 | 248 | self.bmpname = whoami() | 247 | self.bmpname = whoami() |
436 | 249 | 248 | ||
437 | 250 | def test_theme_horizontal_align_centre(self): | 249 | def test_theme_horizontal_align_centre(self): |
438 | @@ -254,8 +253,8 @@ | |||
439 | 254 | t.VerticalAlign = 0 | 253 | t.VerticalAlign = 0 |
440 | 255 | t.HorizontalAlign = 2 | 254 | t.HorizontalAlign = 2 |
441 | 256 | t.Name = "halign centre" | 255 | t.Name = "halign centre" |
444 | 257 | self.r.set_theme(t) | 256 | self.renderer.set_theme(t) |
445 | 258 | self.answer = self.r.render_screen(0) | 257 | self.answer = self.renderer.render_screen(0) |
446 | 259 | self.expected_answer = QtCore.QRect(0, 0, 679, 342) | 258 | self.expected_answer = QtCore.QRect(0, 0, 679, 342) |
447 | 260 | self.bmpname = whoami() | 259 | self.bmpname = whoami() |
448 | 261 | 260 | ||
449 | @@ -267,8 +266,8 @@ | |||
450 | 267 | t.HorizontalAlign = 0 | 266 | t.HorizontalAlign = 0 |
451 | 268 | t.WrapStyle = 1 | 267 | t.WrapStyle = 1 |
452 | 269 | t.Name = "halign left lyric" | 268 | t.Name = "halign left lyric" |
455 | 270 | self.r.set_theme(t) | 269 | self.renderer.set_theme(t) |
456 | 271 | self.answer = self.r.render_screen(0) | 270 | self.answer = self.renderer.render_screen(0) |
457 | 272 | self.expected_answer = QtCore.QRect(0, 0, 778, 342) | 271 | self.expected_answer = QtCore.QRect(0, 0, 778, 342) |
458 | 273 | self.bmpname = whoami() | 272 | self.bmpname = whoami() |
459 | 274 | # }}} | 273 | # }}} |
460 | @@ -284,11 +283,11 @@ | |||
461 | 284 | t.Outline = 1 | 283 | t.Outline = 1 |
462 | 285 | t.ShadowColor = QtGui.QColor(64,128,0) | 284 | t.ShadowColor = QtGui.QColor(64,128,0) |
463 | 286 | t.OutlineColor = QtGui.QColor(128,0,0) | 285 | t.OutlineColor = QtGui.QColor(128,0,0) |
469 | 287 | self.r.set_debug(1) | 286 | self.renderer.set_debug(1) |
470 | 288 | self.r.set_theme(t) | 287 | self.renderer.set_theme(t) |
471 | 289 | self.answer = self.r.render_screen(0) | 288 | self.answer = self.renderer.render_screen(0) |
472 | 290 | hoffset = self.r._shadow_offset+2*(self.r._outline_offset) | 289 | hoffset = self.renderer._shadow_offset+2*(self.renderer._outline_offset) |
473 | 291 | voffset = hoffset * (len(self.r.words[0])+1) | 290 | voffset = hoffset * (len(self.renderer.words[0])+1) |
474 | 292 | 291 | ||
475 | 293 | self.expected_answer = QtCore.QRect(0, 0, 559+hoffset, 342+voffset) | 292 | self.expected_answer = QtCore.QRect(0, 0, 559+hoffset, 342+voffset) |
476 | 294 | self.bmpname = whoami() | 293 | self.bmpname = whoami() |
477 | @@ -300,15 +299,14 @@ | |||
478 | 300 | t.BackgroundParameter1 = QtGui.QColor(0,0,64) | 299 | t.BackgroundParameter1 = QtGui.QColor(0,0,64) |
479 | 301 | t.Name = "font" | 300 | t.Name = "font" |
480 | 302 | t.FontName = "Times New Roman" | 301 | t.FontName = "Times New Roman" |
483 | 303 | self.r.set_theme(t) | 302 | self.renderer.set_theme(t) |
484 | 304 | self.answer = self.r.render_screen(0) | 303 | self.answer = self.renderer.render_screen(0) |
485 | 305 | self.expected_answer = QtCore.QRect(0, 0, 499, 336) | 304 | self.expected_answer = QtCore.QRect(0, 0, 499, 336) |
486 | 306 | self.bmpname=whoami() | 305 | self.bmpname=whoami() |
487 | 307 | 306 | ||
488 | 308 | |||
489 | 309 | if __name__ == "__main__": | 307 | if __name__ == "__main__": |
495 | 310 | t = TestRenderTheme() | 308 | test_render_theme = TestRenderTheme() |
496 | 311 | t.setup_class() | 309 | test_render_theme.setup_class() |
497 | 312 | t.setup_method(None) | 310 | test_render_theme.setup_method(None) |
498 | 313 | t.test_bg_stretch_y() | 311 | test_render_theme.test_bg_stretch_y() |
499 | 314 | t.teardown_method(None) | 312 | test_render_theme.teardown_method(None) |
500 | 315 | 313 | ||
501 | === modified file 'openlp/core/theme/test/test_theme.py' | |||
502 | --- openlp/core/theme/test/test_theme.py 2009-09-06 13:57:32 +0000 | |||
503 | +++ openlp/core/theme/test/test_theme.py 2009-09-25 23:10:22 +0000 | |||
504 | @@ -1,55 +1,57 @@ | |||
505 | 1 | import os | 1 | import os |
506 | 2 | import os.path | ||
507 | 2 | import sys | 3 | import sys |
511 | 3 | mypath=os.path.split(os.path.abspath(__file__))[0] | 4 | |
512 | 4 | 5 | from PyQt4 import QtGui | |
513 | 5 | sys.path.insert(0,(os.path.join(mypath, '..' ,'..', '..', '..'))) | 6 | |
514 | 7 | from openlp.core.theme import Theme | ||
515 | 8 | |||
516 | 9 | mypath = os.path.split(os.path.abspath(__file__))[0] | ||
517 | 10 | sys.path.insert(0, (os.path.join(mypath, '..', '..', '..', '..'))) | ||
518 | 11 | |||
519 | 6 | print sys.path | 12 | print sys.path |
520 | 7 | 13 | ||
521 | 8 | from openlp.core.theme import Theme | ||
522 | 9 | import os.path | ||
523 | 10 | from PyQt4 import QtGui | ||
524 | 11 | def test_read_theme(): | 14 | def test_read_theme(): |
526 | 12 | dir=os.path.split(__file__)[0] | 15 | dir = os.path.split(__file__)[0] |
527 | 13 | # test we can read a theme | 16 | # test we can read a theme |
545 | 14 | t=Theme(os.path.join(dir, 'test_theme.xml')) | 17 | theme = Theme(os.path.join(dir, 'test_theme.xml')) |
546 | 15 | print t | 18 | print theme |
547 | 16 | assert(t.BackgroundParameter1 == 'sunset1.jpg') | 19 | assert(theme.BackgroundParameter1 == 'sunset1.jpg') |
548 | 17 | assert(t.BackgroundParameter2 == None) | 20 | assert(theme.BackgroundParameter2 is None) |
549 | 18 | assert(t.BackgroundParameter3 == None) | 21 | assert(theme.BackgroundParameter3 is None) |
550 | 19 | assert(t.BackgroundType == 2) | 22 | assert(theme.BackgroundType == 2) |
551 | 20 | assert(t.FontColor == QtGui.QColor(255,255,255)) | 23 | assert(theme.FontColor == QtGui.QColor(255,255,255)) |
552 | 21 | assert(t.FontName == 'Tahoma') | 24 | assert(theme.FontName == 'Tahoma') |
553 | 22 | assert(t.FontProportion == 16) | 25 | assert(theme.FontProportion == 16) |
554 | 23 | assert(t.FontUnits == 'pixels') | 26 | assert(theme.FontUnits == 'pixels') |
555 | 24 | assert(t.HorizontalAlign == 2) | 27 | assert(theme.HorizontalAlign == 2) |
556 | 25 | assert(t.Name == 'openlp.org Packaged Theme') | 28 | assert(theme.Name == 'openlp.org Packaged Theme') |
557 | 26 | assert(t.Outline == -1) | 29 | assert(theme.Outline == -1) |
558 | 27 | assert(t.OutlineColor == QtGui.QColor(255,0,0)) | 30 | assert(theme.OutlineColor == QtGui.QColor(255,0,0)) |
559 | 28 | assert(t.Shadow == -1) | 31 | assert(theme.Shadow == -1) |
560 | 29 | assert(t.ShadowColor == QtGui.QColor(0,0,1)) | 32 | assert(theme.ShadowColor == QtGui.QColor(0,0,1)) |
561 | 30 | assert(t.VerticalAlign == 0) | 33 | assert(theme.VerticalAlign == 0) |
562 | 34 | |||
563 | 31 | def test_theme(): | 35 | def test_theme(): |
564 | 32 | # test we create a "blank" theme correctly | 36 | # test we create a "blank" theme correctly |
581 | 33 | t=Theme() | 37 | theme = Theme() |
582 | 34 | print t | 38 | print theme |
583 | 35 | assert(t.BackgroundParameter1 == QtGui.QColor(0,0,0)) | 39 | assert(theme.BackgroundParameter1 == QtGui.QColor(0,0,0)) |
584 | 36 | assert(t.BackgroundParameter2 == None) | 40 | assert(theme.BackgroundParameter2 is None) |
585 | 37 | assert(t.BackgroundParameter3 == None) | 41 | assert(theme.BackgroundParameter3 is None) |
586 | 38 | assert(t.BackgroundType == 0) | 42 | assert(theme.BackgroundType == 0) |
587 | 39 | assert(t.FontColor == QtGui.QColor(255,255,255)) | 43 | assert(theme.FontColor == QtGui.QColor(255,255,255)) |
588 | 40 | assert(t.FontName == 'Arial') | 44 | assert(theme.FontName == 'Arial') |
589 | 41 | assert(t.FontProportion == 30) | 45 | assert(theme.FontProportion == 30) |
590 | 42 | assert(t.HorizontalAlign == 0) | 46 | assert(theme.HorizontalAlign == 0) |
591 | 43 | assert(t.FontUnits == 'pixels') | 47 | assert(theme.FontUnits == 'pixels') |
592 | 44 | assert(t.Name == 'BlankStyle') | 48 | assert(theme.Name == 'BlankStyle') |
593 | 45 | assert(t.Outline == 0) | 49 | assert(theme.Outline == 0) |
594 | 46 | assert(t.Shadow == 0) | 50 | assert(theme.Shadow == 0) |
595 | 47 | assert(t.VerticalAlign == 0) | 51 | assert(theme.VerticalAlign == 0) |
580 | 48 | |||
596 | 49 | 52 | ||
597 | 50 | print "Tests passed" | 53 | print "Tests passed" |
598 | 51 | 54 | ||
599 | 52 | |||
600 | 53 | if __name__ == "__main__": | 55 | if __name__ == "__main__": |
601 | 54 | test_read_theme() | 56 | test_read_theme() |
602 | 55 | test_theme() | 57 | test_theme() |
603 | 56 | 58 | ||
604 | === modified file 'openlp/core/ui/amendthemeform.py' | |||
605 | --- openlp/core/ui/amendthemeform.py 2009-09-25 00:43:42 +0000 | |||
606 | +++ openlp/core/ui/amendthemeform.py 2009-09-25 23:10:23 +0000 | |||
607 | @@ -23,7 +23,8 @@ | |||
608 | 23 | ############################################################################### | 23 | ############################################################################### |
609 | 24 | 24 | ||
610 | 25 | import logging | 25 | import logging |
612 | 26 | import os, os.path | 26 | import os |
613 | 27 | import os.path | ||
614 | 27 | 28 | ||
615 | 28 | from PyQt4 import QtCore, QtGui | 29 | from PyQt4 import QtCore, QtGui |
616 | 29 | 30 | ||
617 | @@ -178,7 +179,7 @@ | |||
618 | 178 | 179 | ||
619 | 179 | def loadTheme(self, theme): | 180 | def loadTheme(self, theme): |
620 | 180 | log.debug(u'LoadTheme %s', theme) | 181 | log.debug(u'LoadTheme %s', theme) |
622 | 181 | if theme == None: | 182 | if theme is None: |
623 | 182 | self.theme.parse(self.thememanager.baseTheme()) | 183 | self.theme.parse(self.thememanager.baseTheme()) |
624 | 183 | else: | 184 | else: |
625 | 184 | xml_file = os.path.join(self.path, theme, theme + u'.xml') | 185 | xml_file = os.path.join(self.path, theme, theme + u'.xml') |
626 | 185 | 186 | ||
627 | === modified file 'openlp/core/ui/servicemanager.py' | |||
628 | --- openlp/core/ui/servicemanager.py 2009-09-25 00:43:42 +0000 | |||
629 | +++ openlp/core/ui/servicemanager.py 2009-09-25 23:10:23 +0000 | |||
630 | @@ -420,8 +420,6 @@ | |||
631 | 420 | self.config.set_last_dir(filename) | 420 | self.config.set_last_dir(filename) |
632 | 421 | try: | 421 | try: |
633 | 422 | zip = zipfile.ZipFile(unicode(filename)) | 422 | zip = zipfile.ZipFile(unicode(filename)) |
634 | 423 | filexml = None | ||
635 | 424 | themename = None | ||
636 | 425 | for file in zip.namelist(): | 423 | for file in zip.namelist(): |
637 | 426 | if os.name == u'nt': | 424 | if os.name == u'nt': |
638 | 427 | winfile = string.replace(file, '/', os.path.sep) | 425 | winfile = string.replace(file, '/', os.path.sep) |
639 | 428 | 426 | ||
640 | === modified file 'openlp/core/ui/slidecontroller.py' | |||
641 | --- openlp/core/ui/slidecontroller.py 2009-09-25 14:13:33 +0000 | |||
642 | +++ openlp/core/ui/slidecontroller.py 2009-09-25 23:10:23 +0000 | |||
643 | @@ -292,7 +292,7 @@ | |||
644 | 292 | label = QtGui.QLabel() | 292 | label = QtGui.QLabel() |
645 | 293 | label.setMargin(8) | 293 | label.setMargin(8) |
646 | 294 | #It is a Image | 294 | #It is a Image |
648 | 295 | if frame[u'text'] == None: | 295 | if frame[u'text'] is None: |
649 | 296 | pixmap = self.parent.RenderManager.resize_image(frame[u'image']) | 296 | pixmap = self.parent.RenderManager.resize_image(frame[u'image']) |
650 | 297 | label.setScaledContents(True) | 297 | label.setScaledContents(True) |
651 | 298 | label.setPixmap(QtGui.QPixmap.fromImage(pixmap)) | 298 | label.setPixmap(QtGui.QPixmap.fromImage(pixmap)) |
652 | @@ -340,7 +340,7 @@ | |||
653 | 340 | label = self.PreviewListWidget.cellWidget(row, 0) | 340 | label = self.PreviewListWidget.cellWidget(row, 0) |
654 | 341 | frame = self.serviceitem.frames[row][u'image'] | 341 | frame = self.serviceitem.frames[row][u'image'] |
655 | 342 | before = time.time() | 342 | before = time.time() |
657 | 343 | if frame == None: | 343 | if frame is None: |
658 | 344 | frame = self.serviceitem.render_individual(row) | 344 | frame = self.serviceitem.render_individual(row) |
659 | 345 | self.SlidePreview.setPixmap(QtGui.QPixmap.fromImage(frame)) | 345 | self.SlidePreview.setPixmap(QtGui.QPixmap.fromImage(frame)) |
660 | 346 | log.info(u'Slide Rendering took %4s' % (time.time() - before)) | 346 | log.info(u'Slide Rendering took %4s' % (time.time() - before)) |
661 | 347 | 347 | ||
662 | === modified file 'openlp/core/ui/test/test_service_manager.py' | |||
663 | --- openlp/core/ui/test/test_service_manager.py 2009-09-25 00:43:42 +0000 | |||
664 | +++ openlp/core/ui/test/test_service_manager.py 2009-09-25 23:10:23 +0000 | |||
665 | @@ -17,7 +17,8 @@ | |||
666 | 17 | """ | 17 | """ |
667 | 18 | 18 | ||
668 | 19 | import sys | 19 | import sys |
670 | 20 | import os, os.path | 20 | import os |
671 | 21 | import os.path | ||
672 | 21 | import logging | 22 | import logging |
673 | 22 | 23 | ||
674 | 23 | from PyQt4 import QtGui | 24 | from PyQt4 import QtGui |
675 | 24 | 25 | ||
676 | === modified file 'openlp/migration/display.py' | |||
677 | --- openlp/migration/display.py 2009-09-08 19:58:05 +0000 | |||
678 | +++ openlp/migration/display.py 2009-09-25 23:10:23 +0000 | |||
679 | @@ -26,7 +26,7 @@ | |||
680 | 26 | 26 | ||
681 | 27 | class Display(): | 27 | class Display(): |
682 | 28 | global log | 28 | global log |
684 | 29 | log=logging.getLogger(u'Display Logger') | 29 | log = logging.getLogger(u'Display Logger') |
685 | 30 | log.info(u'Display Class loaded') | 30 | log.info(u'Display Class loaded') |
686 | 31 | 31 | ||
687 | 32 | @staticmethod | 32 | @staticmethod |
688 | @@ -36,6 +36,6 @@ | |||
689 | 36 | 36 | ||
690 | 37 | @staticmethod | 37 | @staticmethod |
691 | 38 | def sub_output(string): | 38 | def sub_output(string): |
693 | 39 | if not string == None: | 39 | if not string is None: |
694 | 40 | log.debug(u' '+string); | 40 | log.debug(u' '+string); |
695 | 41 | print (u' '+string) | 41 | print (u' '+string) |
696 | 42 | 42 | ||
697 | === modified file 'openlp/migration/migratesongs.py' | |||
698 | --- openlp/migration/migratesongs.py 2009-09-25 00:43:42 +0000 | |||
699 | +++ openlp/migration/migratesongs.py 2009-09-25 23:10:23 +0000 | |||
700 | @@ -168,7 +168,6 @@ | |||
701 | 168 | author.first_name = u'' | 168 | author.first_name = u'' |
702 | 169 | author.last_name = u'' | 169 | author.last_name = u'' |
703 | 170 | else: | 170 | else: |
704 | 171 | id = int(bb[0]) | ||
705 | 172 | author = self.session.query(Author).get(bb[0]) | 171 | author = self.session.query(Author).get(bb[0]) |
706 | 173 | song.authors.append(author) | 172 | song.authors.append(author) |
707 | 174 | try: | 173 | try: |
708 | 175 | 174 | ||
709 | === modified file 'openlp/plugins/bibles/forms/bibleimportform.py' | |||
710 | --- openlp/plugins/bibles/forms/bibleimportform.py 2009-09-25 00:43:42 +0000 | |||
711 | +++ openlp/plugins/bibles/forms/bibleimportform.py 2009-09-25 23:10:23 +0000 | |||
712 | @@ -23,7 +23,8 @@ | |||
713 | 23 | ############################################################################### | 23 | ############################################################################### |
714 | 24 | 24 | ||
715 | 25 | import logging | 25 | import logging |
717 | 26 | import os, os.path | 26 | import os |
718 | 27 | import os.path | ||
719 | 27 | 28 | ||
720 | 28 | from PyQt4 import QtCore, QtGui | 29 | from PyQt4 import QtCore, QtGui |
721 | 29 | 30 | ||
722 | @@ -33,7 +34,7 @@ | |||
723 | 33 | 34 | ||
724 | 34 | class BibleImportForm(QtGui.QDialog, Ui_BibleImportDialog): | 35 | class BibleImportForm(QtGui.QDialog, Ui_BibleImportDialog): |
725 | 35 | global log | 36 | global log |
727 | 36 | log=logging.getLogger(u'BibleImportForm') | 37 | log = logging.getLogger(u'BibleImportForm') |
728 | 37 | log.info(u'BibleImportForm loaded') | 38 | log.info(u'BibleImportForm loaded') |
729 | 38 | """ | 39 | """ |
730 | 39 | Class documentation goes here. | 40 | Class documentation goes here. |
731 | @@ -136,13 +137,16 @@ | |||
732 | 136 | self.checkOsis() | 137 | self.checkOsis() |
733 | 137 | 138 | ||
734 | 138 | def onProxyAddressEditLostFocus(self): | 139 | def onProxyAddressEditLostFocus(self): |
736 | 139 | self.config.set_config(u'proxy_address', unicode(self.AddressEdit.displayText())) | 140 | self.config.set_config( |
737 | 141 | u'proxy_address', unicode(self.AddressEdit.displayText())) | ||
738 | 140 | 142 | ||
739 | 141 | def onProxyUsernameEditLostFocus(self): | 143 | def onProxyUsernameEditLostFocus(self): |
741 | 142 | self.config.set_config(u'proxy_username', unicode(self.UsernameEdit.displayText())) | 144 | self.config.set_config( |
742 | 145 | u'proxy_username', unicode(self.UsernameEdit.displayText())) | ||
743 | 143 | 146 | ||
744 | 144 | def onProxyPasswordEditLostFocus(self): | 147 | def onProxyPasswordEditLostFocus(self): |
746 | 145 | self.config.set_config(u'proxy_password', unicode(self.PasswordEdit.displayText())) | 148 | self.config.set_config( |
747 | 149 | u'proxy_password', unicode(self.PasswordEdit.displayText())) | ||
748 | 146 | 150 | ||
749 | 147 | def onLocationComboBoxSelected(self): | 151 | def onLocationComboBoxSelected(self): |
750 | 148 | self.checkHttp() | 152 | self.checkHttp() |
751 | @@ -161,8 +165,9 @@ | |||
752 | 161 | 165 | ||
753 | 162 | def onImportButtonClicked(self): | 166 | def onImportButtonClicked(self): |
754 | 163 | message = u'Bible import completed' | 167 | message = u'Bible import completed' |
757 | 164 | if self.biblemanager != None: | 168 | if self.biblemanager is not None: |
758 | 165 | if not self.bible_type == None and len(self.BibleNameEdit.displayText()) > 0: | 169 | if not self.bible_type is None and \ |
759 | 170 | len(self.BibleNameEdit.displayText()) > 0: | ||
760 | 166 | self.MessageLabel.setText(u'Import Started') | 171 | self.MessageLabel.setText(u'Import Started') |
761 | 167 | self.ProgressBar.setMinimum(0) | 172 | self.ProgressBar.setMinimum(0) |
762 | 168 | self.setMax(65) | 173 | self.setMax(65) |
763 | @@ -286,7 +291,7 @@ | |||
764 | 286 | 291 | ||
765 | 287 | def resetScreenFieldStates(self): | 292 | def resetScreenFieldStates(self): |
766 | 288 | # only reset if no bible type set. | 293 | # only reset if no bible type set. |
768 | 289 | if self.bible_type == None: | 294 | if self.bible_type is None: |
769 | 290 | self.BooksLocationEdit.setReadOnly(False) | 295 | self.BooksLocationEdit.setReadOnly(False) |
770 | 291 | self.VerseLocationEdit.setReadOnly(False) | 296 | self.VerseLocationEdit.setReadOnly(False) |
771 | 292 | self.BooksFileButton.setEnabled(True) | 297 | self.BooksFileButton.setEnabled(True) |
772 | 293 | 298 | ||
773 | === modified file 'openlp/plugins/bibles/lib/bibleDBimpl.py' | |||
774 | --- openlp/plugins/bibles/lib/bibleDBimpl.py 2009-09-25 00:43:42 +0000 | |||
775 | +++ openlp/plugins/bibles/lib/bibleDBimpl.py 2009-09-25 23:10:23 +0000 | |||
776 | @@ -137,12 +137,12 @@ | |||
777 | 137 | 137 | ||
778 | 138 | def get_bible_book(self, bookname): | 138 | def get_bible_book(self, bookname): |
779 | 139 | log.debug(u'get_bible_book %s', bookname) | 139 | log.debug(u'get_bible_book %s', bookname) |
781 | 140 | bk = self.session.query(Book).filter( | 140 | book = self.session.query(Book).filter( |
782 | 141 | Book.name.like(bookname + u'%')).first() | 141 | Book.name.like(bookname + u'%')).first() |
785 | 142 | if bk == None: | 142 | if book is None: |
786 | 143 | bk = self.session.query(Book).filter( | 143 | book = self.session.query(Book).filter( |
787 | 144 | Book.abbreviation.like(bookname + u'%')).first() | 144 | Book.abbreviation.like(bookname + u'%')).first() |
789 | 145 | return bk | 145 | return book |
790 | 146 | 146 | ||
791 | 147 | def get_bible_chapter(self, id, chapter): | 147 | def get_bible_chapter(self, id, chapter): |
792 | 148 | log.debug(u'get_bible_chapter %s, %s', id, chapter) | 148 | log.debug(u'get_bible_chapter %s, %s', id, chapter) |
793 | 149 | 149 | ||
794 | === modified file 'openlp/plugins/bibles/lib/bibleHTTPimpl.py' | |||
795 | --- openlp/plugins/bibles/lib/bibleHTTPimpl.py 2009-09-25 00:43:42 +0000 | |||
796 | +++ openlp/plugins/bibles/lib/bibleHTTPimpl.py 2009-09-25 23:10:23 +0000 | |||
797 | @@ -195,19 +195,19 @@ | |||
798 | 195 | 195 | ||
799 | 196 | Init confirms the bible exists and stores the database path. | 196 | Init confirms the bible exists and stores the database path. |
800 | 197 | """ | 197 | """ |
805 | 198 | bible = {} | 198 | #bible = {} |
806 | 199 | biblesource = '' | 199 | self.biblesource = '' |
807 | 200 | proxyurl = None | 200 | self.proxyurl = None |
808 | 201 | bibleid = None | 201 | self.bibleid = None |
809 | 202 | 202 | ||
811 | 203 | def set_proxy(self,proxyurl): | 203 | def set_proxy(self, proxyurl): |
812 | 204 | """ | 204 | """ |
813 | 205 | Set the Proxy Url | 205 | Set the Proxy Url |
814 | 206 | """ | 206 | """ |
815 | 207 | log.debug(u'set_proxy %s', proxyurl) | 207 | log.debug(u'set_proxy %s', proxyurl) |
816 | 208 | self.proxyurl = proxyurl | 208 | self.proxyurl = proxyurl |
817 | 209 | 209 | ||
819 | 210 | def set_bibleid(self,bibleid): | 210 | def set_bibleid(self, bibleid): |
820 | 211 | """ | 211 | """ |
821 | 212 | Set the bible id. | 212 | Set the bible id. |
822 | 213 | The shore identifier of the the bible. | 213 | The shore identifier of the the bible. |
823 | @@ -215,7 +215,7 @@ | |||
824 | 215 | log.debug(u'set_bibleid %s', bibleid) | 215 | log.debug(u'set_bibleid %s', bibleid) |
825 | 216 | self.bibleid = bibleid | 216 | self.bibleid = bibleid |
826 | 217 | 217 | ||
828 | 218 | def set_bible_source(self,biblesource): | 218 | def set_bible_source(self, biblesource): |
829 | 219 | """ | 219 | """ |
830 | 220 | Set the source of where the bible text is coming from | 220 | Set the source of where the bible text is coming from |
831 | 221 | """ | 221 | """ |
832 | @@ -235,6 +235,5 @@ | |||
833 | 235 | else: | 235 | else: |
834 | 236 | ev = BGExtract(self.proxyurl) | 236 | ev = BGExtract(self.proxyurl) |
835 | 237 | return ev.get_bible_chapter(self.bibleid, bookid, bookname, chapter) | 237 | return ev.get_bible_chapter(self.bibleid, bookid, bookname, chapter) |
839 | 238 | except Exception, e: | 238 | except: |
840 | 239 | log.error(u'Error thrown = %s', e.args[0]) | 239 | log.exception("Failed to get bible chapter") |
838 | 240 | print e | ||
841 | 241 | 240 | ||
842 | === modified file 'openlp/plugins/bibles/lib/bibleOSISimpl.py' | |||
843 | --- openlp/plugins/bibles/lib/bibleOSISimpl.py 2009-09-25 00:43:42 +0000 | |||
844 | +++ openlp/plugins/bibles/lib/bibleOSISimpl.py 2009-09-25 23:10:23 +0000 | |||
845 | @@ -90,7 +90,7 @@ | |||
846 | 90 | detect_file.close() | 90 | detect_file.close() |
847 | 91 | osis = codecs.open(osisfile_record, u'r', details['encoding']) | 91 | osis = codecs.open(osisfile_record, u'r', details['encoding']) |
848 | 92 | book_ptr = None | 92 | book_ptr = None |
850 | 93 | id = 0 | 93 | #id = 0 |
851 | 94 | count = 0 | 94 | count = 0 |
852 | 95 | verseText = u'<verse osisID=' | 95 | verseText = u'<verse osisID=' |
853 | 96 | testament = 1 | 96 | testament = 1 |
854 | @@ -138,7 +138,7 @@ | |||
855 | 138 | p = ref.split(u'.', 3) | 138 | p = ref.split(u'.', 3) |
856 | 139 | if book_ptr != p[0]: | 139 | if book_ptr != p[0]: |
857 | 140 | # first time through | 140 | # first time through |
859 | 141 | if book_ptr == None: | 141 | if book_ptr is None: |
860 | 142 | # set the max book size depending on the first book read | 142 | # set the max book size depending on the first book read |
861 | 143 | if p[0] == u'Gen': | 143 | if p[0] == u'Gen': |
862 | 144 | dialogobject.setMax(65) | 144 | dialogobject.setMax(65) |
863 | 145 | 145 | ||
864 | === modified file 'openlp/plugins/bibles/lib/manager.py' | |||
865 | --- openlp/plugins/bibles/lib/manager.py 2009-09-25 00:43:42 +0000 | |||
866 | +++ openlp/plugins/bibles/lib/manager.py 2009-09-25 23:10:23 +0000 | |||
867 | @@ -39,7 +39,7 @@ | |||
868 | 39 | The Bible manager which holds and manages all the Bibles. | 39 | The Bible manager which holds and manages all the Bibles. |
869 | 40 | """ | 40 | """ |
870 | 41 | global log | 41 | global log |
872 | 42 | log=logging.getLogger(u'BibleManager') | 42 | log = logging.getLogger(u'BibleManager') |
873 | 43 | log.info(u'Bible manager loaded') | 43 | log.info(u'Bible manager loaded') |
874 | 44 | 44 | ||
875 | 45 | def __init__(self, config): | 45 | def __init__(self, config): |
876 | @@ -102,7 +102,7 @@ | |||
877 | 102 | # look to see if lazy load bible exists and get create getter. | 102 | # look to see if lazy load bible exists and get create getter. |
878 | 103 | meta = self.bible_db_cache[bname].get_meta(u'proxy') | 103 | meta = self.bible_db_cache[bname].get_meta(u'proxy') |
879 | 104 | proxy = None | 104 | proxy = None |
881 | 105 | if meta != None: | 105 | if meta is not None: |
882 | 106 | proxy = meta.value | 106 | proxy = meta.value |
883 | 107 | # tell The Server where to get the verses from. | 107 | # tell The Server where to get the verses from. |
884 | 108 | nhttp.set_proxy(proxy) | 108 | nhttp.set_proxy(proxy) |
885 | @@ -177,14 +177,14 @@ | |||
886 | 177 | nbible.save_meta(u'WEB', biblesource) | 177 | nbible.save_meta(u'WEB', biblesource) |
887 | 178 | # store the web id of the bible | 178 | # store the web id of the bible |
888 | 179 | nbible.save_meta(u'bibleid', bibleid) | 179 | nbible.save_meta(u'bibleid', bibleid) |
890 | 180 | if proxyurl != None and proxyurl != "": | 180 | if proxyurl is not None and proxyurl != "": |
891 | 181 | # store the proxy URL | 181 | # store the proxy URL |
892 | 182 | nbible.save_meta(u'proxy', proxyurl) | 182 | nbible.save_meta(u'proxy', proxyurl) |
893 | 183 | nhttp.set_proxy(proxyurl) | 183 | nhttp.set_proxy(proxyurl) |
895 | 184 | if proxyid != None and proxyid != "": | 184 | if proxyid is not None and proxyid != "": |
896 | 185 | # store the proxy userid | 185 | # store the proxy userid |
897 | 186 | nbible.save_meta(u'proxyid', proxyid) | 186 | nbible.save_meta(u'proxyid', proxyid) |
899 | 187 | if proxypass != None and proxypass != "": | 187 | if proxypass is not None and proxypass != "": |
900 | 188 | # store the proxy password | 188 | # store the proxy password |
901 | 189 | nbible.save_meta(u'proxypass', proxypass) | 189 | nbible.save_meta(u'proxypass', proxypass) |
902 | 190 | return True | 190 | return True |
903 | @@ -329,8 +329,8 @@ | |||
904 | 329 | # check to see if book/chapter exists fow HTTP bibles and load cache | 329 | # check to see if book/chapter exists fow HTTP bibles and load cache |
905 | 330 | # if necessary | 330 | # if necessary |
906 | 331 | if self.bible_http_cache[bible] is not None: | 331 | if self.bible_http_cache[bible] is not None: |
909 | 332 | book= self.bible_db_cache[bible].get_bible_book(bookname) | 332 | book = self.bible_db_cache[bible].get_bible_book(bookname) |
910 | 333 | if book == None: | 333 | if book is None: |
911 | 334 | self.media.setQuickMsg1(u'Downloading') | 334 | self.media.setQuickMsg1(u'Downloading') |
912 | 335 | log.debug(u'get_verse_text : new book') | 335 | log.debug(u'get_verse_text : new book') |
913 | 336 | for chapter in range(schapter, echapter + 1): | 336 | for chapter in range(schapter, echapter + 1): |
914 | @@ -347,7 +347,7 @@ | |||
915 | 347 | # check to see if book/chapter exists | 347 | # check to see if book/chapter exists |
916 | 348 | book = self.bible_db_cache[bible].get_bible_book( | 348 | book = self.bible_db_cache[bible].get_bible_book( |
917 | 349 | bookname) | 349 | bookname) |
919 | 350 | if book == None: | 350 | if book is None: |
920 | 351 | ## Then create book, chapter and text | 351 | ## Then create book, chapter and text |
921 | 352 | book = self.bible_db_cache[bible].create_book( | 352 | book = self.bible_db_cache[bible].create_book( |
922 | 353 | bookname, self.book_abbreviations[bookname], | 353 | bookname, self.book_abbreviations[bookname], |
923 | @@ -361,7 +361,7 @@ | |||
924 | 361 | ## Book exists check chapter and texts only. | 361 | ## Book exists check chapter and texts only. |
925 | 362 | v = self.bible_db_cache[bible].get_bible_chapter( | 362 | v = self.bible_db_cache[bible].get_bible_chapter( |
926 | 363 | book.id, chapter) | 363 | book.id, chapter) |
928 | 364 | if v == None: | 364 | if v is None: |
929 | 365 | self.media.setQuickMsg2(u'%s: %s'% ( | 365 | self.media.setQuickMsg2(u'%s: %s'% ( |
930 | 366 | bookname, chapter)) | 366 | bookname, chapter)) |
931 | 367 | self.bible_db_cache[bible].create_chapter( | 367 | self.bible_db_cache[bible].create_chapter( |
932 | @@ -372,7 +372,7 @@ | |||
933 | 372 | for chapter in range(schapter, echapter + 1): | 372 | for chapter in range(schapter, echapter + 1): |
934 | 373 | v = self.bible_db_cache[bible].get_bible_chapter( | 373 | v = self.bible_db_cache[bible].get_bible_chapter( |
935 | 374 | book.id, chapter) | 374 | book.id, chapter) |
937 | 375 | if v == None: | 375 | if v is None: |
938 | 376 | try: | 376 | try: |
939 | 377 | self.media.setQuickMsg1(u'Downloading') | 377 | self.media.setQuickMsg1(u'Downloading') |
940 | 378 | self.media.setQuickMsg2(u'%s: %s'% \ | 378 | self.media.setQuickMsg2(u'%s: %s'% \ |
941 | @@ -411,8 +411,8 @@ | |||
942 | 411 | """ | 411 | """ |
943 | 412 | Check cache to see if new bible | 412 | Check cache to see if new bible |
944 | 413 | """ | 413 | """ |
948 | 414 | for b, o in self.bible_db_cache.iteritems(): | 414 | for bible, o in self.bible_db_cache.iteritems(): |
949 | 415 | log.debug(u'Bible from cache in is_new_bible %s', b ) | 415 | log.debug(u'Bible from cache in is_new_bible %s', bible) |
950 | 416 | if b == name : | 416 | if bible == name: |
951 | 417 | return False | 417 | return False |
952 | 418 | return True | 418 | return True |
953 | 419 | 419 | ||
954 | === modified file 'openlp/plugins/bibles/lib/mediaitem.py' | |||
955 | --- openlp/plugins/bibles/lib/mediaitem.py 2009-09-25 00:43:42 +0000 | |||
956 | +++ openlp/plugins/bibles/lib/mediaitem.py 2009-09-25 23:10:23 +0000 | |||
957 | @@ -315,14 +315,14 @@ | |||
958 | 315 | self.adjustComboBox(frm, self.verses, self.AdvancedToVerse) | 315 | self.adjustComboBox(frm, self.verses, self.AdvancedToVerse) |
959 | 316 | 316 | ||
960 | 317 | def onAdvancedToChapter(self): | 317 | def onAdvancedToChapter(self): |
964 | 318 | t1 = self.AdvancedFromChapter.currentText() | 318 | text1 = self.AdvancedFromChapter.currentText() |
965 | 319 | t2 = self.AdvancedToChapter.currentText() | 319 | text2 = self.AdvancedToChapter.currentText() |
966 | 320 | if t1 != t2: | 320 | if text1 != text2: |
967 | 321 | bible = unicode(self.AdvancedVersionComboBox.currentText()) | 321 | bible = unicode(self.AdvancedVersionComboBox.currentText()) |
968 | 322 | book = unicode(self.AdvancedBookComboBox.currentText()) | 322 | book = unicode(self.AdvancedBookComboBox.currentText()) |
969 | 323 | # get the verse count for new chapter | 323 | # get the verse count for new chapter |
970 | 324 | verses = self.parent.biblemanager.get_book_verse_count( | 324 | verses = self.parent.biblemanager.get_book_verse_count( |
972 | 325 | bible, book, int(t2))[0] | 325 | bible, book, int(text2))[0] |
973 | 326 | self.adjustComboBox(1, verses, self.AdvancedToVerse) | 326 | self.adjustComboBox(1, verses, self.AdvancedToVerse) |
974 | 327 | 327 | ||
975 | 328 | def onAdvancedSearchButton(self): | 328 | def onAdvancedSearchButton(self): |
976 | @@ -482,7 +482,7 @@ | |||
977 | 482 | start_verse = u'' | 482 | start_verse = u'' |
978 | 483 | end_verse = u'' | 483 | end_verse = u'' |
979 | 484 | search = search.replace(u' ', u' ').strip() | 484 | search = search.replace(u' ', u' ').strip() |
981 | 485 | original = search | 485 | #original = search |
982 | 486 | message = None | 486 | message = None |
983 | 487 | # Remove book beware 0 index arrays | 487 | # Remove book beware 0 index arrays |
984 | 488 | for i in range (len(search)-1, 0, - 1): | 488 | for i in range (len(search)-1, 0, - 1): |
985 | @@ -547,7 +547,7 @@ | |||
986 | 547 | log.debug(u'results = %s @ %s : %s @ %s : %s'% \ | 547 | log.debug(u'results = %s @ %s : %s @ %s : %s'% \ |
987 | 548 | (unicode(book), unicode(start_chapter), unicode(end_chapter), | 548 | (unicode(book), unicode(start_chapter), unicode(end_chapter), |
988 | 549 | unicode(start_verse), unicode(end_verse))) | 549 | unicode(start_verse), unicode(end_verse))) |
990 | 550 | if message == None: | 550 | if message is None: |
991 | 551 | self.search_results = None | 551 | self.search_results = None |
992 | 552 | self.search_results = self.parent.biblemanager.get_verse_text( | 552 | self.search_results = self.parent.biblemanager.get_verse_text( |
993 | 553 | bible, book, int(start_chapter), int(end_chapter), | 553 | bible, book, int(start_chapter), int(end_chapter), |
994 | 554 | 554 | ||
995 | === modified file 'openlp/plugins/bibles/test/test_bibleManager.py' | |||
996 | --- openlp/plugins/bibles/test/test_bibleManager.py 2009-09-25 00:43:42 +0000 | |||
997 | +++ openlp/plugins/bibles/test/test_bibleManager.py 2009-09-25 23:10:23 +0000 | |||
998 | @@ -17,7 +17,8 @@ | |||
999 | 17 | """ | 17 | """ |
1000 | 18 | 18 | ||
1001 | 19 | import logging | 19 | import logging |
1003 | 20 | import os, os.path | 20 | import os |
1004 | 21 | import os.path | ||
1005 | 21 | import sys | 22 | import sys |
1006 | 22 | 23 | ||
1007 | 23 | from openlp.plugins.bibles.lib.biblemanager import BibleManager | 24 | from openlp.plugins.bibles.lib.biblemanager import BibleManager |
1008 | 24 | 25 | ||
1009 | === modified file 'openlp/plugins/bibles/test/test_bibleManagerAPI.py' | |||
1010 | --- openlp/plugins/bibles/test/test_bibleManagerAPI.py 2009-09-25 00:43:42 +0000 | |||
1011 | +++ openlp/plugins/bibles/test/test_bibleManagerAPI.py 2009-09-25 23:10:23 +0000 | |||
1012 | @@ -17,7 +17,8 @@ | |||
1013 | 17 | """ | 17 | """ |
1014 | 18 | 18 | ||
1015 | 19 | import logging | 19 | import logging |
1017 | 20 | import os, os.path | 20 | import os |
1018 | 21 | import os.path | ||
1019 | 21 | import sys | 22 | import sys |
1020 | 22 | 23 | ||
1021 | 23 | from openlp.plugins.biblemanager.bibleManager import BibleManager | 24 | from openlp.plugins.biblemanager.bibleManager import BibleManager |
1022 | 24 | 25 | ||
1023 | === modified file 'openlp/plugins/bibles/test/test_bibleManagerCSV.py' | |||
1024 | --- openlp/plugins/bibles/test/test_bibleManagerCSV.py 2009-09-25 00:43:42 +0000 | |||
1025 | +++ openlp/plugins/bibles/test/test_bibleManagerCSV.py 2009-09-25 23:10:23 +0000 | |||
1026 | @@ -17,7 +17,8 @@ | |||
1027 | 17 | """ | 17 | """ |
1028 | 18 | 18 | ||
1029 | 19 | import logging | 19 | import logging |
1031 | 20 | import os, os.path | 20 | import os |
1032 | 21 | import os.path | ||
1033 | 21 | import sys | 22 | import sys |
1034 | 22 | 23 | ||
1035 | 23 | from openlp.plugins.bibles.lib.biblemanager import BibleManager | 24 | from openlp.plugins.bibles.lib.biblemanager import BibleManager |
1036 | 24 | 25 | ||
1037 | === modified file 'openlp/plugins/bibles/test/test_bibleManagerOSIS.py' | |||
1038 | --- openlp/plugins/bibles/test/test_bibleManagerOSIS.py 2009-09-25 00:43:42 +0000 | |||
1039 | +++ openlp/plugins/bibles/test/test_bibleManagerOSIS.py 2009-09-25 23:10:23 +0000 | |||
1040 | @@ -17,7 +17,8 @@ | |||
1041 | 17 | """ | 17 | """ |
1042 | 18 | 18 | ||
1043 | 19 | import logging | 19 | import logging |
1045 | 20 | import os, os.path | 20 | import os |
1046 | 21 | import os.path | ||
1047 | 21 | import sys | 22 | import sys |
1048 | 22 | 23 | ||
1049 | 23 | from openlp.plugins.bibles.lib.biblemanager import BibleManager | 24 | from openlp.plugins.bibles.lib.biblemanager import BibleManager |
1050 | 24 | 25 | ||
1051 | === modified file 'openlp/plugins/presentations/lib/impresscontroller.py' | |||
1052 | --- openlp/plugins/presentations/lib/impresscontroller.py 2009-09-25 00:43:42 +0000 | |||
1053 | +++ openlp/plugins/presentations/lib/impresscontroller.py 2009-09-25 23:10:23 +0000 | |||
1054 | @@ -112,7 +112,7 @@ | |||
1055 | 112 | context = uno.getComponentContext() | 112 | context = uno.getComponentContext() |
1056 | 113 | resolver = context.ServiceManager.createInstanceWithContext( | 113 | resolver = context.ServiceManager.createInstanceWithContext( |
1057 | 114 | u'com.sun.star.bridge.UnoUrlResolver', context) | 114 | u'com.sun.star.bridge.UnoUrlResolver', context) |
1059 | 115 | while ctx == None and loop < 3: | 115 | while ctx is None and loop < 3: |
1060 | 116 | try: | 116 | try: |
1061 | 117 | ctx = resolver.resolve(u'uno:socket,host=localhost,port=2002;urp;StarOffice.ComponentContext') | 117 | ctx = resolver.resolve(u'uno:socket,host=localhost,port=2002;urp;StarOffice.ComponentContext') |
1062 | 118 | except: | 118 | except: |
1063 | 119 | 119 | ||
1064 | === modified file 'openlp/plugins/presentations/lib/powerpointcontroller.py' | |||
1065 | --- openlp/plugins/presentations/lib/powerpointcontroller.py 2009-09-13 07:39:48 +0000 | |||
1066 | +++ openlp/plugins/presentations/lib/powerpointcontroller.py 2009-09-25 23:10:23 +0000 | |||
1067 | @@ -47,9 +47,9 @@ | |||
1068 | 47 | self._app.WindowState = 2 | 47 | self._app.WindowState = 2 |
1069 | 48 | 48 | ||
1070 | 49 | def getApp(self): | 49 | def getApp(self): |
1072 | 50 | if self._app == None: | 50 | if self._app is None: |
1073 | 51 | self.createApp() | 51 | self.createApp() |
1075 | 52 | if self._app == None: | 52 | if self._app is None: |
1076 | 53 | return None | 53 | return None |
1077 | 54 | if self._app.Windows.Count == 0: | 54 | if self._app.Windows.Count == 0: |
1078 | 55 | self.createApp() | 55 | self.createApp() |
1079 | @@ -69,17 +69,17 @@ | |||
1080 | 69 | self.open() | 69 | self.open() |
1081 | 70 | 70 | ||
1082 | 71 | def getPres(self): | 71 | def getPres(self): |
1084 | 72 | if self._pres == None: | 72 | if self._pres is None: |
1085 | 73 | for p in self.pptApp.app.Presentations: | 73 | for p in self.pptApp.app.Presentations: |
1086 | 74 | if p.FullName == self.filename: | 74 | if p.FullName == self.filename: |
1087 | 75 | self._pres = p | 75 | self._pres = p |
1088 | 76 | break | 76 | break |
1090 | 77 | if self._pres != None: | 77 | if self._pres is not None: |
1091 | 78 | try: | 78 | try: |
1092 | 79 | x = self._pres.Name | 79 | x = self._pres.Name |
1093 | 80 | except: | 80 | except: |
1094 | 81 | self._pres = None | 81 | self._pres = None |
1096 | 82 | if self._pres == None: | 82 | if self._pres is None: |
1097 | 83 | self.openPres() | 83 | self.openPres() |
1098 | 84 | return self._pres | 84 | return self._pres |
1099 | 85 | 85 | ||
1100 | @@ -94,9 +94,9 @@ | |||
1101 | 94 | self._pres = None | 94 | self._pres = None |
1102 | 95 | 95 | ||
1103 | 96 | def isActive(self): | 96 | def isActive(self): |
1105 | 97 | if self.pres.SlideShowWindow == None: | 97 | if self.pres.SlideShowWindow is None: |
1106 | 98 | return False | 98 | return False |
1108 | 99 | if self.pres.SlideShowWindow.View == None: | 99 | if self.pres.SlideShowWindow.View is None: |
1109 | 100 | return False | 100 | return False |
1110 | 101 | return True | 101 | return True |
1111 | 102 | 102 | ||
1112 | @@ -157,7 +157,7 @@ | |||
1113 | 157 | self.slide = pres.Slides[index] | 157 | self.slide = pres.Slides[index] |
1114 | 158 | 158 | ||
1115 | 159 | def preview(self): | 159 | def preview(self): |
1117 | 160 | if self.preview == None: | 160 | if self.preview is None: |
1118 | 161 | self.slide.Copy | 161 | self.slide.Copy |
1119 | 162 | # import win32clipboard as w | 162 | # import win32clipboard as w |
1120 | 163 | # import win32con | 163 | # import win32con |
1121 | @@ -165,4 +165,3 @@ | |||
1122 | 165 | # self.preview = w.GetClipboardData.GetData(win32con.CF_BITMAP) | 165 | # self.preview = w.GetClipboardData.GetData(win32con.CF_BITMAP) |
1123 | 166 | # w.CloseClipboard() | 166 | # w.CloseClipboard() |
1124 | 167 | return self.preview | 167 | return self.preview |
1125 | 168 | |||
1126 | 169 | 168 | ||
1127 | === modified file 'openlp/plugins/songs/lib/manager.py' | |||
1128 | --- openlp/plugins/songs/lib/manager.py 2009-09-25 00:43:42 +0000 | |||
1129 | +++ openlp/plugins/songs/lib/manager.py 2009-09-25 23:10:23 +0000 | |||
1130 | @@ -219,7 +219,7 @@ | |||
1131 | 219 | self.session.add(book) | 219 | self.session.add(book) |
1132 | 220 | self.session.commit() | 220 | self.session.commit() |
1133 | 221 | return True | 221 | return True |
1135 | 222 | except Exception, e: | 222 | except: |
1136 | 223 | self.session.rollback() | 223 | self.session.rollback() |
1137 | 224 | log.exception(u'Could not save book to song database') | 224 | log.exception(u'Could not save book to song database') |
1138 | 225 | return False | 225 | return False |
1139 | 226 | 226 | ||
1140 | === modified file 'openlp/plugins/songs/lib/mediaitem.py' | |||
1141 | --- openlp/plugins/songs/lib/mediaitem.py 2009-09-25 00:43:42 +0000 | |||
1142 | +++ openlp/plugins/songs/lib/mediaitem.py 2009-09-25 23:10:23 +0000 | |||
1143 | @@ -270,7 +270,7 @@ | |||
1144 | 270 | self.ListView.takeItem(row) | 270 | self.ListView.takeItem(row) |
1145 | 271 | 271 | ||
1146 | 272 | def generateSlideData(self, service_item): | 272 | def generateSlideData(self, service_item): |
1148 | 273 | raw_slides =[] | 273 | #raw_slides =[] |
1149 | 274 | raw_footer = [] | 274 | raw_footer = [] |
1150 | 275 | author_list = u'' | 275 | author_list = u'' |
1151 | 276 | author_audit = [] | 276 | author_audit = [] |
1152 | @@ -297,7 +297,7 @@ | |||
1153 | 297 | author_list = author_list + u', ' | 297 | author_list = author_list + u', ' |
1154 | 298 | author_list = author_list + unicode(author.display_name) | 298 | author_list = author_list + unicode(author.display_name) |
1155 | 299 | author_audit.append(unicode(author.display_name)) | 299 | author_audit.append(unicode(author.display_name)) |
1157 | 300 | if song.ccli_number == None or len(song.ccli_number) == 0: | 300 | if song.ccli_number is None or len(song.ccli_number) == 0: |
1158 | 301 | ccl = self.parent.settings.GeneralTab.CCLNumber | 301 | ccl = self.parent.settings.GeneralTab.CCLNumber |
1159 | 302 | else: | 302 | else: |
1160 | 303 | ccl = unicode(song.ccli_number) | 303 | ccl = unicode(song.ccli_number) |
1161 | 304 | 304 | ||
1162 | === modified file 'openlp/plugins/songs/lib/songxml.py' | |||
1163 | --- openlp/plugins/songs/lib/songxml.py 2009-09-21 17:56:36 +0000 | |||
1164 | +++ openlp/plugins/songs/lib/songxml.py 2009-09-25 23:10:23 +0000 | |||
1165 | @@ -24,7 +24,8 @@ | |||
1166 | 24 | 24 | ||
1167 | 25 | import sys | 25 | import sys |
1168 | 26 | import os | 26 | import os |
1170 | 27 | from types import StringType, ListType, NoneType | 27 | |
1171 | 28 | from types import StringType, ListType | ||
1172 | 28 | 29 | ||
1173 | 29 | sys.path.append(os.path.abspath(u'./../../../..')) | 30 | sys.path.append(os.path.abspath(u'./../../../..')) |
1174 | 30 | 31 | ||
1175 | @@ -84,7 +85,7 @@ | |||
1176 | 84 | def from_buffer(self, xmlContent): | 85 | def from_buffer(self, xmlContent): |
1177 | 85 | """Initialize from buffer(string) with xml content""" | 86 | """Initialize from buffer(string) with xml content""" |
1178 | 86 | self._reset() | 87 | self._reset() |
1180 | 87 | if xmlContent != None : | 88 | if xmlContent is not None: |
1181 | 88 | self._setFromXml(xmlContent, 'song') | 89 | self._setFromXml(xmlContent, 'song') |
1182 | 89 | 90 | ||
1183 | 90 | def get_author_list(self): | 91 | def get_author_list(self): |
1184 | @@ -94,9 +95,9 @@ | |||
1185 | 94 | return as a string | 95 | return as a string |
1186 | 95 | """ | 96 | """ |
1187 | 96 | res = [] | 97 | res = [] |
1189 | 97 | if self.author != None : | 98 | if self.author is not None: |
1190 | 98 | lst = self.author.split(u' and ') | 99 | lst = self.author.split(u' and ') |
1192 | 99 | for l in lst : | 100 | for l in lst: |
1193 | 100 | res.append(l.strip()) | 101 | res.append(l.strip()) |
1194 | 101 | s = u', '.join(res) | 102 | s = u', '.join(res) |
1195 | 102 | return s | 103 | return s |
1196 | @@ -107,9 +108,9 @@ | |||
1197 | 107 | return as a string | 108 | return as a string |
1198 | 108 | """ | 109 | """ |
1199 | 109 | res = [] | 110 | res = [] |
1201 | 110 | if self.theme != None : | 111 | if self.theme is not None: |
1202 | 111 | res.append(self.theme) | 112 | res.append(self.theme) |
1204 | 112 | if self.alttheme != None : | 113 | if self.alttheme is not None: |
1205 | 113 | res.append(self.alttheme) | 114 | res.append(self.alttheme) |
1206 | 114 | s = u', u'.join(res) | 115 | s = u', u'.join(res) |
1207 | 115 | return s | 116 | return s |
1208 | @@ -123,25 +124,25 @@ | |||
1209 | 123 | res = [] | 124 | res = [] |
1210 | 124 | for c in '1234567890 ': | 125 | for c in '1234567890 ': |
1211 | 125 | tagPending = True | 126 | tagPending = True |
1215 | 126 | for l in tmpVerse : | 127 | for l in tmpVerse: |
1216 | 127 | if l.startswith(c) : | 128 | if l.startswith(c): |
1217 | 128 | if tagPending : | 129 | if tagPending: |
1218 | 129 | tagPending = False | 130 | tagPending = False |
1219 | 130 | t = tag.strip(u'[]').lower() | 131 | t = tag.strip(u'[]').lower() |
1221 | 131 | if 'v' == t : | 132 | if 'v' == t: |
1222 | 132 | newtag = "Verse" | 133 | newtag = "Verse" |
1224 | 133 | elif 'c' == t : | 134 | elif 'c' == t: |
1225 | 134 | newtag = "Chorus" | 135 | newtag = "Chorus" |
1227 | 135 | elif 'b' == t : | 136 | elif 'b' == t: |
1228 | 136 | newtag = "Bridge" | 137 | newtag = "Bridge" |
1230 | 137 | elif 'p' == t : | 138 | elif 'p' == t: |
1231 | 138 | newtag = "Pre-chorus" | 139 | newtag = "Pre-chorus" |
1233 | 139 | else : | 140 | else: |
1234 | 140 | newtag = t | 141 | newtag = t |
1235 | 141 | s = (u'# %s %s'%(newtag, c)).rstrip() | 142 | s = (u'# %s %s'%(newtag, c)).rstrip() |
1236 | 142 | res.append(s) | 143 | res.append(s) |
1237 | 143 | res.append(l[1:]) | 144 | res.append(l[1:]) |
1239 | 144 | if (len(l) == 0) and (not tagPending) : | 145 | if (len(l) == 0) and (not tagPending): |
1240 | 145 | res.append(l) | 146 | res.append(l) |
1241 | 146 | return res | 147 | return res |
1242 | 147 | 148 | ||
1243 | @@ -156,13 +157,13 @@ | |||
1244 | 156 | tag = "" | 157 | tag = "" |
1245 | 157 | for l in lyrics: | 158 | for l in lyrics: |
1246 | 158 | line = l.rstrip() | 159 | line = l.rstrip() |
1248 | 159 | if not line.startswith(u'.') : | 160 | if not line.startswith(u'.'): |
1249 | 160 | # drop all chords | 161 | # drop all chords |
1250 | 161 | tmpVerse.append(line) | 162 | tmpVerse.append(line) |
1252 | 162 | if len(line) > 0 : | 163 | if len(line) > 0: |
1253 | 163 | if line.startswith(u'['): | 164 | if line.startswith(u'['): |
1254 | 164 | tag = line | 165 | tag = line |
1256 | 165 | else : | 166 | else: |
1257 | 166 | r = self._reorder_verse(tag, tmpVerse) | 167 | r = self._reorder_verse(tag, tmpVerse) |
1258 | 167 | finalLyrics.extend(r) | 168 | finalLyrics.extend(r) |
1259 | 168 | tag = "" | 169 | tag = "" |
1260 | @@ -173,12 +174,12 @@ | |||
1261 | 173 | return finalLyrics | 174 | return finalLyrics |
1262 | 174 | 175 | ||
1263 | 175 | 176 | ||
1265 | 176 | class Song(object) : | 177 | class Song(object): |
1266 | 177 | """Handling song properties and methods | 178 | """Handling song properties and methods |
1267 | 178 | 179 | ||
1268 | 179 | handles all conversions between various input and output formats | 180 | handles all conversions between various input and output formats |
1269 | 180 | 181 | ||
1271 | 181 | CCLI : | 182 | CCLI: |
1272 | 182 | from_ccli_text_file | 183 | from_ccli_text_file |
1273 | 183 | to_ccli_text_file | 184 | to_ccli_text_file |
1274 | 184 | from_ccli_text_buffer | 185 | from_ccli_text_buffer |
1275 | @@ -195,13 +196,13 @@ | |||
1276 | 195 | get_preview_slide | 196 | get_preview_slide |
1277 | 196 | get_render_slide | 197 | get_render_slide |
1278 | 197 | 198 | ||
1280 | 198 | openlp1 : | 199 | openlp1: |
1281 | 199 | from_openlp1_lyrics_buffer | 200 | from_openlp1_lyrics_buffer |
1282 | 200 | to_openlp1_lyrics_buffer | 201 | to_openlp1_lyrics_buffer |
1283 | 201 | set_author_list | 202 | set_author_list |
1284 | 202 | get_author_list | 203 | get_author_list |
1285 | 203 | 204 | ||
1287 | 204 | editing and openlp2 : | 205 | editing and openlp2: |
1288 | 205 | set_* | 206 | set_* |
1289 | 206 | get_* | 207 | get_* |
1290 | 207 | """ | 208 | """ |
1291 | @@ -263,13 +264,13 @@ | |||
1292 | 263 | """Initialize from buffer(string) of xml lines in opensong format""" | 264 | """Initialize from buffer(string) of xml lines in opensong format""" |
1293 | 264 | self._reset() | 265 | self._reset() |
1294 | 265 | opensong = _OpenSong(xmlcontent) | 266 | opensong = _OpenSong(xmlcontent) |
1296 | 266 | if opensong.title != None: | 267 | if opensong.title is not None: |
1297 | 267 | self.set_title(opensong.title) | 268 | self.set_title(opensong.title) |
1299 | 268 | if opensong.copyright != None : | 269 | if opensong.copyright is not None: |
1300 | 269 | self.set_copyright(opensong.copyright) | 270 | self.set_copyright(opensong.copyright) |
1302 | 270 | if opensong.presentation != None: | 271 | if opensong.presentation is not None: |
1303 | 271 | self.set_verse_order(opensong.presentation) | 272 | self.set_verse_order(opensong.presentation) |
1305 | 272 | if opensong.ccli != None: | 273 | if opensong.ccli is not None: |
1306 | 273 | self.set_song_cclino(opensong.ccli) | 274 | self.set_song_cclino(opensong.ccli) |
1307 | 274 | self.set_author_list(opensong.get_author_list()) | 275 | self.set_author_list(opensong.get_author_list()) |
1308 | 275 | self.set_category_array(opensong.get_category_array()) | 276 | self.set_category_array(opensong.get_category_array()) |
1309 | @@ -282,7 +283,7 @@ | |||
1310 | 282 | """ | 283 | """ |
1311 | 283 | lst = [] | 284 | lst = [] |
1312 | 284 | f = open(xmlfilename, 'r') | 285 | f = open(xmlfilename, 'r') |
1314 | 285 | for line in f : | 286 | for line in f: |
1315 | 286 | lst.append(line) | 287 | lst.append(line) |
1316 | 287 | f.close() | 288 | f.close() |
1317 | 288 | xml = "".join(lst) | 289 | xml = "".join(lst) |
1318 | @@ -295,7 +296,7 @@ | |||
1319 | 295 | """ | 296 | """ |
1320 | 296 | punctuation = ".,:;!?&%#'\"/\\@`$|^~*-" | 297 | punctuation = ".,:;!?&%#'\"/\\@`$|^~*-" |
1321 | 297 | s = title | 298 | s = title |
1323 | 298 | for c in punctuation : | 299 | for c in punctuation: |
1324 | 299 | s = s.replace(c, '') | 300 | s = s.replace(c, '') |
1325 | 300 | return s | 301 | return s |
1326 | 301 | 302 | ||
1327 | @@ -308,9 +309,9 @@ | |||
1328 | 308 | """ | 309 | """ |
1329 | 309 | self.title = title.strip() | 310 | self.title = title.strip() |
1330 | 310 | self.search_title = self._remove_punctuation(title).strip() | 311 | self.search_title = self._remove_punctuation(title).strip() |
1332 | 311 | if len(self.title) < 1 : | 312 | if len(self.title) < 1: |
1333 | 312 | raise SongTitleError(u'The title is empty') | 313 | raise SongTitleError(u'The title is empty') |
1335 | 313 | if len(self.search_title) < 1 : | 314 | if len(self.search_title) < 1: |
1336 | 314 | raise SongTitleError(u'The searchable title is empty') | 315 | raise SongTitleError(u'The searchable title is empty') |
1337 | 315 | 316 | ||
1338 | 316 | def get_title(self): | 317 | def get_title(self): |
1339 | @@ -340,32 +341,32 @@ | |||
1340 | 340 | n = 0 | 341 | n = 0 |
1341 | 341 | metMisc = False | 342 | metMisc = False |
1342 | 342 | lyrics = [] | 343 | lyrics = [] |
1344 | 343 | for l in textList : | 344 | for l in textList: |
1345 | 344 | n += 1 | 345 | n += 1 |
1347 | 345 | if lastpart > 0 : | 346 | if lastpart > 0: |
1348 | 346 | lastpart += 1 | 347 | lastpart += 1 |
1350 | 347 | if lastpart == 2 : | 348 | if lastpart == 2: |
1351 | 348 | sCopyright = l[1:].strip() | 349 | sCopyright = l[1:].strip() |
1353 | 349 | if lastpart == 3 : | 350 | if lastpart == 3: |
1354 | 350 | sAuthor = l | 351 | sAuthor = l |
1356 | 351 | elif l.startswith(u'CCLI Song') : | 352 | elif l.startswith(u'CCLI Song'): |
1357 | 352 | sCcli = l[13:].strip() | 353 | sCcli = l[13:].strip() |
1358 | 353 | lastpart = 1 | 354 | lastpart = 1 |
1361 | 354 | else : | 355 | else: |
1362 | 355 | if metMisc : | 356 | if metMisc: |
1363 | 356 | metMisc = False | 357 | metMisc = False |
1365 | 357 | if l.upper().startswith(u'(BRIDGE)') : | 358 | if l.upper().startswith(u'(BRIDGE)'): |
1366 | 358 | lyrics.append(u'# Bridge') | 359 | lyrics.append(u'# Bridge') |
1367 | 359 | # otherwise unknown misc keyword | 360 | # otherwise unknown misc keyword |
1369 | 360 | elif l.startswith(u'Misc') : | 361 | elif l.startswith(u'Misc'): |
1370 | 361 | metMisc = True | 362 | metMisc = True |
1371 | 362 | elif l.startswith(u'Verse') or l.startswith(u'Chorus'): | 363 | elif l.startswith(u'Verse') or l.startswith(u'Chorus'): |
1372 | 363 | lyrics.append(u'# %s'%l) | 364 | lyrics.append(u'# %s'%l) |
1374 | 364 | else : | 365 | else: |
1375 | 365 | # should we remove multiple blank lines? | 366 | # should we remove multiple blank lines? |
1377 | 366 | if n == 1 : | 367 | if n == 1: |
1378 | 367 | sName = l | 368 | sName = l |
1380 | 368 | else : | 369 | else: |
1381 | 369 | lyrics.append(l) | 370 | lyrics.append(l) |
1382 | 370 | # split on known separators | 371 | # split on known separators |
1383 | 371 | lst = sAuthor.split(u'/') | 372 | lst = sAuthor.split(u'/') |
1384 | @@ -390,33 +391,33 @@ | |||
1385 | 390 | f.close() | 391 | f.close() |
1386 | 391 | self.from_ccli_text_buffer(lines) | 392 | self.from_ccli_text_buffer(lines) |
1387 | 392 | 393 | ||
1389 | 393 | def _assure_string(self, s): | 394 | def _assure_string(self, string_in): |
1390 | 394 | """Force a string is returned""" | 395 | """Force a string is returned""" |
1396 | 395 | if s == None : | 396 | if string_in is None: |
1397 | 396 | r = "" | 397 | string_out = "" |
1398 | 397 | else : | 398 | else: |
1399 | 398 | r = unicode(s) | 399 | string_out = unicode(s) |
1400 | 399 | return r | 400 | return string_out |
1401 | 400 | 401 | ||
1402 | 401 | def _split_to_list(self, aString): | 402 | def _split_to_list(self, aString): |
1403 | 402 | """Split a string into a list - comma separated""" | 403 | """Split a string into a list - comma separated""" |
1404 | 403 | res = [] | 404 | res = [] |
1406 | 404 | if aString != None : | 405 | if aString is not None: |
1407 | 405 | lst = aString.split(u',') | 406 | lst = aString.split(u',') |
1409 | 406 | for l in lst : | 407 | for l in lst: |
1410 | 407 | # remove whitespace | 408 | # remove whitespace |
1411 | 408 | res.append(l.strip()) | 409 | res.append(l.strip()) |
1412 | 409 | return res | 410 | return res |
1413 | 410 | 411 | ||
1414 | 411 | def _list_to_string(self, strOrList): | 412 | def _list_to_string(self, strOrList): |
1415 | 412 | """Force a possibly list into a string""" | 413 | """Force a possibly list into a string""" |
1417 | 413 | if type(strOrList) == StringType : | 414 | if type(strOrList) == StringType: |
1418 | 414 | lst = self._split_to_list(strOrList) | 415 | lst = self._split_to_list(strOrList) |
1420 | 415 | elif type(strOrList) == ListType : | 416 | elif type(strOrList) == ListType: |
1421 | 416 | lst = strOrList | 417 | lst = strOrList |
1423 | 417 | elif type(strOrList) == NoneType : | 418 | elif strOrList is None: |
1424 | 418 | lst = [] | 419 | lst = [] |
1426 | 419 | else : | 420 | else: |
1427 | 420 | raise SongTypeError(u'Variable not String or List') | 421 | raise SongTypeError(u'Variable not String or List') |
1428 | 421 | s = u', '.join(lst) | 422 | s = u', '.join(lst) |
1429 | 422 | return s | 423 | return s |
1430 | @@ -486,9 +487,9 @@ | |||
1431 | 486 | False -- list of strings | 487 | False -- list of strings |
1432 | 487 | ["John Newton", u'A Parker"] | 488 | ["John Newton", u'A Parker"] |
1433 | 488 | """ | 489 | """ |
1435 | 489 | if asOneString : | 490 | if asOneString: |
1436 | 490 | res = self._assure_string(self.author_list) | 491 | res = self._assure_string(self.author_list) |
1438 | 491 | else : | 492 | else: |
1439 | 492 | res = self._split_to_list(self.author_list) | 493 | res = self._split_to_list(self.author_list) |
1440 | 493 | return res | 494 | return res |
1441 | 494 | 495 | ||
1442 | @@ -497,9 +498,9 @@ | |||
1443 | 497 | 498 | ||
1444 | 498 | author_list -- a string or list of strings | 499 | author_list -- a string or list of strings |
1445 | 499 | """ | 500 | """ |
1447 | 500 | if author_list == None : | 501 | if author_list is None: |
1448 | 501 | self.author_list = None | 502 | self.author_list = None |
1450 | 502 | else : | 503 | else: |
1451 | 503 | self.author_list = self._list_to_string(author_list) | 504 | self.author_list = self._list_to_string(author_list) |
1452 | 504 | 505 | ||
1453 | 505 | def get_category_array(self, asOneString = True): | 506 | def get_category_array(self, asOneString = True): |
1454 | @@ -511,9 +512,9 @@ | |||
1455 | 511 | False -- list of strings | 512 | False -- list of strings |
1456 | 512 | ["Hymn", u'Gospel"] | 513 | ["Hymn", u'Gospel"] |
1457 | 513 | """ | 514 | """ |
1459 | 514 | if asOneString : | 515 | if asOneString: |
1460 | 515 | res = self._assure_string(self.category_array) | 516 | res = self._assure_string(self.category_array) |
1462 | 516 | else : | 517 | else: |
1463 | 517 | res = self._split_to_list(self.category_array) | 518 | res = self._split_to_list(self.category_array) |
1464 | 518 | return res | 519 | return res |
1465 | 519 | 520 | ||
1466 | @@ -522,9 +523,9 @@ | |||
1467 | 522 | 523 | ||
1468 | 523 | category_array -- a string or list of strings | 524 | category_array -- a string or list of strings |
1469 | 524 | """ | 525 | """ |
1471 | 525 | if category_array == None : | 526 | if category_array is None: |
1472 | 526 | self.category_array = None | 527 | self.category_array = None |
1474 | 527 | else : | 528 | else: |
1475 | 528 | self.category_array = self._list_to_string(category_array) | 529 | self.category_array = self._list_to_string(category_array) |
1476 | 529 | 530 | ||
1477 | 530 | def get_show_title(self): | 531 | def get_show_title(self): |
1478 | @@ -577,12 +578,12 @@ | |||
1479 | 577 | self.slideList = [] | 578 | self.slideList = [] |
1480 | 578 | tmpSlide = [] | 579 | tmpSlide = [] |
1481 | 579 | metContent = False | 580 | metContent = False |
1484 | 580 | for l in self.lyrics : | 581 | for l in self.lyrics: |
1485 | 581 | if len(l) > 0 : | 582 | if len(l) > 0: |
1486 | 582 | metContent = True | 583 | metContent = True |
1487 | 583 | tmpSlide.append(l) | 584 | tmpSlide.append(l) |
1490 | 584 | else : | 585 | else: |
1491 | 585 | if metContent : | 586 | if metContent: |
1492 | 586 | metContent = False | 587 | metContent = False |
1493 | 587 | self.slideList.append(tmpSlide) | 588 | self.slideList.append(tmpSlide) |
1494 | 588 | tmpSlide = [] | 589 | tmpSlide = [] |
1495 | @@ -598,22 +599,22 @@ | |||
1496 | 598 | def get_preview_slide(self, slideNumber): | 599 | def get_preview_slide(self, slideNumber): |
1497 | 599 | """Return the preview text for specified slide number | 600 | """Return the preview text for specified slide number |
1498 | 600 | 601 | ||
1500 | 601 | slideNumber -- 0: all slides, 1..n : specific slide | 602 | slideNumber -- 0: all slides, 1..n: specific slide |
1501 | 602 | a list of strings are returned | 603 | a list of strings are returned |
1502 | 603 | """ | 604 | """ |
1503 | 604 | num = len(self.slideList) | 605 | num = len(self.slideList) |
1505 | 605 | if num < 1 : | 606 | if num < 1: |
1506 | 606 | raise SongSlideError(u'No slides in this song') | 607 | raise SongSlideError(u'No slides in this song') |
1508 | 607 | elif slideNumber > num : | 608 | elif slideNumber > num: |
1509 | 608 | raise SongSlideError(u'Slide number too high') | 609 | raise SongSlideError(u'Slide number too high') |
1511 | 609 | if slideNumber > 0 : | 610 | if slideNumber > 0: |
1512 | 610 | # return this slide | 611 | # return this slide |
1513 | 611 | res = self.slideList[slideNumber-1] | 612 | res = self.slideList[slideNumber-1] |
1514 | 612 | # find theme in this slide | 613 | # find theme in this slide |
1516 | 613 | else : | 614 | else: |
1517 | 614 | res = [] | 615 | res = [] |
1518 | 615 | for i in range(num): | 616 | for i in range(num): |
1520 | 616 | if i > 0 : | 617 | if i > 0: |
1521 | 617 | res.append(u'') | 618 | res.append(u'') |
1522 | 618 | res.extend() | 619 | res.extend() |
1523 | 619 | # remove formattingincluding themes | 620 | # remove formattingincluding themes |
1524 | @@ -633,26 +634,26 @@ | |||
1525 | 633 | lyric-part as a list of strings] | 634 | lyric-part as a list of strings] |
1526 | 634 | """ | 635 | """ |
1527 | 635 | num = len(self.slideList) | 636 | num = len(self.slideList) |
1529 | 636 | if num < 1 : | 637 | if num < 1: |
1530 | 637 | raise SongSlideError(u'No slides in this song') | 638 | raise SongSlideError(u'No slides in this song') |
1532 | 638 | elif slideNumber > num : | 639 | elif slideNumber > num: |
1533 | 639 | raise SongSlideError(u'Slide number too high') | 640 | raise SongSlideError(u'Slide number too high') |
1534 | 640 | res = [] | 641 | res = [] |
1536 | 641 | if self.show_title : | 642 | if self.show_title: |
1537 | 642 | title = self.get_title() | 643 | title = self.get_title() |
1539 | 643 | else : | 644 | else: |
1540 | 644 | title = "" | 645 | title = "" |
1542 | 645 | if self.show_author_list : | 646 | if self.show_author_list: |
1543 | 646 | author = self.get_author_list(True) | 647 | author = self.get_author_list(True) |
1545 | 647 | else : | 648 | else: |
1546 | 648 | author = "" | 649 | author = "" |
1548 | 649 | if self.show_copyright : | 650 | if self.show_copyright: |
1549 | 650 | cpright = self.get_copyright() | 651 | cpright = self.get_copyright() |
1551 | 651 | else : | 652 | else: |
1552 | 652 | cpright = "" | 653 | cpright = "" |
1554 | 653 | if self.show_song_cclino : | 654 | if self.show_song_cclino: |
1555 | 654 | ccli = self.get_song_cclino() | 655 | ccli = self.get_song_cclino() |
1557 | 655 | else : | 656 | else: |
1558 | 656 | ccli = "" | 657 | ccli = "" |
1559 | 657 | theme = self.get_theme() | 658 | theme = self.get_theme() |
1560 | 658 | # examine the slide for a theme | 659 | # examine the slide for a theme |
Couple of minor things
Comment in request to say what type of changes there are.
Do not worry about test classes.
You missed some lines with "" they should have been u''
I assume the commented out lines are so we can check nothing breaks.