+def config():
+ """
+ Browse and change config
+ """
+ all_config = get_all_config()
+ g['stuff'] = g['stuff'].strip()
+ # List all config
+ if not g['stuff']:
+ for k in all_config:
+ line = ' ' * 2 + \
+ light_green(k) + ': ' + light_yellow(str(all_config[k]))
+ printNicely(line)
+ guide = 'Detailed explanation can be found at ' + \
+ color_func(c['TWEET']['link'])(
+ 'http://rainbowstream.readthedocs.org/en/latest/#config-explanation')
+ printNicely(guide)
+ # Print specific config
+ elif len(g['stuff'].split()) == 1:
+ if g['stuff'] in all_config:
+ k = g['stuff']
+ line = ' ' * 2 + \
+ light_green(k) + ': ' + light_yellow(str(all_config[k]))
+ printNicely(line)
+ else:
+ printNicely(red('No config key like this.'))
+ # Print specific config's default value
+ elif len(g['stuff'].split()) == 2 and g['stuff'].split()[-1] == 'default':
+ key = g['stuff'].split()[0]
+ value = get_default_config(key)
+ line = ' ' * 2 + light_green(key) + ': ' + light_magenta(value)
+ printNicely(line)
+ # Set specific config
+ elif len(g['stuff'].split()) == 3 and g['stuff'].split()[1] == '=':
+ key = g['stuff'].split()[0]
+ value = g['stuff'].split()[-1]
+ try:
+ set_config(key, value)
+ printNicely(light_green('Updated successfully.'))
+ except:
+ printNicely(light_magenta('Not valid value.'))
+ return
+ reload_config()
+ else:
+ printNicely(light_magenta('Sorry I can\'s understand.'))
+
+