def get_email(user): server = IMAPClient(HOST, use_uid=True, ssl=True) username = db.get("user:%s:login" % user) password = db.get("user:%s:password" % user) server.login(username, password) server.select_folder('INBOX', readonly=True) messages = server.search(['NOT DELETED','SINCE 15-May-2014']) response = server.fetch(messages, ['RFC822', 'FLAGS']) for msgid, data in response.iteritems(): # check for duplicates duplicate = db.zrangebyscore("mail:%s:inbox" % user, msgid, msgid) if duplicate: continue emailUTF8 = data['RFC822'].encode('utf-8') msg = parser.parsestr(emailUTF8) body = extract_body(msg).encode('utf-8') msg['message'] = body msg['subject'] = ('NoSubj' if (msg['Subject'] == None or msg['Subject'].encode('utf-8') == "".encode('utf-8')) else msg['Subject']) msg['to'] = ('NoTo' if (msg['To'] == None) else msg['To']) plain = {'plain_body': extract_body_text(msg).encode('utf-8'), 'subject': msg['subject']} # TODO set unread email = {'id': msgid, 'from': msg['From'], 'to': msg['To'], 'subject': msg['Subject'], 'date': msg['Date'], 'cc': msg['CC'], 'read': False, 'message': body, 'categorized': False, 'summary': shorten(plain), 'archived': False} trained = db.get("user:%s:trained" % user) if trained == "true": email['category'] = int(classify(msg, user)) else: email['category'] = 1 emailJSON = json.dumps(email, sort_keys=True, indent=4, separators=(',', ': ')) db.zadd("mail:%s:inbox" % user, emailJSON, msgid) db.sadd("mail:%s:%s" % (user, email['category']), msgid) server.logout()
async def ultima_consulta(request): """ Método que retorna os dados do Redis. :return: json com dados do cliente. """ dados = {} for key in db.keys(): dados[key] = db.get(key) return json(dados)
def send_email(): email = json.loads(request.data) username = db.get("user:%s:login" % current_user.user) password = db.get("user:%s:password" % current_user.user) subprocess.Popen( [ "/home/jmvldz/sigma/python_env/bin/python", "/home/jmvldz/sigma/send-email.py", "-f", username, "-t", email["to"], "-m", email["body"], "-s", email["subject"], "-p", password, ] ) return "Success"
def post(self): data_dict = json.loads(request.data) url_original = data_dict['url'] parsed_url = urllib.parse.quote_plus(url_original) url_short = db.get(parsed_url) if not url_short: url_short = str(uuid5(NAMESPACE_URL, url_original)) db.set(f'{parsed_url}', url_short) db.set(f'{url_short}:original', url_original) db.set(f'{url_short}:counter', 0) response = {'original': url_original, 'short': str(url_short)} return (response, 200)
def get_categories(): categoryString = db.get("user:%s:categories" % current_user.user) return make_response(categoryString)
def get(self, url_short=None): original = db.get(f'{url_short}:original') if original: db.incr(f'{url_short}:counter') return redirect(original, 301)