summaryrefslogtreecommitdiff
path: root/client/modules
diff options
context:
space:
mode:
Diffstat (limited to 'client/modules')
-rw-r--r--client/modules/app_utils.py124
1 files changed, 0 insertions, 124 deletions
diff --git a/client/modules/app_utils.py b/client/modules/app_utils.py
deleted file mode 100644
index cea6881..0000000
--- a/client/modules/app_utils.py
+++ /dev/null
@@ -1,124 +0,0 @@
-# -*- coding: utf-8-*-
-import smtplib
-from email.MIMEText import MIMEText
-import urllib2
-import re
-import requests
-from pytz import timezone
-
-
-def sendEmail(SUBJECT, BODY, TO, FROM, SENDER, PASSWORD, SMTP_SERVER):
- """Sends an HTML email."""
- for body_charset in 'US-ASCII', 'ISO-8859-1', 'UTF-8':
- try:
- BODY.encode(body_charset)
- except UnicodeError:
- pass
- else:
- break
- msg = MIMEText(BODY.encode(body_charset), 'html', body_charset)
- msg['From'] = SENDER
- msg['To'] = TO
- msg['Subject'] = SUBJECT
-
- SMTP_PORT = 587
- session = smtplib.SMTP(SMTP_SERVER, SMTP_PORT)
- session.starttls()
- session.login(FROM, PASSWORD)
- session.sendmail(SENDER, TO, msg.as_string())
- session.quit()
-
-
-def emailUser(profile, SUBJECT="", BODY=""):
- """
- Sends an email.
-
- Arguments:
- profile -- contains information related to the user (e.g., email address)
- SUBJECT -- subject line of the email
- BODY -- body text of the email
- """
- def generateSMSEmail(profile):
- """Generates an email from a user's phone number based on their carrier."""
- if profile['carrier'] is None or not profile['phone_number']:
- return None
-
- return str(profile['phone_number']) + "@" + profile['carrier']
-
- if profile['prefers_email'] and profile['gmail_address']:
- # add footer
- if BODY:
- BODY = profile['first_name'] + \
- ",<br><br>Here are your top headlines:" + BODY
- BODY += "<br>Sent from your Jasper"
-
- recipient = profile['gmail_address']
- if profile['first_name'] and profile['last_name']:
- recipient = profile['first_name'] + " " + \
- profile['last_name'] + " <%s>" % recipient
- else:
- recipient = generateSMSEmail(profile)
-
- if not recipient:
- return False
-
- try:
- if 'mailgun' in profile:
- user = profile['mailgun']['username']
- password = profile['mailgun']['password']
- server = 'smtp.mailgun.org'
- else:
- user = profile['gmail_address']
- password = profile['gmail_password']
- server = 'smtp.gmail.com'
- sendEmail(SUBJECT, BODY, recipient, user,
- "Jasper <jasper>", password, server)
-
- return True
- except:
- return False
-
-
-def getTimezone(profile):
- """
- Returns the pytz timezone for a given profile.
-
- Arguments:
- profile -- contains information related to the user (e.g., email address)
- """
- try:
- return timezone(profile['timezone'])
- except:
- return None
-
-
-def generateTinyURL(URL):
- """
- Generates a compressed URL.
-
- Arguments:
- URL -- the original URL to-be compressed
- """
- target = "http://tinyurl.com/api-create.php?url=" + URL
- response = urllib2.urlopen(target)
- return response.read()
-
-
-def isNegative(phrase):
- """
- Returns True if the input phrase has a negative sentiment.
-
- Arguments:
- phrase -- the input phrase to-be evaluated
- """
- return bool(re.search(r'\b(no(t)?|don\'t|stop|end)\b', phrase, re.IGNORECASE))
-
-
-def isPositive(phrase):
- """
- Returns True if the input phrase has a positive sentiment.
-
- Arguments:
- phrase -- the input phrase to-be evaluated
- """
- return bool(re.search(r'\b(sure|yes|yeah|go)\b', phrase, re.IGNORECASE))