Thanks. You can merge it and fix indentation. possibleImprovements is a good idea, not mine :) Mesar created a similar branch for appendText add-on revision. BTW, it this add-on is useful, feel free to post it in our website. Cheers. El 12/12/2014 19:55, Joseph Lee escribió:
Hi, Gotcha - I think it is better for me to commit your ideas in master directly, as indentation is important in name change event - your commit broke library scan announcement feature but it's a trivial fix (don't worry, I'll take care of it). Thanks for your code cleanup suggestion - please keep them coming in the possible improvements branch. Cheers, Joseph -----Original Message----- From: nvda-addons-bounce@xxxxxxxxxxxxx [mailto:nvda-addons-bounce@xxxxxxxxxxxxx] On Behalf Of Noelia Sent: Friday, December 12, 2014 9:39 AM To: nvda-addons@xxxxxxxxxxxxx Subject: [nvda-addons] Re: commit/StationPlaylist: norrumar: Possible improvements cleaning code. Hi, I'm now reviewing stationPlaylist app module. It's a complex add-on, so it requires time. I'm in scripts section. I think that in line 129, after the return sentence, else can be ommitted and then simplify the function subsequently. In the terminate, I think globalConfig is not necessary, since it won't be changed, just it will be checked. Therefore, in NVDA core, when saving a configuration file, a try and except instructions are used checking if the system is readonly, to prevent errors. You can test all this. I don't have SPL application. Thanks. El 12/12/2014 18:33, commits-noreply@xxxxxxxxxxxxx escribió:1 new commit in StationPlaylist: https://bitbucket.org/nvdaaddonteam/stationplaylist/commits/aa61db2a940b/ Changeset: aa61db2a940b Branch: possibleImprovements User: norrumar Date: 2014-12-12 17:32:30+00:00 Summary: Possible improvements cleaning code. Affected #: 1 file diff --git a/addon/appModules/splstudio.py b/addon/appModules/splstudio.py index 482b414..260c6b4 100644 --- a/addon/appModules/splstudio.py +++ b/addon/appModules/splstudio.py @@ -126,68 +126,67 @@ class AppModule(appModuleHandler.AppModule): # Do not let NvDA get name for None object when SPL windowis maximized.if not obj.name: return - else: - if obj.windowClassName == "TStatusBar" and notobj.name.startswith(" Up time:"):- # Special handling for Play Status - fgWinClass =api.getForegroundObject().windowClassName- if obj.IAccessibleChildID == 1: - if fgWinClass == "TStudioForm": - # Strip off " Play status:" for brevity only in main playlist window.- ui.message(obj.name[15:]) - elif fgWinClass =="TTrackInsertForm" and self.libraryScanProgress > 0:- # If library scan is inprogress, announce its progress.- self.scanCount+=1 - if self.scanCount%100 == 0: - ifself.libraryScanProgress == self.libraryScanMessage:-tones.beep(550, 100) if self.beepAnnounce else ui.message("Scanning")- elifself.libraryScanProgress == self.libraryScanNumbers:- ifself.beepAnnounce: tones.beep(550, 100)-ui.message(obj.name[1:obj.name.find("]")])- if "Loading" in obj.name andnot self.libraryScanning:- self.libraryScanning= True- elif "match" in obj.name andself.libraryScanning:- tones.beep(370, 100)if self.beepAnnounce else ui.message("Scan complete")- self.libraryScanning= False- self.scanCount = 0 + if obj.windowClassName == "TStatusBar" and notobj.name.startswith(" Up time:"):+ # Special handling for Play Status + fgWinClass =api.getForegroundObject().windowClassName+ if obj.IAccessibleChildID == 1: + if fgWinClass == "TStudioForm": + # Strip off " Play status: " forbrevity only in main playlist window.+ ui.message(obj.name[15:]) + elif fgWinClass == "TTrackInsertForm" andself.libraryScanProgress > 0:+ # If library scan is in progress,announce its progress.+ self.scanCount+=1 + if self.scanCount%100 == 0: + if self.libraryScanProgress== self.libraryScanMessage:+ tones.beep(550, 100)if self.beepAnnounce else ui.message("Scanning")+ elifself.libraryScanProgress == self.libraryScanNumbers:+ ifself.beepAnnounce: tones.beep(550, 100)+ui.message(obj.name[1:obj.name.find("]")])+ if "Loading" in obj.name and notself.libraryScanning:+ self.libraryScanning = True + elif "match" in obj.name andself.libraryScanning:+ tones.beep(370, 100) ifself.beepAnnounce else ui.message("Scan complete")+ self.libraryScanning = False + self.scanCount = 0 else: + # Even with beeps enabled, be sureto announce scheduled time and name of the playing cart.+ if obj.name.startswith("Scheduledfor") or obj.name.startswith("Cart") and obj.IAccessibleChildID == 3:+ ui.message(obj.name) + elif not (obj.name.endswith(" On")or obj.name.endswith(" Off")):+ # Announce statusinformation that does not contain toggle messages.+ ui.message(obj.name) if self.beepAnnounce: - # Even with beeps enabled,be sure to announce scheduled time and name of the playing cart.- ifobj.name.startswith("Scheduled for") or obj.name.startswith("Cart") and obj.IAccessibleChildID == 3:- ui.message(obj.name) - elif not(obj.name.endswith(" On") or obj.name.endswith(" Off")):- # Announce statusinformation that does not contain toggle messages.- ui.message(obj.name) - else: - # User wishes tohear beeps instead of words. The beeps are power on and off sounds from PAC Mate Omni.- beep =obj.name.split(" ")- stat = beep[-1] - wavDir =os.path.dirname(__file__)- # Play a wave filebased on on/off status.- if stat == "Off": - wavFile =os.path.join(wavDir, "SPL_off.wav")- elif stat == "On": - wavFile =os.path.join(wavDir, "SPL_on.wav")-messageSound(wavFile, obj.name)+ # User wishes to hear beepsinstead of words. The beeps are power on and off sounds from PAC Mate Omni.+ beep = obj.name.split(" ") + stat = beep[-1] + wavDir =os.path.dirname(__file__)+ # Play a wave file based onon/off status.+ if stat == "Off": + wavFile =os.path.join(wavDir, "SPL_off.wav")+ elif stat == "On": + wavFile =os.path.join(wavDir, "SPL_on.wav")+ messageSound(wavFile,obj.name)else: ui.message(obj.name) - if self.cartExplorer orself.micAlarm:- # Activate mic alarm orannounce when cart explorer is active.- self.doExtraAction(obj.name) - # Monitor the end of track and song intro time andannounce it.- elif obj.windowClassName == "TStaticText": # Forfuture extensions.- if obj.simplePrevious != None andobj.simplePrevious.name == "Remaining Time":+ if self.cartExplorer or self.micAlarm: + # Activate mic alarm or announcewhen cart explorer is active.+ self.doExtraAction(obj.name) + # Monitor the end of track and song intro time and announceit.+ elif obj.windowClassName == "TStaticText": # For futureextensions.+ if obj.simplePrevious != None: + if obj.simplePrevious.name == "RemainingTime":# End of track for SPL 5.x. if self.brailleTimer in[self.brailleTimerEnding, self.brailleTimerBoth]: #and "00:00" < obj.name <= self.SPLEndOfTrackTime:braille.handler.message(obj.name)if obj.name ==self.SPLEndOfTrackTime:tones.beep(440, 200) - elif obj.simplePrevious != None andobj.simplePrevious.name == "Remaining Song Ramp":+ if obj.simplePrevious.name == "RemainingSong Ramp":# Song intro for SPL 5.x. if self.brailleTimer in[self.brailleTimerIntro, self.brailleTimerBoth]: #and "00:00" < obj.name <= self.SPLSongRampTime:braille.handler.message(obj.name)if obj.name == self.SPLSongRampTime: tones.beep(512, 400) - # Clean this mess with a more elegant solution. + # Clean this mess with a more elegant solution. nextHandler() # JL's additions @@ -195,7 +194,7 @@ class AppModule(appModuleHandler.AppModule): # Perform extra action in specific situations (mic alarm, forexample).def doExtraAction(self, status): global micAlarmT - if self.cartExplorer: + if self.cartExplorer: if status == "Cart Edit On": # Translators: Presented when cart edit modeis toggled on while cart explorer is on.ui.message(_("Cart explorer is active")) @@-229,7 +228,6 @@class AppModule(appModuleHandler.AppModule): # Save configuration when terminating. def terminate(self): - global SPLConfig if SPLConfig is not None: SPLConfig.write() # Script sections (for ease of maintenance): Repository URL: https://bitbucket.org/nvdaaddonteam/stationplaylist/ -- This is a commit notification from bitbucket.org. You are receiving this because you have the service enabled, addressing the recipient of this email.--- El software de antivirus Avast ha analizado este correo electrónico en busca de virus. http://www.avast.com ---------------------------------------------------------------- NVDA add-ons Central: A list for discussing NVDA add-ons To post a message, send an email to nvda-addons@xxxxxxxxxxxxx. To unsubscribe, send an email with the subject line of "unsubscribe" (without quotes) to nvda-addons-request@xxxxxxxxxxxxx. If you have questions for list moderators, please send a message to nvda-addons-moderators@xxxxxxxxxxxxx. Community addons can be found here: http://addons.nvda-project.org ---------------------------------------------------------------- NVDA add-ons Central: A list for discussing NVDA add-ons To post a message, send an email to nvda-addons@xxxxxxxxxxxxx. To unsubscribe, send an email with the subject line of "unsubscribe" (without quotes) to nvda-addons-request@xxxxxxxxxxxxx. If you have questions for list moderators, please send a message to nvda-addons-moderators@xxxxxxxxxxxxx. Community addons can be found here: http://addons.nvda-project.org
--- El software de antivirus Avast ha analizado este correo electrónico en busca de virus. http://www.avast.com ---------------------------------------------------------------- NVDA add-ons Central: A list for discussing NVDA add-ons To post a message, send an email to nvda-addons@xxxxxxxxxxxxx. To unsubscribe, send an email with the subject line of "unsubscribe" (without quotes) to nvda-addons-request@xxxxxxxxxxxxx. If you have questions for list moderators, please send a message to nvda-addons-moderators@xxxxxxxxxxxxx. Community addons can be found here: http://addons.nvda-project.org