def GET(self): #获取输入参数 data = web.input() #从WeixinService中获取该服务号的相关信息 fwh = userdb.get_weixin_obj(weixin_name=data.name) msg = GetMessage(data) if msg.is_from_weixin(fwh.token): return msg.echostr else: return msg.signature
def __init__(self, login_request, server): self._responses = {} self._server = server self._login_request = login_request get = GetMessage(login_request.username, server.id, server.signature_service, timestamp=login_request.timestamp) server.messaging_service.broadcast(get) self._sent = False
def FolderName(service, msg_id): '''previously created labels in GMAIL''' results = service.users().labels().list(userId='me').execute() labels = results.get('labels') ''' message info ''' message = GetMessage(service, 'me', msg_id) ''' assign to gmail folder ''' try: message_labels = message['labelIds'] label_id = list(filter(lambda x: 'Label' in x, message_labels)).pop() folder_name = list( filter(lambda label: label['id'] == label_id, labels)).pop() return folder_name['name'] #return [message['id'], folder_name['name']] except: return '_unassigned'
def HtmlInserts(service, messages): email_tuple = [] subject_tuple = [] folder_tuple = [] attachment_tuple = [] for message in messages: message_data = GetMessage(service, 'me', message['id']) headers = message_data['payload']['headers'] try: email = list(filter(lambda x: 'From' in x['name'], headers)).pop()['value'] subject = list(filter(lambda x: 'Subject' in x['name'], headers)).pop()['value'][:100] except: email = "Manager's Email" subject = "N/A" folder = FolderName(service, message['id']) #import pdb; pdb.set_trace() #folder = list(filter(lambda folder: folder[0] == message['id'], folder_data)).pop() #snippet = message_data['snippet'] attachment = AttachmentQuerry(message_data['payload']) email_tuple.append( f'<p style="font-size: 14px; line-height: 1.2; mso-line-height-alt: 17px; margin: 0; max-height: 150px; min-height: 150px; max-width: 180px; vertical-align: middle">{email}</p>' ) subject_tuple.append( f'<p style="font-size: 14px; line-height: 1.2; mso-line-height-alt: 17px; margin: 0; max-height: 150px; min-height: 150px; max-width: 180px; vertical-align: middle">{subject}</p>' ) folder_tuple.append( f'<p style="font-size: 14px; line-height: 1.2; mso-line-height-alt: 17px; margin: 0; max-height: 150px; min-height: 150px; max-width: 180px; vertical-align: middle">{folder}</p>' ) attachment_tuple.append( f'<p style="font-size: 14px; line-height: 1.2; mso-line-height-alt: 17px; margin: 0; max-height: 150px; min-height: 150px; max-width: 180px; vertical-align: middle">{attachment}</p>' ) email_text = ''.join(email_tuple) subject_text = ''.join(subject_tuple) folder_text = ''.join(folder_tuple) attachment_text = ''.join(attachment_tuple) return email_text, subject_text, folder_text, attachment_text
# -*- coding: utf-8 -*- import hashlib import web #import lxml import time import os import urllib2,json import sys #add parent directory to sys.path sys.path.append(os.path.split(os.path.dirname(__file__))[0]) #from lxml import etree #import pylibmc from common import templates_root from message import GetMessage,PostMessage class Data : def __init__(self): self.signature="62f883efec0de69cac4cb4f23c706b36db1ce28a" self.echostr="5990745519727602978" self.timestamp="1394634018" self.nonce="1394829133" data =Data() print data.signature msg = GetMessage(data) if msg.is_from_weixin(): print msg.echostr
def GET(self): #获取输入参数 data = web.input() msg = GetMessage(data) if msg.is_from_weixin(): return msg.echostr
if __name__ == '__main__': from stubs import * from pake2plus.util import number_to_bytes, bytes_to_number servers = [StubServer(i) for i in [0, 1, 2, 3, 4, 5]] secret = 4720180751612715235271090812360374322170044808629075413983095821158821133441 secret = str(number_to_bytes(secret, 2**256 - 1)) secret += secret encrypted = servers[0].threshold_encryption_service.encrypt(secret) client_msg = PutMessage("brendon", secret, 5, servers[5].signature_service) put_state_machine = PutStateMachine(client_msg, servers[0]) for i in xrange(1, 6): put_accept_msg = PutAcceptMessage(client_msg, i, servers[i].signature_service) put_state_machine.handle_message(put_accept_msg) client_msg = GetMessage("brendon", 5, servers[5].signature_service) get_state_machine = GetStateMachine(client_msg, servers[0]) for i in xrange(6): decryption_share = servers[i].threshold_encryption_service.decrypt( encrypted) decryption_share_msg = DecryptionShareMessage( decryption_share, servers[i].id, client_msg, servers[i].signature_service) get_state_machine.handle_message(decryption_share_msg)