+def notify_retweet(t):
+ """
+ Notify a retweet
+ """
+ source = t['user']
+ created_at = t['created_at']
+ # Format
+ source_user = cycle_color(source['name']) + \
+ color_func(c['NOTIFICATION']['source_nick'])(
+ ' @' + source['screen_name'])
+ notify = color_func(c['NOTIFICATION']['notify'])(
+ 'retweeted your tweet')
+ date = parser.parse(created_at)
+ date = arrow.get(date).to('local')
+ lang, encode = locale.getdefaultlocale()
+ clock = arrow.get(date).to('local').humanize(locale=lang)
+ clock = color_func(c['NOTIFICATION']['clock'])(clock)
+ meta = c['NOTIFY_FORMAT']
+ meta = source_user.join(meta.split('#source_user'))
+ meta = notify.join(meta.split('#notify'))
+ meta = clock.join(meta.split('#clock'))
+ # Output
+ printNicely('')
+ printNicely(meta)
+ draw(t=t['retweeted_status'], noti=True)
+
+
+def notify_favorite(e):
+ """
+ Notify a favorite event
+ """
+ # Retrieve info
+ target = e['target']
+ if target['screen_name'] != c['original_name']:
+ return
+ source = e['source']
+ target_object = e['target_object']
+ created_at = e['created_at']
+ # Format
+ source_user = cycle_color(source['name']) + \
+ color_func(c['NOTIFICATION']['source_nick'])(
+ ' @' + source['screen_name'])
+ notify = color_func(c['NOTIFICATION']['notify'])(
+ 'favorited your tweet')
+ date = parser.parse(created_at)
+ date = arrow.get(date).to('local')
+ lang, encode = locale.getdefaultlocale()
+ clock = arrow.get(date).to('local').humanize(locale=lang)
+ clock = color_func(c['NOTIFICATION']['clock'])(clock)
+ meta = c['NOTIFY_FORMAT']
+ meta = source_user.join(meta.split('#source_user'))
+ meta = notify.join(meta.split('#notify'))
+ meta = clock.join(meta.split('#clock'))
+ # Output
+ printNicely('')
+ printNicely(meta)
+ draw(t=target_object, noti=True)
+
+
+def notify_unfavorite(e):
+ """
+ Notify a unfavorite event
+ """
+ # Retrieve info
+ target = e['target']
+ if target['screen_name'] != c['original_name']:
+ return
+ source = e['source']
+ target_object = e['target_object']
+ created_at = e['created_at']
+ # Format
+ source_user = cycle_color(source['name']) + \
+ color_func(c['NOTIFICATION']['source_nick'])(
+ ' @' + source['screen_name'])
+ notify = color_func(c['NOTIFICATION']['notify'])(
+ 'unfavorited your tweet')
+ date = parser.parse(created_at)
+ date = arrow.get(date).to('local')
+ lang, encode = locale.getdefaultlocale()
+ clock = arrow.get(date).to('local').humanize(locale=lang)
+ clock = color_func(c['NOTIFICATION']['clock'])(clock)
+ meta = c['NOTIFY_FORMAT']
+ meta = source_user.join(meta.split('#source_user'))
+ meta = notify.join(meta.split('#notify'))
+ meta = clock.join(meta.split('#clock'))
+ # Output
+ printNicely('')
+ printNicely(meta)
+ draw(t=target_object, noti=True)
+
+
+def notify_follow(e):
+ """
+ Notify a follow event
+ """
+ # Retrieve info
+ target = e['target']
+ if target['screen_name'] != c['original_name']:
+ return
+ source = e['source']
+ created_at = e['created_at']
+ # Format
+ source_user = cycle_color(source['name']) + \
+ color_func(c['NOTIFICATION']['source_nick'])(
+ ' @' + source['screen_name'])
+ notify = color_func(c['NOTIFICATION']['notify'])(
+ 'followed you')
+ date = parser.parse(created_at)
+ date = arrow.get(date).to('local')
+ lang, encode = locale.getdefaultlocale()
+ clock = arrow.get(date).to('local').humanize(locale=lang)
+ clock = color_func(c['NOTIFICATION']['clock'])(clock)
+ meta = c['NOTIFY_FORMAT']
+ meta = source_user.join(meta.split('#source_user'))
+ meta = notify.join(meta.split('#notify'))
+ meta = clock.join(meta.split('#clock'))
+ # Output
+ printNicely('')
+ printNicely(meta)
+
+
+def notify_list_member_added(e):
+ """
+ Notify a list_member_added event
+ """
+ # Retrieve info
+ target = e['target']
+ if target['screen_name'] != c['original_name']:
+ return
+ source = e['source']
+ target_object = [e['target_object']] # list of Twitter list
+ created_at = e['created_at']
+ # Format
+ source_user = cycle_color(source['name']) + \
+ color_func(c['NOTIFICATION']['source_nick'])(
+ ' @' + source['screen_name'])
+ notify = color_func(c['NOTIFICATION']['notify'])(
+ 'added you to a list')
+ date = parser.parse(created_at)
+ date = arrow.get(date).to('local')
+ lang, encode = locale.getdefaultlocale()
+ clock = arrow.get(date).to('local').humanize(locale=lang)
+ clock = color_func(c['NOTIFICATION']['clock'])(clock)
+ meta = c['NOTIFY_FORMAT']
+ meta = source_user.join(meta.split('#source_user'))
+ meta = notify.join(meta.split('#notify'))
+ meta = clock.join(meta.split('#clock'))
+ # Output
+ printNicely('')
+ printNicely(meta)
+ print_list(target_object, noti=True)
+
+
+def notify_list_member_removed(e):
+ """
+ Notify a list_member_removed event
+ """
+ # Retrieve info
+ target = e['target']
+ if target['screen_name'] != c['original_name']:
+ return
+ source = e['source']
+ target_object = [e['target_object']] # list of Twitter list
+ created_at = e['created_at']
+ # Format
+ source_user = cycle_color(source['name']) + \
+ color_func(c['NOTIFICATION']['source_nick'])(
+ ' @' + source['screen_name'])
+ notify = color_func(c['NOTIFICATION']['notify'])(
+ 'removed you from a list')
+ date = parser.parse(created_at)
+ date = arrow.get(date).to('local')
+ lang, encode = locale.getdefaultlocale()
+ clock = arrow.get(date).to('local').humanize(locale=lang)
+ clock = color_func(c['NOTIFICATION']['clock'])(clock)
+ meta = c['NOTIFY_FORMAT']
+ meta = source_user.join(meta.split('#source_user'))
+ meta = notify.join(meta.split('#notify'))
+ meta = clock.join(meta.split('#clock'))
+ # Output
+ printNicely('')
+ printNicely(meta)
+ print_list(target_object, noti=True)
+
+
+def notify_list_user_subscribed(e):
+ """
+ Notify a list_user_subscribed event
+ """
+ # Retrieve info
+ target = e['target']
+ if target['screen_name'] != c['original_name']:
+ return
+ source = e['source']
+ target_object = [e['target_object']] # list of Twitter list
+ created_at = e['created_at']
+ # Format
+ source_user = cycle_color(source['name']) + \
+ color_func(c['NOTIFICATION']['source_nick'])(
+ ' @' + source['screen_name'])
+ notify = color_func(c['NOTIFICATION']['notify'])(
+ 'subscribed to your list')
+ date = parser.parse(created_at)
+ date = arrow.get(date).to('local')
+ lang, encode = locale.getdefaultlocale()
+ clock = arrow.get(date).to('local').humanize(locale=lang)
+ clock = color_func(c['NOTIFICATION']['clock'])(clock)
+ meta = c['NOTIFY_FORMAT']
+ meta = source_user.join(meta.split('#source_user'))
+ meta = notify.join(meta.split('#notify'))
+ meta = clock.join(meta.split('#clock'))
+ # Output
+ printNicely('')
+ printNicely(meta)
+ print_list(target_object, noti=True)
+
+
+def notify_list_user_unsubscribed(e):
+ """
+ Notify a list_user_unsubscribed event
+ """
+ # Retrieve info
+ target = e['target']
+ if target['screen_name'] != c['original_name']:
+ return
+ source = e['source']
+ target_object = [e['target_object']] # list of Twitter list
+ created_at = e['created_at']
+ # Format
+ source_user = cycle_color(source['name']) + \
+ color_func(c['NOTIFICATION']['source_nick'])(
+ ' @' + source['screen_name'])
+ notify = color_func(c['NOTIFICATION']['notify'])(
+ 'unsubscribed from your list')
+ date = parser.parse(created_at)
+ date = arrow.get(date).to('local')
+ lang, encode = locale.getdefaultlocale()
+ clock = arrow.get(date).to('local').humanize(locale=lang)
+ clock = color_func(c['NOTIFICATION']['clock'])(clock)
+ meta = c['NOTIFY_FORMAT']
+ meta = source_user.join(meta.split('#source_user'))
+ meta = notify.join(meta.split('#notify'))
+ meta = clock.join(meta.split('#clock'))
+ # Output
+ printNicely('')
+ printNicely(meta)
+ print_list(target_object, noti=True)
+
+
+def nothing(e):
+ """
+ Do nothing for other event
+ """
+ return
+
+
+def print_event(e):
+ """
+ Notify an event
+ """
+ event_dict = {
+ 'retweet': notify_retweet,
+ 'favorite': notify_favorite,
+ 'unfavorite': notify_unfavorite,
+ 'follow': notify_follow,
+ 'list_member_added': notify_list_member_added,
+ 'list_member_removed': notify_list_member_removed,
+ 'list_user_subscribed': notify_list_user_subscribed,
+ 'list_user_unsubscribed': notify_list_user_unsubscribed,
+ }
+ event_dict.get(e['event'], nothing)(e)
+
+