From f1c1dfea32823074f7b5dcf05d15defb773dd7c0 Mon Sep 17 00:00:00 2001 From: Orakaro Date: Sun, 10 Aug 2014 18:55:42 +0900 Subject: [PATCH] refactoring --- docs/conf.py | 4 +- rainbowstream/rainbow.py | 187 +++++++++++++++++++-------------------- setup.py | 2 +- 3 files changed, 96 insertions(+), 97 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index 5a2b801..ac74b53 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -48,9 +48,9 @@ copyright = u'2014, Vu Nhat Minh' # built documents. # # The short X.Y version. -version = '0.7.1' +version = '0.7.2' # The full version, including alpha/beta/rc tags. -release = '0.7.1' +release = '0.7.2' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/rainbowstream/rainbow.py b/rainbowstream/rainbow.py index 6464e59..133a31e 100644 --- a/rainbowstream/rainbow.py +++ b/rainbowstream/rainbow.py @@ -31,49 +31,6 @@ g = {} # Lock for streams StreamLock = threading.Lock() -# Commands -cmdset = [ - 'switch', - 'trend', - 'home', - 'view', - 'mentions', - 't', - 'rt', - 'quote', - 'allrt', - 'fav', - 'rep', - 'del', - 'ufav', - 's', - 'mes', - 'show', - 'open', - 'ls', - 'inbox', - 'sent', - 'trash', - 'whois', - 'fl', - 'ufl', - 'mute', - 'unmute', - 'muting', - 'block', - 'unblock', - 'report', - 'list', - 'cal', - 'config', - 'theme', - 'h', - 'p', - 'r', - 'c', - 'q' -] - def parse_arguments(): """ @@ -184,7 +141,7 @@ def init(args): themes = [f.split('.')[0] for f in files if f.split('.')[-1] == 'json'] g['themes'] = themes # Startup cmd - g['previous_cmd'] = '' + g['cmd'] = '' # Semaphore init c['lock'] = False c['pause'] = False @@ -1525,54 +1482,98 @@ def reset(): pass +# Command set +cmdset = [ + 'switch', + 'trend', + 'home', + 'view', + 'mentions', + 't', + 'rt', + 'quote', + 'allrt', + 'fav', + 'rep', + 'del', + 'ufav', + 's', + 'mes', + 'show', + 'open', + 'ls', + 'inbox', + 'sent', + 'trash', + 'whois', + 'fl', + 'ufl', + 'mute', + 'unmute', + 'muting', + 'block', + 'unblock', + 'report', + 'list', + 'cal', + 'config', + 'theme', + 'h', + 'p', + 'r', + 'c', + 'q' +] + +# Handle function set +funcset = [ + switch, + trend, + home, + view, + mentions, + tweet, + retweet, + quote, + allretweet, + favorite, + reply, + delete, + unfavorite, + search, + message, + show, + urlopen, + ls, + inbox, + sent, + trash, + whois, + follow, + unfollow, + mute, + unmute, + muting, + block, + unblock, + report, + twitterlist, + cal, + config, + theme, + help, + pause, + replay, + clear, + quit +] + + def process(cmd): """ Process switch """ - return dict(zip( - cmdset, - [ - switch, - trend, - home, - view, - mentions, - tweet, - retweet, - quote, - allretweet, - favorite, - reply, - delete, - unfavorite, - search, - message, - show, - urlopen, - ls, - inbox, - sent, - trash, - whois, - follow, - unfollow, - mute, - unmute, - muting, - block, - unblock, - report, - twitterlist, - cal, - config, - theme, - help, - pause, - replay, - clear, - quit - ] - )).get(cmd, reset) + return dict(zip(cmdset, funcset)).get(cmd, reset) def listen(): @@ -1651,15 +1652,13 @@ def listen(): line = raw_input(g['decorated_name'](c['PREFIX'])) else: line = raw_input() - # Save previous cmd in order to compare with readline buffer - g['previous_cmd'] = line.strip() - # Get short cmd to filter + # Save cmd to compare with readline buffer + g['cmd'] = line.strip() + # Get short cmd to pass to handle function try: cmd = line.split()[0] except: cmd = '' - # Save whold the entire cmd - g['cmd'] = line try: # Lock the semaphore c['lock'] = True @@ -1742,7 +1741,7 @@ def stream(domain, args, name='Rainbow Stream'): # after completely delete a word after typing it, # somehow readline buffer still contains # the 1st character of that word - if current_buffer and g['previous_cmd'] != current_buffer: + if current_buffer and g['cmd'] != current_buffer: sys.stdout.write( g['decorated_name'](c['PREFIX']) + unc(current_buffer)) sys.stdout.flush() diff --git a/setup.py b/setup.py index e352cfd..df66bb7 100644 --- a/setup.py +++ b/setup.py @@ -3,7 +3,7 @@ import os import os.path # Bumped version -version = '0.7.1' +version = '0.7.2' # Require install_requires = [ -- 2.25.1