Merge lp:~meths/openlp/trivialfixes into lp:openlp

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
Reviewer Review Type Date Requested Status
Tim Bentley Approve
Review via email: mp+12446@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Tim Bentley (trb143) wrote :

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.

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