From 043ba1e24205b8f2dc7fbad57fd7ee8e478c1221 Mon Sep 17 00:00:00 2001 From: Bill Dengler Date: Tue, 26 May 2015 21:47:22 -0400 Subject: [PATCH 1/7] Revert "Code fixes" This reverts commit 5976caf736f02af9d3f4da04b5bd7ff95e9aab16. --- src/Conf.defaults | 2 +- src/app-configuration.defaults | 3 +- src/controller/buffersController.py | 3 +- src/controller/mainController.py | 11 +++++-- src/keymaps/default.keymap | 48 ----------------------------- src/sessionmanager/session.py | 5 +-- 6 files changed, 15 insertions(+), 57 deletions(-) diff --git a/src/Conf.defaults b/src/Conf.defaults index 2af00a0b..cfa66edf 100644 --- a/src/Conf.defaults +++ b/src/Conf.defaults @@ -12,7 +12,7 @@ reverse_timelines = boolean(default=False) time_to_check_streams = integer(default=30) announce_stream_status = boolean(default=True) retweet_mode = string(default="ask") -persist_size = integer(default=0) +persist_size = integer(default=1764) buffer_order = list(default=list('home','mentions','dm','sent_dm','sent_tweets','favorites','followers','friends','blocks','muted','events')) [sound] diff --git a/src/app-configuration.defaults b/src/app-configuration.defaults index 36570a88..e7c04601 100644 --- a/src/app-configuration.defaults +++ b/src/app-configuration.defaults @@ -14,8 +14,7 @@ speak_ready_msg = boolean(default=True) log_level = string(default="error") use_slow_audio_algo = boolean(default=False) load_keymap = string(default="default.keymap") -use_Codeofdusk_audio_handlers=boolean(default=False) - +use_Codeofdusk_audio_handlers=boolean(default=True) [proxy] server = string(default="") port = string(default="") diff --git a/src/controller/buffersController.py b/src/controller/buffersController.py index aa237e02..812aeba6 100644 --- a/src/controller/buffersController.py +++ b/src/controller/buffersController.py @@ -435,8 +435,7 @@ class baseBufferController(bufferController): try: sound.URLPlayer.play(url, self.session.settings["sound"]["volume"]) except: - log.error("Exception while executing audio method.") - + log("Exception while executing audio method.") @_tweets_exist def url(self,url='',announce=True): if url == '': diff --git a/src/controller/mainController.py b/src/controller/mainController.py index 06a740e6..0015100f 100644 --- a/src/controller/mainController.py +++ b/src/controller/mainController.py @@ -1027,19 +1027,26 @@ class Controller(object): url=urls_list.get_string() if hasattr(urls_list, "destroy"): urls_list.destroy() if url != None: - output.speak(_(u"Opening media..."), True) + output.speak("Opening media...",True) if sound.URLPlayer.is_playable(url=url,play=True,volume=buffer.session.settings["sound"]["volume"]) == False: return webbrowser.open_new_tab(url) elif utils.is_geocoded(tweet): return output.speak("Not implemented",True) else: - output.speak(_(u"Not actionable."), True) + output.speak("Not actionable.",True) buffer.session.sound.play("error.ogg") def url(self, *args, **kwargs): buffer = self.get_current_buffer() buffer.url() + def secondary_interact(self): + buffer = self.get_current_buffer() + if config.app['app-settings']['use_Codeofdusk_audio_handlers']: + return buffer.url() + else: + return buffer.audio() + def audio(self, *args, **kwargs): self.get_current_buffer().audio() diff --git a/src/keymaps/default.keymap b/src/keymaps/default.keymap index 61f9ebf1..f41531ec 100644 --- a/src/keymaps/default.keymap +++ b/src/keymaps/default.keymap @@ -2,51 +2,3 @@ name = Default desc = TWBlue's default keymap. author = Bill Dengler - -[keymap] -up = control+win+up -down = control+win+down -left = control+win+left -right = control+win+right -next_account = control+win+shift+right -previous_account = control+win+shift+left -open_conversation = control+win+c -show_hide = control+win+m -post_tweet = control+win+n -post_reply = control+win+r -post_retweet = control+win+shift+r -send_dm = control+win+d -add_to_favourites = alt+win+f -remove_from_favourites = alt+shift+win+f -follow = control+win+s -user_details = control+win+alt+n -view_item = control+win+v -exit = control+win+f4 -open_timeline = control+win+i -remove_buffer = control+win+shift+i -interact = control+alt+win+return -url = control+win+return -volume_up = control+win+alt+up -volume_down = control+win+alt+down -go_home = control+win+home -go_end = control+win+end -go_page_up = control+win+pageup -go_page_down = control+win+pagedown -update_profile = alt+win+p -delete = control+win+delete -clear_buffer = control+win+shift+delete -repeat_item = control+win+space -copy_to_clipboard = control+win+c -add_to_list = control+win+a -remove_from_list = control+win+shift+a -toggle_buffer_mute = control+win+shift+m -toggle_session_mute = alt+win+m -toggle_autoread = control+win+e -search = control+win+- -edit_keystrokes = control+win+k -view_user_lists = control+win+l -get_more_items = alt+win+pageup -reverse_geocode = control+win+g -view_reverse_geocode = control+win+shift+g -get_trending_topics = control+win+t -secondary_interact = control+win+alt+return diff --git a/src/sessionmanager/session.py b/src/sessionmanager/session.py index c7568837..0da02fbd 100644 --- a/src/sessionmanager/session.py +++ b/src/sessionmanager/session.py @@ -253,8 +253,9 @@ class Session(object): """ Gets muted users (oh really?).""" - self.db["muted_users"] = self.twitter.twitter.list_mute_ids()["ids"] - +# self.db["muted_users"] = self.twitter.twitter.get_muted_users_ids()["ids"] + #This really needs to be fixed (#30). Return an empty list as a hacky workaround, remove this comment and the line below when fixed. + self.db["muted_users"] = [] @_require_login def get_stream(self, name, function, *args, **kwargs): From 878edf96fa3daa72941ffcc1b50405b37cac83f0 Mon Sep 17 00:00:00 2001 From: Bill Dengler Date: Tue, 26 May 2015 22:01:41 -0400 Subject: [PATCH 2/7] Fix geocodes. --- src/controller/mainController.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/controller/mainController.py b/src/controller/mainController.py index 0015100f..d82930e6 100644 --- a/src/controller/mainController.py +++ b/src/controller/mainController.py @@ -1031,9 +1031,9 @@ class Controller(object): if sound.URLPlayer.is_playable(url=url,play=True,volume=buffer.session.settings["sound"]["volume"]) == False: return webbrowser.open_new_tab(url) elif utils.is_geocoded(tweet): - return output.speak("Not implemented",True) + return self.reverse_geocode() else: - output.speak("Not actionable.",True) + output.speak(u_"Not actionable.",True) buffer.session.sound.play("error.ogg") def url(self, *args, **kwargs): @@ -1042,7 +1042,9 @@ class Controller(object): def secondary_interact(self): buffer = self.get_current_buffer() - if config.app['app-settings']['use_Codeofdusk_audio_handlers']: + if utils.is_geocoded(tweet) and config.app['app-settings']['use_Codeofdusk_audio_handlers']: + return self.view_reverse_geocode() + elif config.app['app-settings']['use_Codeofdusk_audio_handlers']: return buffer.url() else: return buffer.audio() From 77ffed9bba21e5692ab5d638b2cabee5bf435d57 Mon Sep 17 00:00:00 2001 From: Bill Dengler Date: Tue, 26 May 2015 22:04:24 -0400 Subject: [PATCH 3/7] Fix syntax, indentation.\ --- src/controller/mainController.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/controller/mainController.py b/src/controller/mainController.py index d82930e6..d1c85069 100644 --- a/src/controller/mainController.py +++ b/src/controller/mainController.py @@ -1033,7 +1033,7 @@ class Controller(object): elif utils.is_geocoded(tweet): return self.reverse_geocode() else: - output.speak(u_"Not actionable.",True) + output.speak(_(u"Not actionable."), True) buffer.session.sound.play("error.ogg") def url(self, *args, **kwargs): From c7880b505e85ca891ea747b1ffc2c26246c4f272 Mon Sep 17 00:00:00 2001 From: Bill Dengler Date: Tue, 26 May 2015 22:16:13 -0400 Subject: [PATCH 4/7] Bug fixes, new optional setting. --- src/app-configuration.defaults | 1 + src/controller/mainController.py | 1 + src/controller/settings.py | 3 +++ src/wxUI/dialogs/configuration.py | 2 ++ 4 files changed, 7 insertions(+) diff --git a/src/app-configuration.defaults b/src/app-configuration.defaults index e7c04601..be0356b8 100644 --- a/src/app-configuration.defaults +++ b/src/app-configuration.defaults @@ -15,6 +15,7 @@ log_level = string(default="error") use_slow_audio_algo = boolean(default=False) load_keymap = string(default="default.keymap") use_Codeofdusk_audio_handlers=boolean(default=True) +view_reverse_geocode_on_secondary = boolean(default=False) [proxy] server = string(default="") port = string(default="") diff --git a/src/controller/mainController.py b/src/controller/mainController.py index d1c85069..279ff092 100644 --- a/src/controller/mainController.py +++ b/src/controller/mainController.py @@ -1042,6 +1042,7 @@ class Controller(object): def secondary_interact(self): buffer = self.get_current_buffer() + tweet=buffer.get_tweet() if utils.is_geocoded(tweet) and config.app['app-settings']['use_Codeofdusk_audio_handlers']: return self.view_reverse_geocode() elif config.app['app-settings']['use_Codeofdusk_audio_handlers']: diff --git a/src/controller/settings.py b/src/controller/settings.py index bbe7425b..a109dc7e 100644 --- a/src/controller/settings.py +++ b/src/controller/settings.py @@ -62,6 +62,7 @@ class globalSettingsController(object): self.dialog.set_value("general", "hide_gui", config.app["app-settings"]["hide_gui"]) self.dialog.set_value("general", "use_slow_audio_algo", config.app["app-settings"]["use_slow_audio_algo"]) self.dialog.set_value("general", "use_Codeofdusk_audio_handlers", config.app["app-settings"]["use_Codeofdusk_audio_handlers"]) + self.dialog.set_value("general", "view_reverse_geocode_on_secondary", config.app["app-settings"]["view_reverse_geocode_on_secondary"]) self.dialog.create_proxy() self.dialog.set_value("proxy", "server", config.app["proxy"]["server"]) self.dialog.set_value("proxy", "port", config.app["proxy"]["port"]) @@ -92,6 +93,8 @@ class globalSettingsController(object): #Todo: clean memmos. if config.app["app-settings"]["use_Codeofdusk_audio_handlers"] != self.dialog.get_value("general", "use_Codeofdusk_audio_handlers"): config.app["app-settings"]["use_Codeofdusk_audio_handlers"] = self.dialog.get_value("general", "use_Codeofdusk_audio_handlers") + if config.app["app-settings"]["view_reverse_geocode_on_secondary"] != self.dialog.get_value("general", "view_reverse_geocode_on_secondary"): + config.app["app-settings"]["view_reverse_geocode_on_secondary"] = self.dialog.get_value("general", "view_reverse_geocode_on_secondary") if config.app["proxy"]["server"] != self.dialog.get_value("proxy", "server") or config.app["proxy"]["port"] != self.dialog.get_value("proxy", "port") or config.app["proxy"]["user"] != self.dialog.get_value("proxy", "user") or config.app["proxy"]["password"] != self.dialog.get_value("proxy", "password"): if self.is_started == True: self.needs_restart = True diff --git a/src/wxUI/dialogs/configuration.py b/src/wxUI/dialogs/configuration.py index b62c0807..9fb2cd8c 100644 --- a/src/wxUI/dialogs/configuration.py +++ b/src/wxUI/dialogs/configuration.py @@ -38,6 +38,8 @@ class general(wx.Panel, baseDialog.BaseWXDialog): sizer.Add(kmbox, 0, wx.ALL, 5) self.use_slow_audio_algo= wx.CheckBox(self, -1, _(U"Use slow audio tweet detection algorithm (improves audio tweet detection accuracy at the cost of performance)")) sizer.Add(self.use_slow_audio_algo, 0, wx.ALL, 5) + self.view_reverse_geocode_on_secondary= wx.CheckBox(self, -1, _(U"Display geolocation information in a text box instead of opening URL as secondary action for geotweets")) + sizer.Add(self.view_reverse_geocode_on_secondary, 0, wx.ALL, 5) self.use_Codeofdusk_audio_handlers= wx.CheckBox(self, -1, _(U"Use Codeofdusk's tweet interaction handlers (intelegently handle audio tweets, may impact client performance on very slow connections)")) sizer.Add(self.use_Codeofdusk_audio_handlers, 0, wx.ALL, 5) self.SetSizer(sizer) From 2169957627385f11369948c0655e1fc96e327346 Mon Sep 17 00:00:00 2001 From: Bill Dengler Date: Tue, 26 May 2015 22:31:51 -0400 Subject: [PATCH 5/7] Refactor. --- src/app-configuration.defaults | 2 +- src/controller/mainController.py | 6 +++--- src/controller/settings.py | 6 +++--- src/wxUI/dialogs/configuration.py | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/app-configuration.defaults b/src/app-configuration.defaults index be0356b8..8e4717e4 100644 --- a/src/app-configuration.defaults +++ b/src/app-configuration.defaults @@ -15,7 +15,7 @@ log_level = string(default="error") use_slow_audio_algo = boolean(default=False) load_keymap = string(default="default.keymap") use_Codeofdusk_audio_handlers=boolean(default=True) -view_reverse_geocode_on_secondary = boolean(default=False) +prefer_geocodes = boolean(default=False) [proxy] server = string(default="") port = string(default="") diff --git a/src/controller/mainController.py b/src/controller/mainController.py index 279ff092..ee8abd87 100644 --- a/src/controller/mainController.py +++ b/src/controller/mainController.py @@ -1016,6 +1016,8 @@ class Controller(object): if hasattr(sound.URLPlayer,'stream'): return sound.URLPlayer.stop_audio(delete=True) tweet = buffer.get_tweet() + if utils.is_geocoded(tweet) and config.app['app-settings']['use_Codeofdusk_audio_handlers'] and config.app['app-settings']['prefer_geocodes']: + return self.reverse_geocode() url=None urls = utils.find_urls(tweet) if len(urls) == 1: @@ -1030,8 +1032,6 @@ class Controller(object): output.speak("Opening media...",True) if sound.URLPlayer.is_playable(url=url,play=True,volume=buffer.session.settings["sound"]["volume"]) == False: return webbrowser.open_new_tab(url) - elif utils.is_geocoded(tweet): - return self.reverse_geocode() else: output.speak(_(u"Not actionable."), True) buffer.session.sound.play("error.ogg") @@ -1043,7 +1043,7 @@ class Controller(object): def secondary_interact(self): buffer = self.get_current_buffer() tweet=buffer.get_tweet() - if utils.is_geocoded(tweet) and config.app['app-settings']['use_Codeofdusk_audio_handlers']: + if utils.is_geocoded(tweet) and config.app['app-settings']['use_Codeofdusk_audio_handlers'] and config.app['app-settings']['prefer_geocodes']: return self.view_reverse_geocode() elif config.app['app-settings']['use_Codeofdusk_audio_handlers']: return buffer.url() diff --git a/src/controller/settings.py b/src/controller/settings.py index a109dc7e..26e1f05c 100644 --- a/src/controller/settings.py +++ b/src/controller/settings.py @@ -62,7 +62,7 @@ class globalSettingsController(object): self.dialog.set_value("general", "hide_gui", config.app["app-settings"]["hide_gui"]) self.dialog.set_value("general", "use_slow_audio_algo", config.app["app-settings"]["use_slow_audio_algo"]) self.dialog.set_value("general", "use_Codeofdusk_audio_handlers", config.app["app-settings"]["use_Codeofdusk_audio_handlers"]) - self.dialog.set_value("general", "view_reverse_geocode_on_secondary", config.app["app-settings"]["view_reverse_geocode_on_secondary"]) + self.dialog.set_value("general", "prefer_geocodes", config.app["app-settings"]["prefer_geocodes"]) self.dialog.create_proxy() self.dialog.set_value("proxy", "server", config.app["proxy"]["server"]) self.dialog.set_value("proxy", "port", config.app["proxy"]["port"]) @@ -93,8 +93,8 @@ class globalSettingsController(object): #Todo: clean memmos. if config.app["app-settings"]["use_Codeofdusk_audio_handlers"] != self.dialog.get_value("general", "use_Codeofdusk_audio_handlers"): config.app["app-settings"]["use_Codeofdusk_audio_handlers"] = self.dialog.get_value("general", "use_Codeofdusk_audio_handlers") - if config.app["app-settings"]["view_reverse_geocode_on_secondary"] != self.dialog.get_value("general", "view_reverse_geocode_on_secondary"): - config.app["app-settings"]["view_reverse_geocode_on_secondary"] = self.dialog.get_value("general", "view_reverse_geocode_on_secondary") + if config.app["app-settings"]["prefer_geocodes"] != self.dialog.get_value("general", "prefer_geocodes"): + config.app["app-settings"]["prefer_geocodes"] = self.dialog.get_value("general", "prefer_geocodes") if config.app["proxy"]["server"] != self.dialog.get_value("proxy", "server") or config.app["proxy"]["port"] != self.dialog.get_value("proxy", "port") or config.app["proxy"]["user"] != self.dialog.get_value("proxy", "user") or config.app["proxy"]["password"] != self.dialog.get_value("proxy", "password"): if self.is_started == True: self.needs_restart = True diff --git a/src/wxUI/dialogs/configuration.py b/src/wxUI/dialogs/configuration.py index 9fb2cd8c..179a219e 100644 --- a/src/wxUI/dialogs/configuration.py +++ b/src/wxUI/dialogs/configuration.py @@ -38,8 +38,8 @@ class general(wx.Panel, baseDialog.BaseWXDialog): sizer.Add(kmbox, 0, wx.ALL, 5) self.use_slow_audio_algo= wx.CheckBox(self, -1, _(U"Use slow audio tweet detection algorithm (improves audio tweet detection accuracy at the cost of performance)")) sizer.Add(self.use_slow_audio_algo, 0, wx.ALL, 5) - self.view_reverse_geocode_on_secondary= wx.CheckBox(self, -1, _(U"Display geolocation information in a text box instead of opening URL as secondary action for geotweets")) - sizer.Add(self.view_reverse_geocode_on_secondary, 0, wx.ALL, 5) + self.prefer_geocodes= wx.CheckBox(self, -1, _(U"Prefer geolocation information to URLs when interacting with tweets (only applies when Codeofdusk's tweet handlers are enabled)")) + sizer.Add(self.prefer_geocodes, 0, wx.ALL, 5) self.use_Codeofdusk_audio_handlers= wx.CheckBox(self, -1, _(U"Use Codeofdusk's tweet interaction handlers (intelegently handle audio tweets, may impact client performance on very slow connections)")) sizer.Add(self.use_Codeofdusk_audio_handlers, 0, wx.ALL, 5) self.SetSizer(sizer) From 57b09aaf9ccde7936a6f4efdd034267274464217 Mon Sep 17 00:00:00 2001 From: Bill Dengler Date: Tue, 26 May 2015 22:35:42 -0400 Subject: [PATCH 6/7] Fix gitignore. --- .gitignore | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 5681f1db..2db1e29b 100644 --- a/.gitignore +++ b/.gitignore @@ -9,11 +9,10 @@ src/config3/ src/dropbox/ src/logs/ src/documentation/ -src/sounds/iOs src/oggenc2.exe src/bootstrap.exe src/Microsoft.VC90.CRT src/Microsoft.VC90.MFC src/launcher.bat -src/sounds/iOs -release-snapshot/ \ No newline at end of file +release-snapshot/ +keymaps/default.keymap \ No newline at end of file From d6259db9a6fe317251714ad6f839452913c7e6c4 Mon Sep 17 00:00:00 2001 From: Bill Dengler Date: Tue, 26 May 2015 22:38:02 -0400 Subject: [PATCH 7/7] Close #30 --- src/sessionmanager/session.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/sessionmanager/session.py b/src/sessionmanager/session.py index 0da02fbd..d6a566e5 100644 --- a/src/sessionmanager/session.py +++ b/src/sessionmanager/session.py @@ -252,10 +252,8 @@ class Session(object): def get_muted_users(self): """ Gets muted users (oh really?).""" + self.db["muted_users"] = self.twitter.twitter.list_mute_ids()["ids"] -# self.db["muted_users"] = self.twitter.twitter.get_muted_users_ids()["ids"] - #This really needs to be fixed (#30). Return an empty list as a hacky workaround, remove this comment and the line below when fixed. - self.db["muted_users"] = [] @_require_login def get_stream(self, name, function, *args, **kwargs):