Exemple #1
0
 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
Exemple #2
0
 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
Exemple #3
0
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'
Exemple #4
0
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
Exemple #5
0
# -*- 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
Exemple #6
0
# -*- 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
Exemple #7
0
 def GET(self):
     #获取输入参数
     data = web.input()
     msg = GetMessage(data)
     if msg.is_from_weixin():
         return msg.echostr
Exemple #8
0
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)