Exemple #1
0
def send_video():
    b = basic.Basic()
    access_token = b.get_access_token()
    data = '''
        {
            "touser": "******",
            "template_id": "tHhpwDmV_rMwVZX-gs2rbHgj7YwnBxd0UEIawSI-w2s",
            "url": "http://www.bilibili.com/video/av30721042/?share_source=weixin&ts=1540128921&share_medium=iphone&bbid=90deae9844a6b7c2fe415db03dc1fa15",
            "data": {
                "first": {
                    "value": "你好同学,新的教学视频发布了,请及时观看预习!",
                    "color": "#173177"
                },
                "keyword1": {
                    "value": "翻转课堂导论",
                    "color": "#173177"
                },
                "keyword2": {
                    "value": "2018-10-08",
                    "color": "#173177"
                },

           
                "Remark": {
                    "value": "点击详情观看",
                    "color": "#173177"
                }
            }
        }
        '''
    postUrl = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=%s" % access_token
    if isinstance(data, unicode):
        data = data.encode('utf-8')
    urlResp = urllib.urlopen(url=postUrl, data=data)
    print(urlResp.read())
 def change_mode(self, mode):
     if mode == 0:
         self.root.destroy()
         calculator = basic.Basic()
     else:
         self.root.destroy()
         calculator = Scientific()
Exemple #3
0
def generate_binary(outputfname, format_, progname=''):
    """ Outputs the memory binary to the
    output filename using one of the given
    formats: tap, tzx or bin
    """
    global AUTORUN_ADDR

    org, binary = MEMORY.dump()
    if gl.has_errors:
        return

    if AUTORUN_ADDR is None:
        AUTORUN_ADDR = org

    if not progname:
        progname = os.path.basename(outputfname)[:10]

    if OPTIONS.use_loader.value:
        import basic  # Minimalist basic tokenizer

        program = basic.Basic()
        if org > 16383:  # Only for zx48k: CLEAR if below 16383
            program.add_line([['CLEAR', org - 1]])
        program.add_line([['LOAD', '""', program.token('CODE')]])

        if OPTIONS.autorun.value:
            program.add_line(
                [['RANDOMIZE', program.token('USR'), AUTORUN_ADDR]])
        else:
            program.add_line(
                [['REM'], ['RANDOMIZE',
                           program.token('USR'), AUTORUN_ADDR]])

    if format_ == 'tzx':
        import outfmt
        t = outfmt.TZX()

        if OPTIONS.use_loader.value:
            t.save_program('loader', program.bytes,
                           line=1)  # Put line 0 to protect against MERGE

        t.save_code(progname, org, binary)
        t.dump(outputfname)

    elif format_ == 'tap':
        import outfmt
        t = outfmt.TAP()

        if OPTIONS.use_loader.value:
            t.save_program('loader', program.bytes,
                           line=1)  # Put line 0 to protect against MERGE

        t.save_code(progname, org, binary)
        t.dump(outputfname)

    else:
        with open(outputfname, 'wb') as f:
            f.write(bytearray(binary))
Exemple #4
0
  def POST(self):
      try:
          webData = web.data()
          print "Handle Post webdata is ", webData
 #后台打日志
          recMsg = receive.parse_xml(webData)
          if isinstance(recMsg, receive.Msg):
              toUser = recMsg.FromUserName
              fromUser = recMsg.ToUserName
              if recMsg.MsgType == 'text':
                  content = "test"
                  replyMsg = reply.TextMsg(toUser, fromUser, content)
                  return replyMsg.send()
              if recMsg.MsgType == 'image':
                  mediaId = recMsg.MediaId
                  replyMsg = reply.ImageMsg(toUser, fromUser, mediaId)
                  return replyMsg.send()
              else:
                  return reply.Msg().send()
          if isinstance(recMsg, receive.EventMsg):
              print("event")
              if recMsg.Event == 'CLICK':
                  if recMsg.Eventkey == 'mpGuide':
                      toUser = recMsg.FromUserName
                      data = """
                      {
                          "touser":"******",
                          "template_id":"GVnSlVUMHDAr6uNtd7dJhnUr_Y0qEopR7SGwzyGVpto",
                          "url":"http://www.mej.cn",         
                          "data":{
                          }
                      }
                      """ % toUser
                      token = basic.Basic().get_access_token()
                      reply_template = template.Template().send(data, token)
                      return data
          else:
              print "暂且不处理"
              return "success"
      except Exception, Argment:
          print(Argment)
          return Argment
Exemple #5
0
def send_ppt():
    b = basic.Basic()
    access_token = b.get_access_token()
    data = '''
    {
        "touser": "******",
        "template_id": "CO8ABJrb3UJ3Foqx_uN1dJQXRXAP9IhiUdGeo5sxpZA",
        "url": "http://www.wechatshop.mobi:8080/counter/static/PPT.html",
        "data": {
            "first": {
                "value": "新的课件发布",
                "color": "#173177"
            },
            "keyword1": {
                "value": "翻转课堂",
                "color": "#173177"
            },
            "keyword2": {
                "value": "王老师",
                "color": "#173177"
            },
            "keyword3": {
                "value": "东9-201",
                "color": "#173177"
            },
            "keyword4": {
                "value": "2018-8-22",
                "color": "#173177"
            },
            "Remark": {
                "value": "点击详情下载",
                "color": "#173177"
            }
        }
    }
    '''
    postUrl = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=%s" % access_token
    if isinstance(data, unicode):
        data = data.encode('utf-8')
    urlResp = urllib.urlopen(url=postUrl, data=data)
    print(urlResp.read())
Exemple #6
0
def create():
    myMenu = Menu()
    postJson = """
    {
        "button":
        [
            {
                "type": "click",
                "name": "查看进展",
                "key":  "mpGuide"
            },
            {
                "type": "click",
                "name": "立即排队",
                "key":  "mpGuide"
            },
            {
                "name": "我的",
                "sub_button":
                [
                    {
                        "type": "view",
                        "name": "个人中心",
                        "url": "http://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1418702138&token=&lang=zh_CN"
                    },
                    {
                        "type": "view",
                        "name": "意见反馈",
                        "url": "http://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1418702138&token=&lang=zh_CN"
                    }
                ]
            }
          ]
    }
    """
    accessToken = basic.Basic().get_access_token()
    #myMenu.delete(accessToken)
    myMenu.create(postJson, accessToken)
Exemple #7
0
import Constant
import basic

b = basic.Basic()
print isinstance(b, basic.Basic)
basic.Basic().__real_get_access_token(b)
print b.get_access_token()
print Constant.APPID
Exemple #8
0
def main():
    calculator = basic.Basic()
Exemple #9
0
def generate_binary(outputfname, format_, progname='', binary_files=None, headless_binary_files=None):
    """ Outputs the memory binary to the
    output filename using one of the given
    formats: tap, tzx or bin
    """
    global AUTORUN_ADDR

    org, binary = MEMORY.dump()
    if gl.has_errors:
        return

    if binary_files is None:
        binary_files = []

    if headless_binary_files is None:
        headless_binary_files = []

    bin_blocks = []
    for fname in binary_files:
        with api.utils.open_file(fname) as f:
            bin_blocks.append((os.path.basename(fname), f.read()))

    headless_bin_blocks = []
    for fname in headless_binary_files:
        with api.utils.open_file(fname) as f:
            headless_bin_blocks.append(f.read())

    if AUTORUN_ADDR is None:
        AUTORUN_ADDR = org

    if not progname:
        progname = os.path.basename(outputfname)[:10]

    if OPTIONS.use_loader.value:
        import basic  # Minimalist basic tokenizer

        program = basic.Basic()
        if org > 16383:  # Only for zx48k: CLEAR if below 16383
            program.add_line([['CLEAR', org - 1]])
        program.add_line([['LOAD', '""', program.token('CODE')]])

        if OPTIONS.autorun.value:
            program.add_line([['RANDOMIZE', program.token('USR'), AUTORUN_ADDR]])
        else:
            program.add_line([['REM'], ['RANDOMIZE', program.token('USR'), AUTORUN_ADDR]])

    if format_ in ('tap', 'tzx'):
        t = {'tap': outfmt.TAP, 'tzx': outfmt.TZX}[format_]()

        if OPTIONS.use_loader.value:
            t.save_program('loader', program.bytes, line=1)  # Put line 0 to protect against MERGE

        t.save_code(progname, org, binary)
        for name, block in bin_blocks:
            t.save_code(name, 0, block)
        for block in headless_bin_blocks:
            t.standard_block(block)

        t.dump(outputfname)

    else:
        with open(outputfname, 'wb') as f:
            f.write(bytearray(binary))
Exemple #10
0
# -*- coding: utf-8 -*-
#  filename: __init__.py

from apscheduler.schedulers.background import BackgroundScheduler
import threading
import datetime
import basic
import menu


__q = threading.Lock()        # create a lock object
__token = basic.Basic()
scheduler = BackgroundScheduler()


@scheduler.scheduled_job('interval', id='job_id_wx_token', seconds=2)
def job_get_token():
    __q.acquire()  # acquire the lock
    __token.run(2)
    __q.release()  # release the lock


@scheduler.scheduled_job('date', run_date=datetime.datetime.now() + datetime.timedelta(seconds=5))
def job_create_menu():
    create_menu()


scheduler.start()


def get_access_token_for_wx():
Exemple #11
0
    def post(self):
        try:
            webData = self.request.body
            # 后台打日志
            recMsg = receive.parse_xml(webData)
            if isinstance(recMsg, receive.Msg) and recMsg.MsgType == 'text':
                if recMsg.Content == '#SCAPK':
                    toUser = recMsg.FromUserName
                    fromUser = recMsg.ToUserName
                    content = "http://www.zoujingyi.cn/app-release.apk"

                    qrcodePath = "imgs/release_apk_qrcode.png"
                    img = qrcode.make(content)
                    img.save(qrcodePath)
                    myMedia = media.Media()
                    accessToken = basic.Basic().get_access_token()
                    path = "/home/zou/WechatDetector/" + qrcodePath
                    mediaType = "image"
                    back = myMedia.uplaod(accessToken, path, mediaType)
                    back_json = json.loads(back)
                    media_id = back_json["media_id"]
                    replyMsg = reply.ImageMsg(toUser, fromUser, media_id)
                    self.write(replyMsg.send())

                elif recMsg.Content == '#OPENID':
                    toUser = recMsg.FromUserName
                    fromUser = recMsg.ToUserName
                    content = toUser

                    qrcodePath = "imgs/" + toUser + "_qrcode.png"
                    img = qrcode.make(content)
                    img.save(qrcodePath)

                    myMedia = media.Media()
                    accessToken = basic.Basic().get_access_token()
                    path = "/home/zou/WechatDetector/" + qrcodePath
                    mediaType = "image"
                    back = myMedia.uplaod(accessToken, path, mediaType)
                    back_json = json.loads(back)
                    media_id = back_json["media_id"]
                    replyMsg = reply.ImageMsg(toUser, fromUser, media_id)
                    self.write(replyMsg.send())
                elif recMsg.Content == '#DEVICE':
                    toUser = recMsg.FromUserName
                    fromUser = recMsg.ToUserName
                    content = ""
                    deviceIds = db.select_user(toUser)[2]
                    if deviceIds is not None:
                        for id in deviceIds.split(","):
                            deviceName = db.select_deviceName(deviceId=id)[1]
                            content = content + deviceName + " " + id + "\n"
                    replyMsg = reply.TextMsg(toUser, fromUser, content)
                    self.write(replyMsg.send())
                elif tool.fullmatch(r"(\d{4}-\d{1,2}-\d{1,2}\|\d+)",
                                    recMsg.Content):
                    # 日期|deviceId
                    toUser = recMsg.FromUserName
                    fromUser = recMsg.ToUserName
                    balance = int(db.select_user(user_name=toUser)[1])
                    if balance < price:
                        content = "余额不足,请充值,您的余额为" + str(balance) + "元"
                        replyMsg = reply.TextMsg(toUser, fromUser, content)
                        self.write(replyMsg.send())
                    else:
                        handleDate(recMsg=recMsg,
                                   handler=self,
                                   balance=balance)
            else:
                print("暂且不处理")
                self.write("success")
        except Exception as e:
            print(e)