add color for mytweet
authorOrakaro <nhatminh_179@hotmail.com>
Tue, 26 Aug 2014 13:31:59 +0000 (22:31 +0900)
committerOrakaro <nhatminh_179@hotmail.com>
Tue, 26 Aug 2014 13:31:59 +0000 (22:31 +0900)
docs/conf.py
docs/index.rst
rainbowstream/colorset/config
rainbowstream/colorset/larapaste.json
rainbowstream/colorset/monokai.json
rainbowstream/colorset/solarized.json
rainbowstream/colorset/tomorrow_night.json
rainbowstream/draw.py
rainbowstream/rainbow.py
setup.py
theme.md

index b4ab7bd..3ae8929 100644 (file)
@@ -48,9 +48,9 @@ copyright = u'2014, Vu Nhat Minh'
 # built documents.
 #
 # The short X.Y version.
-version = '0.8.8'
+version = '0.8.9'
 # The full version, including alpha/beta/rc tags.
-release = '0.8.8'
+release = '0.8.9'
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.
index 7d280f9..28592b2 100644 (file)
@@ -333,6 +333,12 @@ You also can view or set a new value of every config key by ``config`` command (
     + ``#owner``: owner's username with '@'\r
     + ``#tweet``: original tweet\r
 \r
+-  ``THREAD_META_LEFT``: format for meta information of messages from partner which is display in the left of screen.\r
+\r
+-  ``THREAD_META_RIGHT``: format for meta information of messages from you which is display in the right of screen.\r
+\r
+-  ``THREAD_MIN_WIDTH``: minimum width of a message frame.\r
+\r
 -  ``MESSAGES_DISPLAY``: default messages to display on 'inbox' or 'sent' command.\r
 \r
 -  ``TREND_MAX``: default trends to display on 'trend' command.\r
index 47deb6e..d85d658 100644 (file)
@@ -24,6 +24,8 @@
     // 'thread' meta format
     "THREAD_META_LEFT" : "(#id) #clock",
     "THREAD_META_RIGHT" : "#clock (#id)",
+    // 'thread' frame's minimum width
+    "THREAD_MIN_WIDTH" : 20,
     // 'inbox','sent': default number of direct message
     "MESSAGES_DISPLAY" : 5,
     // 'trend': max trending topics
index 9c7a509..a6bdb45 100644 (file)
@@ -32,6 +32,7 @@
         "rt"              : 202,
         "link"            : 154,
         "hashtag"         : 37,
+        "mytweet"         : 202,
         "keyword"         : "on_light_green"
     },
 
index 93036bc..d9c7bb3 100644 (file)
@@ -32,6 +32,7 @@
         "rt"              : 179,
         "link"            : 74,
         "hashtag"         : 198,
+        "mytweet"         : 179,
         "keyword"         : "on_light_green"
     },
 
index 7cfee1e..e9eb1e0 100644 (file)
@@ -32,6 +32,7 @@
         "rt"              : 66,
         "link"            : 23,
         "hashtag"         : 64,
+        "mytweet"         : 66,
         "keyword"         : "on_light_green"
     },
 
index 32b04d1..3bd27dc 100644 (file)
@@ -32,6 +32,7 @@
         "rt"              : 145,
         "link"            : 30,
         "hashtag"         : 67,
+        "mytweet"         : 145,
         "keyword"         : "on_light_blue"
     },
 
index 9f8a0eb..5bde76c 100644 (file)
@@ -205,6 +205,7 @@ def draw(t, keyword=None, humanize=True, fil=[], ig=[]):
         media_url = None
 
     # Filter and ignore
+    mytweet = screen_name == c['original_name']
     screen_name = '@' + screen_name
     fil = list(set((fil or []) + c['ONLY_LIST']))
     ig = list(set((ig or []) + c['IGNORE_LIST']))
@@ -249,7 +250,7 @@ def draw(t, keyword=None, humanize=True, fil=[], ig=[]):
     # Highlight link
     tweet = lmap(
         lambda x: color_func(c['TWEET']['link'])(x)
-        if x[0:4] == 'http'
+        if x.startswith('http')
         else x,
         tweet)
     # Highlight hashtag
@@ -258,6 +259,15 @@ def draw(t, keyword=None, humanize=True, fil=[], ig=[]):
         if x.startswith('#')
         else x,
         tweet)
+    # Highlight my tweet
+    if mytweet:
+        tweet = [color_func(c['TWEET']['mytweet'])(x)
+                 for x in tweet
+                 if not any([
+                     x == 'RT',
+                     x.startswith('http'),
+                     x.startswith('#')])
+                 ]
     # Highlight keyword
     tweet = ' '.join(tweet)
     if keyword:
@@ -383,6 +393,7 @@ def print_right_message(m):
     h, w = os.popen('stty size', 'r').read().split()
     w = int(w)
     frame_width = w // 3 - dg['frame_margin']
+    frame_width = max(c['THREAD_MIN_WIDTH'], frame_width)
     step = frame_width - 2 * dg['frame_margin']
     slicing = textwrap.wrap(m['text'], step)
     spaces = w - frame_width - dg['frame_margin']
@@ -446,6 +457,7 @@ def print_left_message(m):
     h, w = os.popen('stty size', 'r').read().split()
     w = int(w)
     frame_width = w // 3 - dg['frame_margin']
+    frame_width = max(c['THREAD_MIN_WIDTH'], frame_width)
     step = frame_width - 2 * dg['frame_margin']
     slicing = textwrap.wrap(m['text'], step)
     spaces = dg['frame_margin']
index 8d93084..4b34682 100644 (file)
@@ -122,7 +122,7 @@ def init(args):
     name = credential['name']
     if not get_config('PREFIX'):
         set_config('PREFIX', screen_name)
-    g['original_name'] = screen_name[1:]
+    c['original_name'] = g['original_name'] = screen_name[1:]
     g['full_name'] = name
     g['decorated_name'] = lambda x: color_func(
         c['DECORATED_NAME'])('[' + x + ']: ')
index 874893f..447c9da 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -3,7 +3,7 @@ import os
 import os.path
 
 # Bumped version
-version = '0.8.8'
+version = '0.8.9'
 
 # Require
 install_requires = [
index e5ecbab..6e27d09 100644 (file)
--- a/theme.md
+++ b/theme.md
@@ -143,6 +143,7 @@ Color reference can be found at
   * `rt`: color for `RT` word in tweet's content.
   * `link`: color for an url.
   * `hashtag`: color for a hashtag.
+  * `mytweet`: color for tweet's text from yourself.
   * `keyword`: color for highlighted keyword (in tweets search).
 * `MESSAGE`: colors of parts in message's output.
   * `partner`: color for __partner__.