Skip to content
This repository
Browse code

find * -name '*.py' | xargs sed -i -r 's,\s+$,,'

... my trailing whitespace autoremove vim plugin is constantly editing/autocorrecting files as i work.  as i do not mix cosmetic and functional commits, this is a real annoyance; this patch removes all trailing blanks, once-and-for-all.  ideally, this would be enforced.  as a bonus, the pipeline also fixes [dos] and [noeol] files.

LibTest results unaffected; assumed correct.
  • Loading branch information...
commit 64eff557466754baa2a85d8f665a1b16452c53e5 1 parent 9be1397
C Anthony Risinger authored May 14, 2012

Showing 301 changed files with 4,689 additions and 4,698 deletions. Show diff stats Hide diff stats

  1. 2  addons/CountryListBox.py
  2. 18  addons/DeferredHandler.py
  3. 493  addons/FlowPlayer.py
  4. 2  addons/RichTextEditor.py
  5. 342  addons/SWFUpload.py
  6. 2  addons/TinyMCEditor.py
  7. 4  contrib/copyright_check.py
  8. 10  contrib/create_imports.py
  9. 2  contrib/java2py.py
  10. 30  contrib/pyjscompressor.py
  11. 4  doc/book/Bookreader.py
  12. 10  doc/book/Chapter.py
  13. 8  doc/book/Sink.py
  14. 2  doc/book/SinkList.py
  15. 120  doc/gendocs.py
  16. 6  examples/addonsgallery/AddonsGallery.py
  17. 4  examples/addonsgallery/AutoCompleteTab.py
  18. 76  examples/addonsgallery/Canvas2DTab.py
  19. 62  examples/addonsgallery/CanvasTab.py
  20. 10  examples/addonsgallery/TooltipTab.py
  21. 12  examples/asteroids/Space.py
  22. 5  examples/buildall.py
  23. 2  examples/builder/Builder.py
  24. 6  examples/canvasprocessing/CanvasProcessing.py
  25. 4  examples/clickoverride/Override.py
  26. 2  examples/cssmesser/CSSMess.py
  27. 2  examples/deprecated/gears/GearsDemo.py
  28. 10  examples/deprecated/pywebgtkbuilder/AutoGtk.py
  29. 20  examples/dnd/AbsolutePositionExample.py
  30. 14  examples/dynamictable/DayFilterWidget.py
  31. 2  examples/dynamictable/DynaTable.py
  32. 52  examples/dynamictable/DynaTableWidget.py
  33. 2  examples/dynamictable/Person.py
  34. 4  examples/dynamictable/Professor.py
  35. 2  examples/dynamictable/Schedule.py
  36. 22  examples/dynamictable/SchoolCalendarWidget.py
  37. 2  examples/dynamictable/Student.py
  38. 4  examples/dynamictable/TimeSlot.py
  39. 14  examples/employeeadmin/ApplicationConstants.py
  40. 6  examples/employeeadmin/EmployeeAdmin.py
  41. 2  examples/employeeadmin/Grid.py
  42. 52  examples/employeeadmin/components.py
  43. 6  examples/employeeadmin/controller.py
  44. 30  examples/employeeadmin/model.py
  45. 70  examples/employeeadmin/view.py
  46. 10  examples/employeeadmin/vo.py
  47. 6  examples/flowpanel/FlowPanel.py
  48. 2  examples/gcharttestapp/GChartExample00.py
  49. 2  examples/gcharttestapp/GChartExample01.py
  50. 16  examples/gcharttestapp/GChartExample02.py
  51. 10  examples/gcharttestapp/GChartExample03.py
  52. 12  examples/gcharttestapp/GChartExample04.py
  53. 8  examples/gcharttestapp/GChartExample07.py
  54. 30  examples/gcharttestapp/GChartExample14.py
  55. 2  examples/gcharttestapp/GChartExample20.py
  56. 12  examples/gcharttestapp/GChartExample21.py
  57. 126  examples/gcharttestapp/GChartExample24.py
  58. 38  examples/gcharttestapp/GChartTestApp.py
  59. 2  examples/gcharttestapp/GChartTestAppUtil.py
  60. 2  examples/gcharttestapp/TestGChart00.py
  61. 6  examples/gcharttestapp/TestGChart02.py
  62. 30  examples/gcharttestapp/TestGChart05.py
  63. 2  examples/getattr/MainTest.py
  64. 8  examples/gridedit/GridEdit.py
  65. 14  examples/gridtest/GridTest.py
  66. 42  examples/gwtcanvas/GradientDemo.py
  67. 78  examples/gwtcanvas/StaticDemo.py
  68. 142  examples/gwtcanvas/SuiteDemo.py
  69. 4  examples/hangman/HangMan.py
  70. 16  examples/hangman/HangManWidget.py
  71. 14  examples/hangman/Wordlist_20.py
  72. 14  examples/infohierarchy/InfoDirectory.py
  73. 12  examples/infohierarchy/Trees.py
  74. 82  examples/infohierarchy/public/services/jsonrpc/__init__.py
  75. 20  examples/infohierarchy/public/services/jsonrpc/apacheServiceHandler.py
  76. 20  examples/infohierarchy/public/services/jsonrpc/cgihandler.py
  77. 6  examples/infohierarchy/public/services/jsonrpc/errors.py
  78. 5  examples/infohierarchy/public/services/jsonrpc/http.py
  79. 18  examples/infohierarchy/public/services/jsonrpc/proxy.py
  80. 28  examples/infohierarchy/public/services/jsonrpc/socketserver.py
  81. 2  examples/jsimport/examplejs.py
  82. 14  examples/jsonrpc/JSONRPCExample.py
  83. 2  examples/jsonrpc/public/services/EchoService.py
  84. 90  examples/jsonrpc/public/services/jsonrpc/__init__.py
  85. 26  examples/jsonrpc/public/services/jsonrpc/apacheServiceHandler.py
  86. 20  examples/jsonrpc/public/services/jsonrpc/cgihandler.py
  87. 6  examples/jsonrpc/public/services/jsonrpc/errors.py
  88. 5  examples/jsonrpc/public/services/jsonrpc/http.py
  89. 18  examples/jsonrpc/public/services/jsonrpc/proxy.py
  90. 32  examples/jsonrpc/public/services/jsonrpc/socketserver.py
  91. 8  examples/kitchensink/Buttons.py
  92. 4  examples/kitchensink/Frames.py
  93. 12  examples/kitchensink/Images.py
  94. 4  examples/kitchensink/KitchenSink.py
  95. 44  examples/kitchensink/Layouts.py
  96. 12  examples/kitchensink/Lists.py
  97. 28  examples/kitchensink/Logger.py
  98. 14  examples/kitchensink/Menus.py
  99. 20  examples/kitchensink/Popups.py
  100. 4  examples/kitchensink/Tables.py
  101. 2  examples/kitchensink/Tabs.py
  102. 14  examples/kitchensink/Text.py
  103. 52  examples/kitchensink/Trees.py
  104. 1,882  examples/libtest/ArgsTest.py
  105. 24  examples/libtest/AttributeTest.py
  106. 4  examples/libtest/Base64ModuleTest.py
  107. 4  examples/libtest/BoolTest.py
  108. 24  examples/libtest/BuiltinTest.py
  109. 36  examples/libtest/ClassTest.py
  110. 20  examples/libtest/CompileTest.py
  111. 22  examples/libtest/CsvModuleTest.py
  112. 10  examples/libtest/DictTest.py
  113. 4  examples/libtest/ExceptionTest.py
  114. 10  examples/libtest/FunctionTest.py
  115. 4  examples/libtest/GeneratorTest.py
  116. 4  examples/libtest/LibTest.py
  117. 36  examples/libtest/ListTest.py
  118. 2  examples/libtest/NameTest.py
  119. 6  examples/libtest/NoInlineCodeTest.py
  120. 2  examples/libtest/ReModuleTest.py
  121. 2  examples/libtest/StringTest.py
  122. 44  examples/libtest/Syntax27Test.py
  123. 52  examples/libtest/VarsTest.py
  124. 37  examples/libtest/WithTest.py
  125. 2  examples/libtest/builtin.py
  126. 14  examples/lightout/lightout.py
  127. 6  examples/mail/AboutDialog.py
  128. 8  examples/mail/Contacts.py
  129. 18  examples/mail/Logger.py
  130. 6  examples/mail/Mail.py
  131. 2  examples/mail/MailDetail.py
  132. 4  examples/mail/MailItems.py
  133. 4  examples/mail/MailList.py
  134. 4  examples/mail/Mailboxes.py
  135. 28  examples/maparea/MapAreaDemo.py
  136. 6  examples/media/Media.py
  137. 168  examples/minesweeper/minesweeper.py
  138. 2  examples/misc/djangotasks/todo/views.py
  139. 6  examples/misc/djangowanted/media/Popups.py
  140. 10  examples/misc/djangowanted/media/WebPage.py
  141. 10  examples/misc/djangowanted/media/WebPageEdit.py
  142. 8  examples/misc/djangowanted/testjsonrpc.py
  143. 2  examples/misc/djangowanted/wanted/forms.py
  144. 20  examples/misc/djangowanted/wanted/jsonrpc.py
  145. 2  examples/misc/djangowanted/wanted/views.py
  146. 6  examples/misc/djangoweb/media/Email.py
  147. 6  examples/misc/djangoweb/media/Popups.py
  148. 2  examples/misc/djangoweb/media/WebPage.py
  149. 10  examples/misc/djangoweb/media/WebPageEdit.py
  150. 8  examples/misc/djangoweb/webpages/jsonrpc.py
  151. 2  examples/misc/djangoweb/webpages/views.py
  152. 4  examples/misc/flaskexamples/doc/do_it.py
  153. 22  examples/misc/flaskexamples/flaskcelery/FLASKCELERYExample.py
  154. 2  examples/misc/flaskexamples/flaskcelery/flask_source/celery_tasks.py
  155. 24  examples/misc/flaskexamples/flaskcelery/flask_source/celery_views.py
  156. 4  examples/misc/flaskexamples/flaskcelery/flask_source/celeryconfig.py
  157. 2  examples/misc/flaskexamples/flaskcelery/flask_source/manage_celery.py
  158. 58  examples/misc/flaskexamples/flaskcelery/flask_source/method_views.py
  159. 2  examples/misc/flaskexamples/flaskcelery/public/services/EchoService.py
  160. 86  examples/misc/flaskexamples/flaskcelery/public/services/jsonrpc/__init__.py
  161. 26  examples/misc/flaskexamples/flaskcelery/public/services/jsonrpc/apacheServiceHandler.py
  162. 20  examples/misc/flaskexamples/flaskcelery/public/services/jsonrpc/cgihandler.py
  163. 6  examples/misc/flaskexamples/flaskcelery/public/services/jsonrpc/errors.py
  164. 5  examples/misc/flaskexamples/flaskcelery/public/services/jsonrpc/http.py
  165. 18  examples/misc/flaskexamples/flaskcelery/public/services/jsonrpc/proxy.py
  166. 32  examples/misc/flaskexamples/flaskcelery/public/services/jsonrpc/socketserver.py
  167. 16  examples/misc/flaskexamples/flaskcors/Flask_JSONRPC_CORS.py
  168. 2  examples/misc/flaskexamples/flaskcors/public/services/EchoService.py
  169. 86  examples/misc/flaskexamples/flaskcors/public/services/jsonrpc/__init__.py
  170. 26  examples/misc/flaskexamples/flaskcors/public/services/jsonrpc/apacheServiceHandler.py
  171. 20  examples/misc/flaskexamples/flaskcors/public/services/jsonrpc/cgihandler.py
  172. 6  examples/misc/flaskexamples/flaskcors/public/services/jsonrpc/errors.py
  173. 5  examples/misc/flaskexamples/flaskcors/public/services/jsonrpc/http.py
  174. 18  examples/misc/flaskexamples/flaskcors/public/services/jsonrpc/proxy.py
  175. 32  examples/misc/flaskexamples/flaskcors/public/services/jsonrpc/socketserver.py
  176. 76  examples/misc/flowplayer/fp.py
  177. 24  examples/misc/flowplayer/server.py
  178. 2  examples/misc/gaedjangononrelpuremvcblog/__main__.py
  179. 58  examples/misc/gaedjangononrelpuremvcblog/media/controller.py
  180. 200  examples/misc/gaedjangononrelpuremvcblog/media/model.py
  181. 388  examples/misc/gaedjangononrelpuremvcblog/media/view.py
  182. 56  examples/misc/gaedjangononrelpuremvcblog/media/vo.py
  183. 8  examples/misc/gaedjangononrelpuremvcblog/post/jsonrpc.py
  184. 2  examples/misc/gaedjangononrelpuremvcblog/post/views.py
  185. 12  examples/misc/scoping/Foo.py
  186. 4  examples/misc/simplewiki/Wiki.py
  187. 4  examples/misc/simplewiki/markdown.py
  188. 2  examples/misc/simplewiki/server.py
  189. 25  examples/misc/swfupload/server.py
  190. 49  examples/misc/swfupload/swfu.py
  191. 6  examples/navigate/Navigate.py
  192. 26  examples/navigate/buoy.py
  193. 38  examples/picasaweb/Photos.py
  194. 4  examples/picasaweb/PicasaWeb.py
  195. 52  examples/raphael/events.py
  196. 30  examples/raphael/graffle.py
  197. 26  examples/raphael/raphael_showcase.py
  198. 4  examples/raphael/spinner.py
  199. 14  examples/shell/Popups.py
  200. 6  examples/shell/Screen.py
  201. 2  examples/shell/Shell.py
  202. 4  examples/shell/textconsole.py
  203. 62  examples/showcase/pyColourize.py
  204. 4  examples/showcase/src/demos_panels/formPanel.py
  205. 2  examples/showcase/src/demos_panels/scrollPanel.py
  206. 2  examples/showcase/src/demos_widgets/textArea.py
  207. 2  examples/showcase/src/uiHelpers.py
  208. 10  examples/slideshow/Slide.py
  209. 4  examples/slideshow/Slideshow.py
  210. 90  examples/splitpanel/SplitPanel.py
  211. 2  examples/tabpanelwidget/Tabs.py
  212. 8  examples/timerdemo/timerdemo.py
  213. 2  examples/timesheet/__main__.py
  214. 4  examples/timesheet/model/TimeProxy.py
  215. 2  examples/timesheet/model/vo/TimeVO.py
  216. 2  examples/timesheet/view/DatePickerMediator.py
  217. 2  examples/timesheet/view/MenuMediator.py
  218. 2  examples/timesheet/view/TimeGridMediator.py
  219. 2  examples/timesheet/view/components/Grid.py
  220. 2  examples/timesheet/view/components/Summary.py
  221. 10  examples/timesheet/view/components/TimeGrid.py
  222. 16  examples/toggle/Toggle.py
  223. 2  examples/treeitemcheckbox/TreeItemTest.py
  224. 2  examples/uitest/EventTest.py
  225. 2  examples/uitest/UnitTest.py
  226. 4  examples/uitest/uitest.py
  227. 10  examples/uploader/AsyncUpload.py
  228. 4  examples/uploader/Upload.py
  229. 32  examples/widgets/Widgets.py
  230. 4  examples/xmldoc/XMLload.py
  231. 28  generate_stdlib.py
  232. 4  library/__pyjamas__.py
  233. 18  library/dynamic.py
  234. 6  library/pygwt.browser.py
  235. 12  library/pyjamas/Canvas/CanvasGradientImplDefault.py
  236. 12  library/pyjamas/Canvas/CanvasGradientImplIE6.py
  237. 6  library/pyjamas/Canvas/Color.py
  238. 4  library/pyjamas/Canvas/ColorStop.py
  239. 2  library/pyjamas/Canvas/GWTCanvas.ie6.py
  240. 2  library/pyjamas/Canvas/GWTCanvas.mshtml.py
  241. 190  library/pyjamas/Canvas/GWTCanvas.py
  242. 2  library/pyjamas/Canvas/GWTCanvasImplDefault.hulahop.py
  243. 2  library/pyjamas/Canvas/GWTCanvasImplDefault.py
  244. 2  library/pyjamas/Canvas/GWTCanvasImplIE6.mshtml.py
  245. 14  library/pyjamas/Canvas/GWTCanvasImplIE6.py
  246. 2  library/pyjamas/Canvas/GradientFactoryImplDefault.py
  247. 2  library/pyjamas/Canvas/HTML5Canvas.ie6.py
  248. 58  library/pyjamas/Canvas/HTML5Canvas.py
  249. 36  library/pyjamas/Canvas/HTML5CanvasImplDefault.py
  250. 38  library/pyjamas/Canvas/HTML5CanvasImplIE6.py
  251. 14  library/pyjamas/Canvas/ImageData.py
  252. 46  library/pyjamas/Canvas/ImageLoader.py
  253. 44  library/pyjamas/Canvas/ImageLoaderhulahop.py
  254. 2  library/pyjamas/Canvas/JSOStack.mshtml.py
  255. 2  library/pyjamas/Canvas/JSOStack.py
  256. 4  library/pyjamas/Canvas/LinearGradientImplDefault.py
  257. 10  library/pyjamas/Canvas/PathElement.py
  258. 8  library/pyjamas/Canvas/RadialGradientImplDefault.py
  259. 18  library/pyjamas/Canvas/RadialGradientImplIE6.py
  260. 222  library/pyjamas/Canvas/SVGCanvas.py
  261. 12  library/pyjamas/Canvas2D.browser.py
  262. 24  library/pyjamas/Canvas2D.py
  263. 4  library/pyjamas/Cookies.browser.py
  264. 2  library/pyjamas/Cookies.py
  265. 20  library/pyjamas/DOM.browser.py
  266. 6  library/pyjamas/DOM.ie6.py
  267. 8  library/pyjamas/DOM.mozilla.py
  268. 2  library/pyjamas/DOM.mshtml.py
  269. 2  library/pyjamas/DOM.oldmoz.py
  270. 4  library/pyjamas/DOM.py
  271. 10  library/pyjamas/DOM.pywebkitdfb.py
  272. 10  library/pyjamas/DOM.pywebkitgtk.py
  273. 4  library/pyjamas/DOM.safari.py
  274. 2  library/pyjamas/EventController.py
  275. 2  library/pyjamas/Factory.py
  276. 2  library/pyjamas/HTTPRequest.browser.py
  277. 8  library/pyjamas/HTTPRequest.hulahop.py
  278. 18  library/pyjamas/HTTPRequest.py
  279. 16  library/pyjamas/History.browser.py
  280. 2  library/pyjamas/History.safari.py
  281. 42  library/pyjamas/JSONService.py
  282. 2  library/pyjamas/Location.browser.py
  283. 2  library/pyjamas/Location.opera.py
  284. 38  library/pyjamas/Location.py
  285. 2  library/pyjamas/PyExternalMod.py
  286. 8  library/pyjamas/Timer.mshtml.py
  287. 2  library/pyjamas/Window.py
  288. 6  library/pyjamas/builder/Builder.py
  289. 4  library/pyjamas/builder/XMLFile.py
  290. 170  library/pyjamas/builder/__init__.py
  291. 104  library/pyjamas/chart/Annotation.py
  292. 52  library/pyjamas/chart/AnnotationLocation.py
  293. 22  library/pyjamas/chart/Axis.py
  294. 18  library/pyjamas/chart/GChart.py
  295. 42  library/pyjamas/chart/GChartWidgets.py
  296. 2  library/pyjamas/chart/Point.py
  297. 500  library/pyjamas/chart/Symbol.py
  298. 40  library/pyjamas/chart/SymbolType.py
  299. 8  library/pyjamas/chart/TickLocation.py
  300. 2  library/pyjamas/chart/TouchedPointUpdateOption.py
2  addons/CountryListBox.py
@@ -255,7 +255,7 @@ class CountryListBox(ListBox):
255 255
     def __init__(self):
256 256
         ListBox.__init__(self)
257 257
         self.addCountries()
258  
-       
  258
+
259 259
     def addCountries(self):
260 260
         for countryItem in self.country_list:
261 261
             self.addItem(countryItem[0], countryItem[1])
18  addons/DeferredHandler.py
@@ -4,17 +4,17 @@
4 4
 @contact: tobi-weber@gmx.de
5 5
 """
6 6
 
7  
-from pyjamas.Timer import Timer 
  7
+from pyjamas.Timer import Timer
8 8
 
9 9
 global deferredHandlers
10 10
 deferredHandlers = []
11 11
 global timerIsActive
12  
-timerIsActive = False 
13  
-   
  12
+timerIsActive = False
  13
+
14 14
 def add(handler, arguments=[]):
15 15
     deferredHandlers.append([handler, arguments])
16 16
     maybeSetDeferredHandlerTimer()
17  
-  
  17
+
18 18
 def flushDeferredHandlers():
19 19
     for i in range(len(deferredHandlers)):
20 20
         current = deferredHandlers[0]
@@ -23,17 +23,17 @@ def flushDeferredHandlers():
23 23
             handler = current[0]
24 24
             args = current[1]
25 25
             handler(*args)
26  
-    
  26
+
27 27
 def maybeSetDeferredHandlerTimer():
28 28
     global timerIsActive
29  
-    
  29
+
30 30
     if (not timerIsActive) and (not len(deferredHandlers)==0):
31 31
         Timer(1, onTimer)
32 32
         timerIsActive = True
33  
-  
  33
+
34 34
 def onTimer(t):
35 35
     global timerIsActive
36  
-    
  36
+
37 37
     flushDeferredHandlers()
38 38
     timerIsActive = False
39  
-    maybeSetDeferredHandlerTimer() 
  39
+    maybeSetDeferredHandlerTimer()
493  addons/FlowPlayer.py
@@ -30,14 +30,14 @@ def fireEvent(self, *args):
30 30
             if args[i] != None:
31 31
                 arguments.append(args[i])
32 32
         wnd().players[args[0]].fireEvent(movieName, eventName, arguments)
33  
-        
  33
+
34 34
 def setInstanceGlobal(movieName, instance):
35 35
     wnd().players[movieName] = instance
36  
-    
  36
+
37 37
 wnd().players = {}
38 38
 wnd().flowplayer = PlayerEventCatcher()
39  
-    
40  
-    
  39
+
  40
+
41 41
 # Counter for Flash-movies
42 42
 global movieCount
43 43
 movieCount = 0
@@ -48,9 +48,9 @@ def getMovieCount():
48 48
 
49 49
 class Player(FlashPanel):
50 50
     """
51  
-    Embedding and api handling of Flowplayer 
  51
+    Embedding and api handling of Flowplayer
52 52
     """
53  
-    
  53
+
54 54
     clip_events = ['onBegin', 'onBeforeBegin', 'onFinish', 'onBeforeFinish', 'onLastSecond',
55 55
                    'onMetaData', 'onPause', 'onBeforePause', 'onResume', 'onBeforeResume',
56 56
                    'onSeek', 'onBeforeSeek', 'onStart', 'onStop', 'onBeforeStop', 'onUpdate',
@@ -63,7 +63,7 @@ def __init__(self, url, config=None):
63 63
         """
64 64
         FlashPanel.__init__(self)
65 65
         global movieCount
66  
-        
  66
+
67 67
         self.api = None
68 68
         self.playlist = []
69 69
         self.plugins = {}
@@ -72,12 +72,12 @@ def __init__(self, url, config=None):
72 72
         self.common_clip = None
73 73
         self.playlist = None
74 74
         self.curClip = None
75  
-        
  75
+
76 76
         self.playerId = 'flowplayer'+str(movieCount)
77 77
         self.movieName = self.playerId+'_api'
78 78
         movieCount+=1
79 79
         setInstanceGlobal(self.movieName, self)
80  
-        
  80
+
81 81
         #self.setObjectClass('flowplayer')
82 82
         self.setObjectID(self.movieName)
83 83
         self.setID(self.playerId)
@@ -101,17 +101,17 @@ def __init__(self, url, config=None):
101 101
         plugin.setPlayer(self)
102 102
         self.plugins['screen'] = plugin
103 103
         self.flashvars = self.__createFlashVars(config)
104  
-        
  104
+
105 105
     def loadApi(self):
106 106
         """
107 107
         Load the Flowplayer api
108 108
         """
109 109
         self.api = self.getMovieElement()
110  
-            
  110
+
111 111
     def __getObjectAsString(self, obj):
112 112
         """
113 113
         @param obj: Object
114  
-        
  114
+
115 115
         @return: String
116 116
         """
117 117
         obj_string = '{'
@@ -132,21 +132,21 @@ def __getObjectAsString(self, obj):
132 132
                     i+=1
133 133
         obj_string += '}'
134 134
         return obj_string
135  
-        
  135
+
136 136
     def __createFlashVars(self, config):
137 137
         """
138 138
         @param config: Configuration Object
139  
-        
  139
+
140 140
         @return: String
141  
-        
  141
+
142 142
         Build Flashparams from Configuration
143 143
         """
144 144
         # Begin Config
145 145
         config_string = 'config={'
146  
-        
  146
+
147 147
         # PlayerId
148 148
         config_string += '"playerId":"%s",' % self.movieName
149  
-        
  149
+
150 150
         # Plugins
151 151
         if config.plugins:
152 152
             config_string += '"plugins":{'
@@ -163,8 +163,8 @@ def __createFlashVars(self, config):
163 163
             if not config.controls and not controls:
164 164
                 config_string += ',"controls":null'
165 165
             config_string += '},'
166  
-        
167  
-        
  166
+
  167
+
168 168
         # Common Clip
169 169
         config_string += '"clip":'
170 170
         if config.common_clip:
@@ -172,7 +172,7 @@ def __createFlashVars(self, config):
172 172
             config_string += ','
173 173
         else:
174 174
             config_string += '{},'
175  
-        
  175
+
176 176
         # Playlist
177 177
         config_string += '"playlist":['
178 178
         if config.playlist:
@@ -185,11 +185,11 @@ def __createFlashVars(self, config):
185 185
         else:
186 186
             config_string += '{}'
187 187
         config_string += ']'
188  
-        
  188
+
189 189
         # Debug
190 190
         if config.debug:
191 191
             config_string += ',"debug":true,"log":{"level":"%s","filter":"%s"}' % (config.logLevel, config.logFilter)
192  
-        
  192
+
193 193
         # End Config
194 194
         config_string += '}'
195 195
         config_string = config_string.replace('%', 'pct')
@@ -200,11 +200,11 @@ def __createFlashVars(self, config):
200 200
         config_string = config_string.replace('\'', '\\\'')
201 201
         #log.debug(config_string)
202 202
         return config_string
203  
-        
  203
+
204 204
     def fireEvent(self, movieName, eventName, arguments):
205 205
         """
206 206
         @param args: Arguments given by Flowplayer
207  
-        
  207
+
208 208
         Fire event
209 209
         """
210 210
         #log.debug('FireEvent: %s/%s/%s' % (movieName, eventName, str(arguments)))
@@ -257,23 +257,23 @@ def fireEvent(self, movieName, eventName, arguments):
257 257
                     if hasattr(listener, eventName):
258 258
                         eventMethod = getattr(listener, eventName)
259 259
                         DeferredHandler.add(eventMethod, arguments)
260  
-        
  260
+
261 261
     def addListener(self, listener):
262 262
         """
263 263
         @param listener: Object
264  
-        
  264
+
265 265
         Add a listener
266 266
         """
267 267
         self.listeners.append(listener)
268  
-    
  268
+
269 269
     def removeListener(self, listener):
270 270
         """
271 271
         @param listener: Object
272  
-        
273  
-        Remove a listener 
  272
+
  273
+        Remove a listener
274 274
         """
275 275
         self.listeners.remove(listener)
276  
-    
  276
+
277 277
     def isLoaded(self):
278 278
         """
279 279
         @return: Boolean, if the player is loaded
@@ -282,18 +282,18 @@ def isLoaded(self):
282 282
             return True
283 283
         else:
284 284
             return False
285  
-    
  285
+
286 286
     # Flash ExternalInterface calls
287  
-    
  287
+
288 288
     def addClip(self, clip, index=None):
289 289
         """
290 290
         @param clip: Clip Object
291 291
         @param index: specifies the position where clip is added in the playlist
292  
-        
  292
+
293 293
         Add's a clip to the playlist. If the clip object contains a position
294 294
         property then the clip is added to an existing clip as an instream clip.
295 295
         The player's playlist is extended with the new clip and the onClipAdd event is fired.
296  
-        All common clip properties and event listeners are preserved. 
  296
+        All common clip properties and event listeners are preserved.
297 297
         """
298 298
         if self.isLoaded():
299 299
             if index:
@@ -302,25 +302,25 @@ def addClip(self, clip, index=None):
302 302
             else:
303 303
                 self.playlist.append(clip)
304 304
                 self.callFlash('fp_addClip', [clip.getProperties()])
305  
-        
  305
+
306 306
     def setClip(self, clip):
307 307
         """
308 308
         @param clip: Clip Object
309  
-        
  309
+
310 310
         Replaces the current playlist with a playlist consisting of a single clip.
311 311
         All common clip properties and events are preserved.
312  
-        After this an onPlaylistReplace event fires. 
  312
+        After this an onPlaylistReplace event fires.
313 313
         """
314 314
         if self.isLoaded():
315 315
             self.setPlaylist([clip])
316  
-        
  316
+
317 317
     def getClip(self, index=None):
318 318
         """
319  
-        @param index: Position in the playlist 
320  
-        
  319
+        @param index: Position in the playlist
  320
+
321 321
         @return: clip object from the playlist specified by index.
322  
-        
323  
-        For example getClip(0) returns the first clip from the playlist. 
  322
+
  323
+        For example getClip(0) returns the first clip from the playlist.
324 324
         If called without an index the current clip will be returned.
325 325
         """
326 326
         if self.isLoaded():
@@ -331,29 +331,29 @@ def getClip(self, index=None):
331 331
                 return self.playlist[index]
332 332
         else:
333 333
             return None
334  
-    
  334
+
335 335
     def getCurrentClip(self):
336 336
         # TODO
337 337
         return None
338  
-    
  338
+
339 339
     def close(self):
340 340
         """
341  
-        Closes all connections between the player and the server. This method 
  341
+        Closes all connections between the player and the server. This method
342 342
         is usually automatically called for you but in some cases you may
343 343
         want to do this yourself.
344 344
         """
345 345
         if self.isLoaded():
346 346
             self.callFlash('fp_close', [])
347  
-    
  347
+
348 348
     def getTime(self):
349 349
         """
350  
-        @return: current time, in seconds, of the current clip. 
  350
+        @return: current time, in seconds, of the current clip.
351 351
         """
352 352
         if self.isLoaded():
353 353
             return self.callFlash('fp_getTime', [])
354 354
         else:
355 355
             return None
356  
-    
  356
+
357 357
     def getVersion(self):
358 358
         """
359 359
         @return: Flowplayer version
@@ -362,11 +362,11 @@ def getVersion(self):
362 362
             return self.callFlash('fp_getVersion', [])
363 363
         else:
364 364
             return None
365  
-        
  365
+
366 366
     def getPlugin(self, name):
367 367
         """
368 368
         @param name: Plugins name
369  
-        
  369
+
370 370
         @return: plugin with the given name
371 371
         """
372 372
         if self.plugins.has_key(name):
@@ -374,11 +374,11 @@ def getPlugin(self, name):
374 374
             return plugin
375 375
         else:
376 376
             return None
377  
-        
  377
+
378 378
     def loadPlugin(self, plugin):
379 379
         """
380 380
         @param plugin: Plugin object
381  
-        
  381
+
382 382
         Loads a plugin in the player.
383 383
         """
384 384
         if self.isLoaded():
@@ -386,7 +386,7 @@ def loadPlugin(self, plugin):
386 386
             plugin.setPlayer(self)
387 387
             self.plugins[plugin.name] = plugin
388 388
             self.callFlash('fp_loadPlugin', [plugin.name, plugin.url, properties])
389  
-    
  389
+
390 390
     def getState(self):
391 391
         """
392 392
         @return: state of the player. Possible values are:
@@ -402,7 +402,7 @@ def getState(self):
402 402
             return self.callFlash('fp_getState', [])
403 403
         else:
404 404
             return -1
405  
-    
  405
+
406 406
     def getVolume(self):
407 407
         """
408 408
         @return: player's current volume setting as an integer between 0-100.
@@ -412,45 +412,45 @@ def getVolume(self):
412 412
             return self.callFlash('fp_getVolume', [])
413 413
         else:
414 414
             return None
415  
-    
  415
+
416 416
     def setVolume(self, volume):
417 417
         """
418 418
         @param volume: Integer between 0-100
419  
-        
420  
-        Sets the volume. 0 is totally muted. 
  419
+
  420
+        Sets the volume. 0 is totally muted.
421 421
         """
422 422
         if self.isLoaded():
423 423
             self.callFlash('fp_setVolume', [volume])
424  
-    
  424
+
425 425
     def isFullscreen(self):
426 426
         """
427  
-        @return:  True if the player is in full screen mode and False otherwise. 
  427
+        @return:  True if the player is in full screen mode and False otherwise.
428 428
         """
429 429
         if self.isLoaded():
430 430
             return self.callFlash('fp_isFullscreen', [])
431 431
         else:
432 432
             return None
433  
-            
  433
+
434 434
     def toggleFullscreen(self):
435 435
         """
436  
-        Toggles the state between fullscreen and normal mode. 
437  
-        
  436
+        Toggles the state between fullscreen and normal mode.
  437
+
438 438
         @return:  True if the player is in full screen mode and False otherwise.
439 439
         """
440 440
         if self.isLoaded():
441 441
             return self.callFlash('fp_toggleFullscreen', [])
442 442
         else:
443 443
             return None
444  
-    
  444
+
445 445
     def isPaused(self):
446 446
         """
447  
-        @return:  True if the player is paused and False otherwise. 
  447
+        @return:  True if the player is paused and False otherwise.
448 448
         """
449 449
         if self.isLoaded():
450 450
             return self.callFlash('fp_isPaused', [])
451 451
         else:
452 452
             return None
453  
-    
  453
+
454 454
     def isPlaying(self):
455 455
         """
456 456
         @return:  True if the player is playing and False otherwise.
@@ -459,84 +459,84 @@ def isPlaying(self):
459 459
             return self.callFlash('fp_isPlaying', [])
460 460
         else:
461 461
             return None
462  
-    
  462
+
463 463
     def mute(self):
464 464
         """
465 465
         Mutes the player. The difference between this and setVolume(0) is that the
466  
-        original volume level is remembered and resumed when unmute() is called. 
  466
+        original volume level is remembered and resumed when unmute() is called.
467 467
         """
468 468
         if self.isLoaded():
469 469
             self.callFlash('fp_mute', [])
470  
-    
  470
+
471 471
     def unmute(self):
472 472
         """
473  
-        Resumes the volume level that was set before the player was muted. 
  473
+        Resumes the volume level that was set before the player was muted.
474 474
         """
475 475
         if self.isLoaded():
476 476
             self.callFlash('fp_unmute', [])
477  
-        
  477
+
478 478
     def pause(self):
479 479
         """
480 480
         Pauses the currently playing clip.
481 481
         """
482 482
         if self.isLoaded():
483 483
             self.callFlash('fp_pause', [])
484  
-        
  484
+
485 485
     def play(self):
486 486
         """
487  
-        starts playback of the current clip. 
  487
+        starts playback of the current clip.
488 488
         """
489 489
         if self.isLoaded():
490 490
             self.callFlash('fp_play', [])
491  
-    
  491
+
492 492
     def playIndex(self, index):
493 493
         """
494 494
         @param index: the zero-based index of the clip in the Player's playlist array.
495  
-        
  495
+
496 496
         Starts playback of the clip specified by index.
497 497
         """
498 498
         if self.isLoaded():
499 499
             self.callFlash('fp_play', [index])
500  
-        
  500
+
501 501
     def playClip(self, clip):
502 502
         """
503  
-        @param clip: Clip object 
504  
-        
  503
+        @param clip: Clip object
  504
+
505 505
         Plays the clip. The player's playlist is replaced with a new playlist
506 506
         consisting of this single clip and the onPlaylistReplace event is fired.
507  
-        All common clip properties and event listeners are preserved. 
  507
+        All common clip properties and event listeners are preserved.
508 508
         """
509 509
         if self.isLoaded():
510 510
             self.playlist = [clip]
511 511
             self.callFlash('fp_play', [clip.getProperties()])
512  
-        
  512
+
513 513
     def playClips(self, clips):
514 514
         """
515 515
         @param clips: List of clips
516  
-         
  516
+
517 517
         Play the playlist specified by a List of clips. The player's playlist
518 518
         is replaced with a new playlist consisting of these clips and the
519 519
         onPlaylistReplace event is fired. All common clip properties and event
520  
-        listeners are preserved. 
  520
+        listeners are preserved.
521 521
         """
522 522
         if self.isLoaded():
523 523
             self.playlist = clips
524 524
             self.callFlash('fp_play', [self.playlist])
525  
-    
  525
+
526 526
     def toggle(self):
527 527
         """
528 528
         Toggles the state between play and pause.
529 529
         """
530 530
         if self.isLoaded():
531 531
             self.callFlash('fp_toggle', [])
532  
-        
  532
+
533 533
     def stop(self):
534 534
         """
535 535
         Stops the current clip.
536 536
         """
537 537
         if self.isLoaded():
538 538
             self.callFlash('fp_stop', [])
539  
-        
  539
+
540 540
     def reset(self, pluginNames=None, speed=None):
541 541
         """
542 542
         If you have moved your screen or controlbar, this call moves them back to
@@ -551,78 +551,78 @@ def reset(self, pluginNames=None, speed=None):
551 551
                     self.callFlash('fp_reset', [pluginNames])
552 552
             else: # Reset Controls and Screens
553 553
                 self.callFlash('fp_reset', [])
554  
-    
  554
+
555 555
     def resume(self):
556 556
         """
557 557
         Resumes the currently paused clip.
558 558
         """
559 559
         if self.isLoaded():
560 560
             self.callFlash('fp_resume', [])
561  
-        
  561
+
562 562
     def seek(self, seconds):
563 563
         """
564 564
         Seeks to the specified time of the current clip, in seconds. If using
565  
-        default URL-based streaming provider then the buffer must have loaded 
  565
+        default URL-based streaming provider then the buffer must have loaded
566 566
         to the point of seeking. When using streaming server this is not required.
567 567
         """
568 568
         if self.isLoaded():
569 569
             self.callFlash('fp_seek', [seconds])
570  
-    
  570
+
571 571
     def startBuffering(self):
572 572
         """
573  
-        Starts downloading video data from the server. 
  573
+        Starts downloading video data from the server.
574 574
         """
575 575
         if self.isLoaded():
576 576
             self.callFlash('fp_startBuffering', [])
577  
-        
  577
+
578 578
     def stopBuffering(self):
579 579
         """
580  
-        Stops downloading video data from the server. 
  580
+        Stops downloading video data from the server.
581 581
         """
582 582
         if self.isLoaded():
583 583
             self.callFlash('fp_stopBuffering', [])
584  
-            
  584
+
585 585
     def getPlaylist(self):
586 586
         """
587  
-        Returns the playlist of the player as a list of Clip objects. 
  587
+        Returns the playlist of the player as a list of Clip objects.
588 588
         """
589 589
         return self.playlist
590  
-        
  590
+
591 591
     def setPlaylist(self, clips):
592 592
         """
593 593
         @param clips: List of clips
594  
-        
  594
+
595 595
         Replaces the current playlist with a new one. The playlist is given
596 596
         as a list of clips. All common clip properties are preserved.
597  
-        After this an onPlaylistReplace event fires. 
  597
+        After this an onPlaylistReplace event fires.
598 598
         """
599 599
         if self.isLoaded():
600 600
             self.playlist = clips
601 601
             self.callFlash('fp_setPlaylist', [self.playlist])
602  
-        
  602
+
603 603
     def updateClip(self, clip):
604 604
         """
605 605
         @param clip: clip object
606  
-        
  606
+
607 607
         Updates a clip, if the clip properties are changed
608 608
         """
609 609
         if self.isLoaded():
610 610
             index = self.playlist.index(clip)
611 611
             self.callFlash('fp_updateClip', [clip.getProperties(), index])
612  
-    
  612
+
613 613
     def getScreen(self):
614 614
         """
615 615
         @return:  the screen plugin
616 616
         """
617 617
         return self.getPlugin('screen')
618  
-    
  618
+
619 619
     def getControls(self):
620 620
         """
621 621
         @return:  the controls plugin
622 622
         """
623 623
         return self.getPlugin('controls')
624  
-        
625  
-        
  624
+
  625
+
626 626
 class Configuration:
627 627
     """
628 628
     Defines the Startup Configuration of FlowPlayer
@@ -632,7 +632,7 @@ class Configuration:
632 632
     @var logFilter: String
633 633
     """
634 634
     def __init__(self):
635  
-        self.controls = True 
  635
+        self.controls = True
636 636
         """Boolean, if controls are enabled. Default: True"""
637 637
         self.debug = False
638 638
         """Boolean, for debugging"""
@@ -640,32 +640,32 @@ def __init__(self):
640 640
         """ Loglevel """
641 641
         self.logFilter = '*'
642 642
         """ Logfilter """
643  
-        
  643
+
644 644
         self.plugins = []
645 645
         self.common_clip = Clip()
646 646
         self.playlist = []
647  
-        
  647
+
648 648
     def addPlugin(self, plugin):
649 649
         """
650 650
         @param plugin: Plugin object
651 651
         """
652 652
         self.plugins.append(plugin)
653  
-            
  653
+
654 654
     def setCommonClip(self, clip):
655 655
         """
656 656
         @param clip: Clip object
657 657
         """
658 658
         self.common_clip = clip
659  
-    
  659
+
660 660
     def setPlaylist(self, playlist):
661 661
         """
662 662
         @param playlist: List with Clips
663 663
         """
664 664
         self.playlist = playlist
665  
-    
  665
+
666 666
     def disableControls(self):
667 667
         self.controls = False
668  
-    
  668
+
669 669
 class Clip:
670 670
     """
671 671
     Clip for the player
@@ -698,66 +698,66 @@ class Clip:
698 698
              'urlResolver' # String
699 699
              ]
700 700
     """ Possible Attributes for a Clip; Can be added with setAttr-Method """
701  
-    
  701
+
702 702
     def __init__(self, url=None):
703 703
         self._player = None
704 704
         self.listeners = []
705 705
         if url:
706 706
             setattr(self, 'url', url)
707  
-    
  707
+
708 708
     def setAttr(self, attr, value):
709 709
         """
710 710
         @param attr: Properties name
711 711
         @param value: Properties value
712  
-        
  712
+
713 713
         Sets a Property to this Object
714 714
         """
715 715
         if attr in self.attrs:
716 716
             setattr(self, attr, value)
717 717
             self.update()
718  
-    
  718
+
719 719
     def setPlayer(self, player):
720 720
         """
721 721
         @param player: Player Instance
722 722
         """
723 723
         self._player = player
724  
-    
  724
+
725 725
     def getPlayer(self):
726 726
         """
727 727
         @return: The player instance
728 728
         """
729 729
         return self._player
730  
-        
  730
+
731 731
     def update(self):
732 732
         """
733 733
         Updates this clip instance, if it is changed on runtime
734 734
         """
735 735
         if self._player:
736 736
             self._player.updateClip(self)
737  
-        
  737
+
738 738
     def addListener(self, listener):
739 739
         """
740 740
         @param listener: Object
741  
-        
  741
+
742 742
         Add a listener
743 743
         """
744 744
         self.listeners.append(listener)
745  
-    
  745
+
746 746
     def removeListener(self, listener):
747 747
         """
748 748
         @param listener: Object
749  
-        
  749
+
750 750
         Remove a listener
751 751
         """
752 752
         self.listeners.remove(listener)
753  
-                
  753
+
754 754
     def fireEvent(self, eventName, arguments):
755 755
         for listener in self.listeners:
756 756
             if hasattr(listener, eventName):
757 757
                 eventMethod = getattr(listener, eventName)
758 758
                 arguments.insert(0, self)
759 759
                 DeferredHandler.add(eventMethod, arguments)
760  
-        
  760
+
761 761
     def getProperties(self):
762 762
         """
763 763
         @return:  Dictonary with Properties
@@ -767,12 +767,12 @@ def getProperties(self):
767 767
             if hasattr(self, attr):
768 768
                 properties[attr] = getattr(self, attr)
769 769
         return properties
770  
-         
  770
+
771 771
 class Plugin:
772 772
     """
773 773
     Base class for plugins
774 774
     """
775  
-    
  775
+
776 776
     attrs = ['url',
777 777
              'bottom',
778 778
              'height',
@@ -792,7 +792,7 @@ class Plugin:
792 792
              'backgroundGradient',
793 793
              'backgroundImage']
794 794
     """ Possible Attributes for a Plugin; Can be added with setAttr-Method """
795  
-    
  795
+
796 796
     def __init__(self, url=None, name=None):
797 797
         if url:
798 798
             self.url = url
@@ -801,39 +801,39 @@ def __init__(self, url=None, name=None):
801 801
         self._player = None
802 802
         self.listeners = []
803 803
         self.loaded = False
804  
-    
  804
+
805 805
     def setAttr(self, attr, value):
806 806
         """
807 807
         @param attr: Properties name
808 808
         @param value: Properties value
809  
-        
  809
+
810 810
         Sets a Property to this Object
811 811
         """
812 812
         if attr in self.attrs:
813 813
             setattr(self, attr, value)
814  
-    
  814
+
815 815
     def setPlayer(self, player):
816 816
         """
817 817
         @param player: Player Instance
818 818
         """
819 819
         self._player = player
820  
-        
  820
+
821 821
     def isLoaded(self):
822 822
         """
823 823
         Returns a Boolean, if the plugin is loaded
824 824
         """
825 825
         return self.loaded
826  
-    
  826
+
827 827
     def animate(self, properties, speed=500):
828 828
         """
829  
-        @param properties: Dictonary;  the plugin's placement, 
  829
+        @param properties: Dictonary;  the plugin's placement,
830 830
         size and opacity properties that you want to animate
831  
-        
  831
+
832 832
         @param speed: Integer; specifies the duration of the animation, in milliseconds.
833  
-        
834  
-        animate() lets you change a plugin's position, size and opacity in an animated way. 
  833
+
  834
+        animate() lets you change a plugin's position, size and opacity in an animated way.
835 835
         This can give very cool effects on your web page.
836  
-        You can also do relative animations by prepending a "+=" or "-=" to the property 
  836
+        You can also do relative animations by prepending a "+=" or "-=" to the property
837 837
         value to animate relative to the property's current value.
838 838
         plugin.animate({width:'80%'})
839 839
         """
@@ -841,103 +841,103 @@ def animate(self, properties, speed=500):
841 841
             if self.name:
842 842
                 callback = 'onAnimate'
843 843
                 self._player.callFlash('fp_animate', [self.name, properties, speed, callback])
844  
-        
  844
+
845 845
     def css(self, properties):
846 846
         """
847 847
         @param properties: Dictonary
848  
-        
  848
+
849 849
         Changes the plugin's style and other properties immediately without animation.
850  
-        Change controlbar background color 
  850
+        Change controlbar background color
851 851
         controls.css({backgroundColor:'#cccccc'})
852 852
         """
853 853
         if self.loaded and self._player:
854 854
             if self.name:
855 855
                 self._player.callFlash('fp_css', [self.name, properties])
856  
-    
  856
+
857 857
     def fadeIn(self, speed=500):
858 858
         """
859 859
         @param speed: Integer; specifies the duration of the animation, in milliseconds.
860  
-        
  860
+
861 861
         Makes the plugin visible in an animated way by adjusting its opacity
862  
-        from the initial opacity to 100%. In typical scenarios the initial 
863  
-        opacity is 0. This call will also set the plugin's display property 
  862
+        from the initial opacity to 100%. In typical scenarios the initial
  863
+        opacity is 0. This call will also set the plugin's display property
864 864
         to "block", making it visible if it was hidden.
865 865
         """
866 866
         if self.loaded and self._player:
867 867
             callback = 'onAnimate'
868 868
             if self.name:
869 869
                 self._player.callFlash('fp_fadeIn', [self.name, speed, callback])
870  
-        
  870
+
871 871
     def fadeOut(self, speed=500):
872 872
         """
873 873
         @param speed: Integer; specifies the duration of the animation, in milliseconds.
874  
-        
875  
-        Hides the plugin in an animated manner by adjusting its opacity from 
876  
-        the initial opacity to 0%. This call will also set the plugin's display 
  874
+
  875
+        Hides the plugin in an animated manner by adjusting its opacity from
  876
+        the initial opacity to 0%. This call will also set the plugin's display
877 877
         property to "none", removing it completely from the canvas.
878 878
         """
879 879
         if self.loaded and self._player:
880 880
             callback = 'onAnimate'
881 881
             if self.name:
882 882
                 self._player.callFlash('fp_fadeOut', [self.name, speed, callback])
883  
-    
  883
+
884 884
     def fadeTo(self, opacity=100, speed=500):
885 885
         """
886 886
         @param opacity: specifies the end opacity of the animation (0 - 100).
887  
-        
  887
+
888 888
         @param speed: Integer; specifies the duration of the animation, in milliseconds.
889  
-        
890  
-        Makes the plugin hidden in an animated manner by adjusting its opacity 
  889
+
  890
+        Makes the plugin hidden in an animated manner by adjusting its opacity
891 891
         from the initial opacity to the given opacity.
892 892
         """
893 893
         if self.loaded and self._player:
894 894
             callback = 'onAnimate'
895 895
             if self.name:
896 896
                 self._player.callFlash('fp_fadeTo', [self.name, opacity, speed, callback])
897  
-        
  897
+
898 898
     def hide(self):
899 899
         """
900  
-        Immediately hides the plugin and removes it from the canvas. 
901  
-        This is the same as setting the display property to "none". 
902  
-        This does not affect the plugin's opacity setting. 
  900
+        Immediately hides the plugin and removes it from the canvas.
  901
+        This is the same as setting the display property to "none".
  902
+        This does not affect the plugin's opacity setting.
903 903
         """
904 904
         if self.loaded and self._player:
905 905
             if self.name:
906 906
                 self._player.callFlash('fp_hidePlugin', [self.name])
907  
-    
  907
+
908 908
     def show(self):
909 909
         """
910  
-        Makes the plugin immediately visible. This does not affect the plugin's 
911  
-        opacity setting. This is the same as setting the display property to "block". 
  910
+        Makes the plugin immediately visible. This does not affect the plugin's
  911
+        opacity setting. This is the same as setting the display property to "block".
912 912
         """
913 913
         if self.loaded and self._player:
914 914
             if self.name:
915 915
                 self._player.callFlash('fp_showPlugin', [self.name])
916  
-    
  916
+
917 917
     def toggle(self):
918 918
         """
919  
-        Toggles between the hidden and visible state. 
  919
+        Toggles between the hidden and visible state.
920 920
         """
921 921
         if self.loaded and self._player:
922 922
             if self.name:
923 923
                 self._player.callFlash('fp_togglePlugin', [self.name])
924  
-        
  924
+
925 925
     def addListener(self, listener):
926 926
         """
927 927
         @param listener: object
928  
-        
  928
+
929 929
         Add a listener object
930 930
         """
931 931
         self.listeners.append(listener)
932  
-    
  932
+
933 933
     def removeListener(self, listener):
934 934
         """
935 935
         @param listener: object
936  
-        
  936
+
937 937
         Remove a listener object
938 938
         """
939 939
         self.listeners.remove(listener)
940  
-        
  940
+
941 941
     def fireEvent(self, eventName):
942 942
         """
943 943
         @param eventName: Name of the event
@@ -947,7 +947,7 @@ def fireEvent(self, eventName):
947 947
             if hasattr(listener, eventName):
948 948
                 eventMethod = getattr(listener, eventName)
949 949
                 DeferredHandler.add(eventMethod, [self])
950  
-    
  950
+
951 951
     def getProperties(self):
952 952
         """
953 953
         @return:  Dictonary with properties of this instance
@@ -958,16 +958,16 @@ def getProperties(self):
958 958
                 if not attr == 'url':
959 959
                     properties[attr] = getattr(self, attr)
960 960
         return properties
961  
-        
962  
-        
  961
+
  962
+
963 963
 class ScreenPlugin(Plugin):
964 964
     """
965 965
     The main screen
966 966
     """
967  
-    
  967
+
968 968
     def __init__(self):
969 969
         Plugin.__init__(self, name='screen')
970  
-    
  970
+
971 971
 
972 972