g['decorated_name'] = color_func(c['DECORATED_NAME'])('[' + name + ']: ')
g['ascii_art'] = True
- files = os.listdir('rainbowstream/colorset')
+ files = os.listdir(os.path.dirname(__file__)+'/colorset')
themes = [f.split('.')[0] for f in files if f.split('.')[-1] == 'json']
themes += ['custom']
g['themes'] = themes
# Format
rel = os.popen('cal').read().split('\n')
month = rel.pop(0)
- month = random_rainbow(month)
date = rel.pop(0)
- date = ' '.join([cycle_color(i) for i in date.split(' ')])
- today = str(int(os.popen('date +\'%d\'').read().strip()))
- # Display
- printNicely(month)
- printNicely(date)
- for line in rel:
- ary = line.split(' ')
- ary = map(lambda x: on_grey(x) if x == today else grey(x), ary)
- printNicely(' '.join(ary))
+ show_calendar(month, date, rel)
def theme():
os.environ.get('USERPROFILE',
'')) + os.sep + '.rainbow_config.json'
if not os.path.exists(custom_path):
- line += light_magenta(' (create your own config at ~/.rainbow_config.json)')
+ line += light_magenta(' (create your own config file at ~/.rainbow_config.json)')
else:
line += light_magenta(' (loaded)')
else:
# Change theme
try:
# Load new config
- c['theme'] = g['stuff']
if g['stuff'] != 'custom':
- new_config = 'rainbowstream/colorset/' + g['stuff'] + '.json'
+ new_config = os.path.dirname(__file__) + '/colorset/' + g['stuff'] + '.json'
else:
new_config = os.environ.get(
'HOME',os.environ.get(
c[nc] = new_config[nc]
# Update db and reset colors
db.theme_update(g['stuff'])
+ c['theme'] = g['stuff']
+ reset_cycle()
g['decorated_name'] = color_func(
c['DECORATED_NAME'])(
'[@' + g['original_name'] + ']: ')
printNicely(green('Theme changed.'))
except:
- printNicely(red('Sorry, can not load config file!'))
+ if g['stuff'] == 'custom':
+ printNicely(red('~/.rainbow_config.json is not exists!'))
+ else:
+ printNicely(red('No such theme exists.'))
def help():
printNicely(magenta('Need tips ? Type "h" and hit Enter key!'))
g['reset'] = False
try:
- printNicely(eval(g['cmd']))
- except:
+ printNicely(str(eval(g['cmd'])))
+ except Exception:
pass
try:
g['stuff'] = ' '.join(line.split()[1:])
process(cmd)()
- except Exception as e:
- print e
+ except Exception:
printNicely(red('OMG something is wrong with Twitter right now.'))
# Not redisplay prefix
if cmd in ['switch', 't', 'rt', 'rep']:
domain=domain,
**stream_args)
- if domain == c['USER_DOMAIN']:
- tweet_iter = stream.user(**query_args)
- elif domain == c['SITE_DOMAIN']:
- tweet_iter = stream.site(**query_args)
- else:
- if args.track_keywords:
- tweet_iter = stream.statuses.filter(**query_args)
+ try:
+ if domain == c['USER_DOMAIN']:
+ tweet_iter = stream.user(**query_args)
+ elif domain == c['SITE_DOMAIN']:
+ tweet_iter = stream.site(**query_args)
else:
- tweet_iter = stream.statuses.sample()
+ if args.track_keywords:
+ tweet_iter = stream.statuses.filter(**query_args)
+ else:
+ tweet_iter = stream.statuses.sample()
- # Iterate over the stream.
- try:
+ # Iterate over the stream.
for tweet in tweet_iter:
if tweet is None:
printNicely("-- None --")
fil=args.filter,
ig=args.ignore,
)
- except:
+ except TwitterHTTPError:
+ printNicely('')
printNicely(
- magenta("I'm afraid we have problem with twitter'S maximum connection."))
- printNicely(magenta("Let's try again later."))
+ magenta("We have maximum connection problem with twitter'stream API right now :("))
def fly():
"""
# Spawn stream process
args = parse_arguments()
- get_decorated_name()
+ try:
+ get_decorated_name()
+
+ except TwitterHTTPError:
+ printNicely('')
+ printNicely(
+ magenta("I'm afraid we have maximum connection problem with twitter right now :("))
+ printNicely(magenta("Let's try again later."))
+ save_history()
+ os.system('rm -rf rainbow.db')
+ sys.exit()
+
p = Process(
target=stream,
args=(
- c['USER_DOMAIN'],
+ c['USER_DOMAIN'],
args,
g['original_name']))
p.start()