Empty string is false
[rainbowstream.git] / rainbowstream / util.py
index a3cd1272ad495d8fc8e2b8ece0bae06bdd9f09ec..8a33711ceb7efc98a954a48e4337e02b848bd474 100644 (file)
@@ -2,6 +2,7 @@ import json
 
 from twitter.util import printNicely
 from .colors import *
+from .config import *
 
 
 def detail_twitter_error(twitterException):
@@ -9,10 +10,35 @@ def detail_twitter_error(twitterException):
     Display Twitter Errors nicely
     """
     try:
-        loadedJson = json.loads(twitterException.response_data)
+        # twitterException.response_data can be byte string on Python 3
+        # or nornal dict on Python 2
+        loadedJson = json.loads(twitterException.response_data.decode('utf8'))
         for m in loadedJson.get('errors', dict()):
             info = "Error " + str(m.get('code')) + ": " + m.get('message')
             printNicely(yellow(info))
-    except ValueError:
-        info = "Error: " + twitterException.response_data
+    except:
+        info = "Error: " + twitterException.response_data.decode('utf8')
         printNicely(yellow(info))
+
+
+def format_prefix(listname = '', keyword = ''):
+    """
+    Format the custom prefix
+    """
+    formattedPrefix = c['PREFIX']
+    owner = '@' + c['original_name']
+    place = ''
+    if keyword:
+        place = '/public'
+        keyword = '#' + keyword
+
+    if listname:
+        owner, place = listname.split('/')
+        place = "/" + place
+
+    formattedPrefix = formattedPrefix.replace("#owner", owner)
+    formattedPrefix = formattedPrefix.replace("#place", place)
+    formattedPrefix = formattedPrefix.replace("#keyword", keyword)
+    formattedPrefix = formattedPrefix.replace("#me", '@' + c['original_name'])
+
+    return formattedPrefix