X-Git-Url: https://vcs.fsf.org/?p=rainbowstream.git;a=blobdiff_plain;f=rainbowstream%2Futil.py;h=292a7e5b408687f88f1f134500032302f011b810;hp=232845c031e807709fb368e3142ce5d91cd72bc8;hb=04610460050d47adec2e7b9c8a354b6ee99a6317;hpb=5531923ea428470228d145d3c89fee0aecbe6e78 diff --git a/rainbowstream/util.py b/rainbowstream/util.py index 232845c..292a7e5 100644 --- a/rainbowstream/util.py +++ b/rainbowstream/util.py @@ -1,16 +1,53 @@ import json from twitter.util import printNicely +from .colors import * +from .config import * -from .colors import magenta - -def printTwitterErrors(twitterException): +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()): - printNicely( - magenta("Error " + str(m.get('code')) + ": " + m.get('message'))) - except ValueError: - printNicely( - magenta( "Error: " + twitterException.response_data)) + info = "Error " + str(m.get('code')) + ": " + m.get('message') + printNicely(yellow(info)) + 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 = '' + # Public stream + if keyword: + formattedPrefix = ''.join(formattedPrefix.split('#owner')) + formattedPrefix = ''.join(formattedPrefix.split('#place')) + formattedPrefix = ''.join(formattedPrefix.split('#me')) + # List stream + elif listname: + formattedPrefix = ''.join(formattedPrefix.split('#keyword')) + formattedPrefix = ''.join(formattedPrefix.split('#me')) + owner, place = listname.split('/') + place = '/' + place + # Personal stream + else: + formattedPrefix = ''.join(formattedPrefix.split('#keyword')) + formattedPrefix = ''.join(formattedPrefix.split('#owner')) + formattedPrefix = ''.join(formattedPrefix.split('#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