From 44d70096aa76484f8433bd1e9a0b780f4cbb22e4 Mon Sep 17 00:00:00 2001 From: Vu Nhat Minh Date: Wed, 2 Jul 2014 15:17:49 +0900 Subject: [PATCH] load config --- rainbowstream/colorset/__init__.py | 0 rainbowstream/colorset/default.py | 53 ++++++++++++++++++++++++ rainbowstream/config.py | 66 ++++++++---------------------- rainbowstream/draw.py | 2 +- 4 files changed, 72 insertions(+), 49 deletions(-) create mode 100644 rainbowstream/colorset/__init__.py create mode 100644 rainbowstream/colorset/default.py diff --git a/rainbowstream/colorset/__init__.py b/rainbowstream/colorset/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/rainbowstream/colorset/default.py b/rainbowstream/colorset/default.py new file mode 100644 index 0000000..e6a7adc --- /dev/null +++ b/rainbowstream/colorset/default.py @@ -0,0 +1,53 @@ +########## Default color config for rainbowstream ########## + +# Following 16 basic colors is supported: +# default +# black +# red +# green +# yellow +# blue +# magenta +# cyan +# grey +# light_red +# light_green +# light_yellow +# light_blue +# light_magenta +# light_cyan +# white + +TWEET = { + 'nick' : grey, + 'clock' : grey, + 'id' : grey, + 'favourite' : light_green, + 'rt' : grey, + 'link' : light_cyan, + 'keyword' : on_light_yellow, +} + +MESSAGE = { + 'sender' : grey, + 'recipient' : grey, + 'to' : light_magenta, + 'clock' : grey, + 'id' : grey, +} + +PROFILE = { + 'statuses_count' : light_green, + 'friends_count' : light_green, + 'followers_count' : light_green, + 'nick' : grey, + 'profile_image_url' : light_cyan, + 'description' : light_yellow, + 'location' : light_magenta, + 'url' : light_cyan, + 'clock' : white, +} + +TREND = { + 'url': light_cyan, +} diff --git a/rainbowstream/config.py b/rainbowstream/config.py index 6afffd5..837aec0 100644 --- a/rainbowstream/config.py +++ b/rainbowstream/config.py @@ -1,4 +1,7 @@ from .colors import * +import json +import os +import os.path # 'search': max search record SEARCH_MAX_RECORD = 5 @@ -22,57 +25,24 @@ PUBLIC_DOMAIN = 'stream.twitter.com' SITE_DOMAIN = 'sitestream.twitter.com' DOMAIN = USER_DOMAIN +# Image config IMAGE_SHIFT = 10 IMAGE_MAX_HEIGHT = 40 -# Following 16 basic colors is supported: -# default -# black -# red -# green -# yellow -# blue -# magenta -# cyan -# grey -# light_red -# light_green -# light_yellow -# light_blue -# light_magenta -# light_cyan -# white +# Load colorset +COLOR_SET = ['colorset.default'] +modules = map(__import__, COLOR_SET) -TWEET = { - 'nick' : grey, - 'clock' : grey, - 'id' : grey, - 'favourite' : light_green, - 'rt' : grey, - 'link' : light_cyan, - 'keyword' : on_light_yellow, -} +# Load json config +rainbow_config = os.environ.get( + 'HOME', os.environ.get('USERPROFILE','')) + + os.sep + '.rainbow_config.json' +try: + if os.path.exists(rainbow_config): + data = json.load(open(rainbow_config)) + for d in data: + locals()[d] = data[d] +except: + pass -MESSAGE = { - 'sender' : grey, - 'recipient' : grey, - 'to' : light_magenta, - 'clock' : grey, - 'id' : grey, -} -PROFILE = { - 'statuses_count' : light_green, - 'friends_count' : light_green, - 'followers_count' : light_green, - 'nick' : grey, - 'profile_image_url' : light_cyan, - 'description' : light_yellow, - 'location' : light_magenta, - 'url' : light_cyan, - 'clock' : white, -} - -TREND = { - 'url': light_cyan -} \ No newline at end of file diff --git a/rainbowstream/draw.py b/rainbowstream/draw.py index 096074b..33c8ffd 100644 --- a/rainbowstream/draw.py +++ b/rainbowstream/draw.py @@ -144,7 +144,7 @@ def print_message(m): recipient = cycle_color( recipient_name) + MESSAGE['recipient'](' ' + recipient_screen_name + ' ') user = sender + MESSAGE['to'](' >>> ') + recipient - meta = MESSAGE['clock']('[' + clock + ']' + MESSAGE['id'](' [message_id=' + str(rid) + '] ') + meta = MESSAGE['clock']('[' + clock + ']') + MESSAGE['id'](' [message_id=' + str(rid) + '] ') text = ''.join(map(lambda x: x + ' ' if x == '\n' else x, text)) line1 = u"{u:>{uw}}:".format( -- 2.25.1