summaryrefslogtreecommitdiff
path: root/taste.py
diff options
context:
space:
mode:
Diffstat (limited to 'taste.py')
-rw-r--r--taste.py76
1 files changed, 76 insertions, 0 deletions
diff --git a/taste.py b/taste.py
new file mode 100644
index 0000000..8471473
--- /dev/null
+++ b/taste.py
@@ -0,0 +1,76 @@
+#!/usr/bin/python3
+# -*- coding: utf-8 -*-
+
+
+import tweepy
+from config import white_kwds
+
+
+COLOR_RESET = "\033[0m"
+
+COLOR_REJECTED = "\033[1;31m"
+COLOR_ACCEPTED = "\033[1;32m"
+COLOR_ALREADY = "\033[1;33m"
+
+
+def get_displayable_content(orig, margin):
+ """Format content to get it displayable."""
+
+ padding = '\n' + ' ' * margin
+
+ useful = [ l for l in orig.split('\n') if len(l) > 0 ]
+
+ result = padding.join(useful)
+
+ return result
+
+
+def analyse(sid, username, content, api, memory):
+ """Analyse a Tweet content."""
+
+ like = False
+
+ words = content.split(' ')
+
+ white = [ s.lower().replace('_', ' ') for s in white_kwds.split(' ') ]
+
+ for kwd in white:
+
+ for w in words:
+ if w.lower() == kwd:
+ like = True
+ break
+
+ if like:
+ break
+
+ if like:
+
+ if memory.is_original_content(content):
+
+ try:
+
+ api.create_favorite(sid)
+
+ memory.save_liked_status(sid, username, content)
+
+ displayable = get_displayable_content(content, len('Liking') + len(' @%s: "' % username))
+
+ print(COLOR_ACCEPTED + 'Liking' + COLOR_RESET + ' @%s: "%s"' % (username, displayable))
+ print(' -> https://twitter.com/%s/status/%d' % (username, sid))
+
+ except tweepy.error.TweepError:
+
+ pass
+
+ else:
+
+ displayable = get_displayable_content(content, len('Already seen "'))
+
+ print(COLOR_ALREADY + 'Already seen' + COLOR_RESET + ' "%s"' % displayable)
+
+ else:
+
+ displayable = get_displayable_content(content, len('Reject') + len(' @%s: "' % username))
+
+ print(COLOR_REJECTED + 'Reject' + COLOR_RESET + ' @%s: "%s"' % (username, displayable))