Merge pull request #197 from Lertsenem/pr-modernquotes
authorOrakaro <DTVD@users.noreply.github.com>
Mon, 17 Oct 2016 02:45:02 +0000 (11:45 +0900)
committerGitHub <noreply@github.com>
Mon, 17 Oct 2016 02:45:02 +0000 (11:45 +0900)
Make use of modern-style quotes

docs/index.rst
rainbowstream/colorset/config
rainbowstream/config.py
rainbowstream/draw.py

index 44cc068..0fa1319 100644 (file)
@@ -351,8 +351,9 @@ You also can view or set a new value of every config key by ``config`` command (
 -  ``QUOTE_FORMAT``: format when quote a tweet
 
     + ``#comment``: Your own comment about the tweet
-    + ``#owner``: owner's username with '@'
+    + ``#owner``: owner's username *without* '@'
     + ``#tweet``: original tweet
+    + ``#tid``: the tweet id on Twitter
 
 -  ``THREAD_META_LEFT``: format for meta information of messages from partner which is display in the left of screen.
 
index a9ee3fd..54b76ff 100644 (file)
@@ -24,7 +24,7 @@
     // 'conversation': max tweet in a thread
     "CONVERSATION_MAX" : 30,
     // 'quote' format
-    "QUOTE_FORMAT" : "#comment RT #owner: #tweet",
+    "QUOTE_FORMAT" : "#comment https://twitter.com/#owner/status/#tid",
     // 'thread' meta format
     "THREAD_META_LEFT" : "(#id) #clock",
     "THREAD_META_RIGHT" : "#clock (#id)",
index 1573cce..5f5b81b 100644 (file)
@@ -6,7 +6,7 @@ from collections import OrderedDict
 
 # Regular expression for comments in config file
 comment_re = re.compile(
-    '(^)?[^\S\n]*/(?:\*(.*?)\*/[^\S\n]*|/[^\n]*)($)?',
+    '(^)[^\S\n]*/(?:\*(.*?)\*/[^\S\n]*|/[^\n]*)($)?',
     re.DOTALL | re.MULTILINE
 )
 
index ab20276..75e7577 100644 (file)
@@ -1066,8 +1066,10 @@ def format_quote(tweet):
     Quoting format
     """
     # Retrieve info
-    screen_name = '@' + tweet['user']['screen_name']
-    text = tweet['text']
+    screen_name = tweet['user']['screen_name']
+    text        = tweet['text']
+    tid         = str( tweet['id'] )
+
     # Validate quote format
     if '#owner' not in c['QUOTE_FORMAT']:
         printNicely(light_magenta('Quote should contains #owner'))
@@ -1075,12 +1077,16 @@ def format_quote(tweet):
     if '#comment' not in c['QUOTE_FORMAT']:
         printNicely(light_magenta('Quote format should have #comment'))
         return False
+
     # Build formater
     formater = ''
     try:
         formater = c['QUOTE_FORMAT']
-        formater = screen_name.join(formater.split('#owner'))
-        formater = text.join(formater.split('#tweet'))
+
+        formater = formater.replace('#owner', screen_name)
+        formater = formater.replace('#tweet', text)
+        formater = formater.replace('#tid',   tid)
+
         formater = emojize(formater)
     except:
         pass