From 843647ad8d674c64b620d3bca2c97fdf4bb97761 Mon Sep 17 00:00:00 2001 From: Orakaro Date: Sun, 25 May 2014 22:55:33 +0900 Subject: [PATCH] friend and follower --- rainbowstream/rainbow.py | 73 ++++++++++++++++++++++++++++------------ 1 file changed, 52 insertions(+), 21 deletions(-) diff --git a/rainbowstream/rainbow.py b/rainbowstream/rainbow.py index 9570fee..9461d22 100644 --- a/rainbowstream/rainbow.py +++ b/rainbowstream/rainbow.py @@ -68,9 +68,7 @@ def parse_arguments(): """ Parse the arguments """ - parser = argparse.ArgumentParser(description=__doc__ or "") - parser.add_argument( '-to', '--timeout', @@ -145,6 +143,32 @@ def search(): printNicely(grey('**************************************************************************************\n')) +def friend(): + """ + List of friend (following) + """ + t = Twitter(auth=authen()) + g['friends'] = t.friends.ids()['ids'] + for i in g['friends']: + screen_name = t.users.lookup(user_id=i)[0]['screen_name'] + user = cycle_color('@'+screen_name) + print(user, end=' ') + print('\n'); + + +def follower(): + """ + List of follower + """ + t = Twitter(auth=authen()) + g['followers'] = t.followers.ids()['ids'] + for i in g['followers']: + screen_name = t.users.lookup(user_id=i)[0]['screen_name'] + user = cycle_color('@'+screen_name) + print(user, end=' ') + print('\n'); + + def help(): """ Print help @@ -152,45 +176,48 @@ def help(): usage = ''' Hi boss! I'm ready to serve you right now! ---------------------------------------------------- - "!" at the beginning will start to tweet immediately - "/" at the beginning will search for 5 newest tweet - "?" or "h" will print this help once again + "tweet" at the beginning will tweet immediately + "s" and follow by any word will search and return 5 newest tweet + "fr" will list out your following people + "fl" will list out your followers + "h" will print this help once again "c" will clear the terminal "q" will exit ---------------------------------------------------- - Hvae fun and hang tight! + Have fun and hang tight! ''' printNicely(usage) sys.stdout.write(g['decorated_name']) -def quit(): +def clear(): """ Exit all """ - os.kill(g['stream_pid'], signal.SIGKILL) - sys.exit() + os.system('clear') -def clear(): +def quit(): """ Exit all """ - os.system('clear') + os.kill(g['stream_pid'], signal.SIGKILL) + sys.exit() -def process(line): +def process(cmd): """ Process switch by start of line """ return { - '!' : tweet, - '/' : search, - '?' : help, - 'h' : help, - 'c' : clear, - 'q' : quit, - }.get(line[0],lambda: sys.stdout.write(g['decorated_name'])) + 'tweet' : tweet, + 's' : search, + 'fr' : friend, + 'fl' : follower, + 'h' : help, + 'c' : clear, + 'q' : quit, + }.get(cmd,lambda: sys.stdout.write(g['decorated_name'])) def listen(stdin): @@ -198,9 +225,13 @@ def listen(stdin): Listen to user's input """ for line in iter(stdin.readline, ''): + try: + cmd = line.split()[0] + except: + cmd = '' # Save cmd to global variable and call process - g['stuff'] = line[1:] - process(line)() + g['stuff'] = ' '.join(line.split()[1:]) + process(cmd)() stdin.close() -- 2.25.1