X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;ds=sidebyside;f=rainbowstream%2Frainbow.py;h=465299f0e41b96b28694e4645f58f32cffb0357e;hb=5edc9cd172a33b2fd0379f212b8b9780e3213396;hp=e7eede6a765dd1dacd6e3ff3a61863f031e7c8b1;hpb=fd2da0c3ea222efdbc582e25299b08ebbe7ed45f;p=rainbowstream.git diff --git a/rainbowstream/rainbow.py b/rainbowstream/rainbow.py index e7eede6..465299f 100644 --- a/rainbowstream/rainbow.py +++ b/rainbowstream/rainbow.py @@ -189,12 +189,12 @@ def upgrade_center(): notice += light_yellow(current) + '\n' notice += light_magenta('You should upgrade with ') notice += light_green('pip install -U rainbowstream') - printNicely(notice) else: notice = light_yellow('You are running latest version (') notice += light_green(current) notice += light_yellow(')') notice += '\n' + printNicely(notice) except: pass @@ -239,7 +239,6 @@ def init(args): c['message_dict'] = [] # Image on term c['IMAGE_ON_TERM'] = args.image_on_term - set_config('IMAGE_ON_TERM', str(c['IMAGE_ON_TERM'])) # Use 24 bit color c['24BIT'] = args.color_24bit # Check type of ONLY_LIST and IGNORE_LIST @@ -373,6 +372,21 @@ def view(): printNicely(red('A name should begin with a \'@\'')) +def view_my_tweets(): + """ + Display user's recent tweets. + """ + t = Twitter(auth=authen()) + try: + num = int(g['stuff']) + except: + num = c['HOME_TWEET_NUM'] + for tweet in reversed( + t.statuses.user_timeline(count=num, screen_name=g['original_name'])): + draw(t=tweet) + printNicely('') + + def search(): """ Search @@ -868,7 +882,7 @@ def mute(): rel = t.mutes.users.create(screen_name=screen_name[1:]) if isinstance(rel, dict): printNicely(green(screen_name + ' is muted.')) - c['IGNORE_LIST'] += [unc(screen_name)] + c['IGNORE_LIST'] += [screen_name] c['IGNORE_LIST'] = list(set(c['IGNORE_LIST'])) else: printNicely(red(rel)) @@ -1438,6 +1452,8 @@ def help_discover(): light_green('trend JP Tokyo') + '.\n' usage += s * 2 + light_green('home') + ' will show your timeline. ' + \ light_green('home 7') + ' will show 7 tweets.\n' + usage += s * 2 + light_green('me') + ' will show your latest tweets. ' + \ + light_green('me 2') + ' will show your last 2 tweets.\n' usage += s * 2 + \ light_green('notification') + ' will show your recent notification.\n' usage += s * 2 + light_green('mentions') + ' will show mentions timeline. ' + \ @@ -1762,6 +1778,7 @@ cmdset = [ 't', 'rt', 'quote', + 'me', 'allrt', 'conversation', 'fav', @@ -1810,6 +1827,7 @@ funcset = [ tweet, retweet, quote, + view_my_tweets, allretweet, conversation, favorite, @@ -1871,6 +1889,7 @@ def listen(): [], # tweet [], # retweet [], # quote + [], # view_my_tweets [], # allretweet [], # conversation [], # favorite @@ -1950,33 +1969,23 @@ def listen(): # Save cmd to global variable and call process g['stuff'] = ' '.join(line.split()[1:]) # Check tweet length - if check_tweet_length(): - # Process the command - process(cmd)() - # Not re-display - if cmd in ['switch', 't', 'rt', 'rep']: - g['prefix'] = False - else: - g['prefix'] = True - # Release the semaphore lock - c['lock'] = False + # Process the command + process(cmd)() + # Not re-display + if cmd in ['switch', 't', 'rt', 'rep']: + g['prefix'] = False + else: + g['prefix'] = True except EOFError: printNicely('') + except TwitterHTTPError as e: + detail_twitter_error(e) except Exception: debug_option() - printNicely(red('OMG something is wrong with Twitter right now.')) - - -def check_tweet_length(): - """ - Check tweet length (should be <= 140 chars) - """ - length = len(g['stuff']) - if length <= 140: - return True - - printNicely(red("Message is too long: %s chars" % length)) - return False + printNicely(red('OMG something is wrong with Twitter API right now.')) + finally: + # Release the semaphore lock + c['lock'] = False def reconn_notice():