コード例 #1
0
ファイル: iftest.py プロジェクト: xyzj/lump
def test_querydatartuelec():
    global user_id
    print('=== query rtu data elec ===')
    url = baseurl + 'querydatartuelec'
    rqmsg = msgif.rqQueryDataRtuElec()
    rqmsg.dt_start = mx.time2stamp('2016-12-1 00:00:00')
    rqmsg.dt_end = mx.time2stamp('2016-12-31 00:00:00')
    rqmsg.data_mark = 1
    rqmsg.tml_id.extend([])
    data = {
        'uuid': user_id,
        'pb2': base64.b64encode(rqmsg.SerializeToString())
    }
    # data = {'uuid': user_id, 'pb2': 'KICY26 LKzCAqNaDlSs='}
    r = pm.request('POST', url, fields=data, timeout=300.0, retries=False)
    msg = msgif.QueryDataRtuElec()
    msg.ParseFromString(base64.b64decode(r.data))
    print(msg)
    print('post finish')
    time.sleep(0)
コード例 #2
0
ファイル: iftest.py プロジェクト: xyzj/lump
def test_ipcqueue():
    global user_id
    print('=== query em data ===')
    scode = mx.getMD5('{0}fendangao'.format(
        mx.stamp2time(time.time(), format_type='%Y%m%d%H')))
    url = baseurl + 'queryemdata'
    rqmsg = msgif.rqQueryEMData()
    # rqmsg.head.paging_num = 1
    # rqmsg.head.paging_buffer_tag = 1478230469047982
    # rqmsg.head.paging_idx = 30
    rqmsg.dev_id = '901001000999'
    # rqmsg.dt_start = 1489021647
    # rqmsg.dt_end = 1489108047
    rqmsg.dt_start = mx.time2stamp('2017-05-01 0:0:0')
    rqmsg.dt_end = mx.time2stamp('2017-07-28 23:59:59')
    data = {'scode': scode, 'pb2': base64.b64encode(rqmsg.SerializeToString())}
    r = pm.request('POST', url, fields=data, timeout=10.0, retries=False)
    msg = msgif.QueryEMData()
    msg.ParseFromString(base64.b64decode(r.data))
    print(msg)
    print('query em data finish')
    time.sleep(0)
コード例 #3
0
    def post(self):
        args = {}
        args["scode"] = mx.time2stamp(
            "{0:04d}-{1:02d}-{2:02d} {3:02d}:{4:02d}:00".format(
                time.localtime()[0],
                time.localtime()[1],
                time.localtime()[2],
                time.localtime()[3],
                time.localtime()[4]))
        try:
            args["pb2"] = self.get_argument("pb2")
        except:
            args["pb2"] = ""

        goodtogo = True
        try:
            user_data, rqmsg, msg, user_uuid = yield self.check_arguments(
                None, None)
            if user_data is not None and user_data[
                    'user_auth'] in libiisi.can_write:
                args["username"] = user_data["user_name"]
            else:
                goodtogo = False
        except:
            goodtogo = False
        # try:
        #     args["username"] = self.get_argument("username")
        # except:
        #     args["username"] = ""

        url = '{0}/{1}?{2}'.format(
            libiisi.cfg_dbsvr_url,
            self.request.path.replace(self.root_path, ''), urlencode(args))
        if goodtogo:
            try:
                rep = self._pm.request('POST', url, fields=args, timeout=10.0)
                self.write(rep.data)
                # rep = yield self.thc.fetch(
                #     url,
                #     method="POST",
                #     body=json.dumps(args),
                #     raise_error=True,
                #     request_timeout=10)
                # self.write(rep.body)
            except Exception as ex:
                self.write(str(ex))
        else:
            self.write("uuid error.")

        del url, args
        self.finish()
コード例 #4
0
ファイル: iftest.py プロジェクト: xyzj/lump
def test_rtudataquery():
    global user_id
    print('=== query rty data ===')
    url = baseurl + 'querydatartu'
    rqmsg = msgif.rqQueryDataRtu()
    rqmsg.head.paging_num = 100
    rqmsg.head.paging_idx = 1
    rqmsg.dt_start = mx.time2stamp('2017-12-11 00:00:00')
    rqmsg.dt_end = mx.time2stamp('2017-12-12 00:00:00')
    rqmsg.type = 1
    rqmsg.tml_id.extend([1000301])
    data = {
        'uuid': user_id,
        'pb2': base64.b64encode(rqmsg.SerializeToString())
    }  # base64.b64encode(rqmsg.SerializeToString())}
    r = pm.request('POST', url, fields=data, timeout=100.0, retries=False)
    msg = msgif.QueryDataRtu()
    msg.ParseFromString(base64.b64decode(r.data))
    print(msg)
    print(len(msg.data_rtu_view))
    # print(msg.head)
    print('post finish')
    time.sleep(0)
コード例 #5
0
ファイル: iftest.py プロジェクト: xyzj/lump
def test_querysludata():
    global user_id
    print('=== query slu data ===')
    url = baseurl + 'querydataslu'
    rqmsg = msgif.rqQueryDataSlu()
    # rqmsg.head.paging_idx=0
    rqmsg.dt_start = mx.time2stamp('2018-04-16 00:00:00')
    rqmsg.dt_end = mx.time2stamp('2018-05-24 12:00:00')
    rqmsg.type = 0
    rqmsg.data_mark = 7
    rqmsg.tml_id.extend([])
    print user_id
    data = {
        'uuid': user_id,
        'pb2': base64.b64encode(rqmsg.SerializeToString())
    }

    # data = {'uuid': user_id, 'pb2': 'OABKA LGW1AH'}
    r = pm.request('POST', url, fields=data, timeout=300.0, retries=False)
    msg = msgif.QueryDataSlu()
    msg.ParseFromString(base64.b64decode(r.data))
    print(msg)
    print('post finish')
    time.sleep(0)
コード例 #6
0
ファイル: iftest.py プロジェクト: xyzj/lump
def test_sluelecdataget():
    global user_id
    print('=== query sluelecdataget ===')
    url = baseurl + 'sluelecdataget'
    rqmsg = msgif.rqSluElecDataGet()
    # rqmsg.head.paging_idx=0
    rqmsg.dt_start = mx.time2stamp('2016-11-4 00:00:00')
    rqmsg.dt_end = mx.time2stamp('2016-11-10 00:00:00')
    rqmsg.sluitem_id = 51
    rqmsg.data_mark = 1
    rqmsg.tml_id.extend([1500002])
    print user_id
    data = {
        'uuid': user_id,
        'pb2': base64.b64encode(rqmsg.SerializeToString())
    }

    # data = {'uuid': user_id, 'pb2': 'OABKA LGW1AH'}
    r = pm.request('POST', url, fields=data, timeout=300.0, retries=False)
    msg = msgif.SluElecDataGet()
    msg.ParseFromString(base64.b64decode(r.data))
    print(msg)
    print('post finish')
    time.sleep(0)
コード例 #7
0
ファイル: iftest.py プロジェクト: xyzj/lump
def test_errquery():
    global user_id
    print('=== query err data ===')
    url = baseurl + 'querydataerr'
    rqmsg = init_head(msgif.rqQueryDataErr())
    # rqmsg.head.paging_num =100
    rqmsg.head.paging_idx = 1
    # rqmsg.head.paging_num = 100
    # rqmsg.head.paging_buffer_tag = 1500942882771374
    rqmsg.dt_start = mx.time2stamp("2017-05-01 00:00:00")
    rqmsg.dt_end = int(time.time())
    rqmsg.type = 0
    rqmsg.tml_id.extend([])
    rqmsg.err_id.extend([25])
    data = {
        'uuid': user_id,
        'pb2': base64.b64encode(rqmsg.SerializeToString())
    }
    # data = {'uuid': user_id, 'pb2':'OAA='}
    # data = {'uuid': user_id,
    #         'pb2': '''CgsQyOQJoAaz6fHCBTCz6fHCBUqFCMGEPcKEPcOEPcSEPcWEPcaEPceEPciEPcmEPcqEPcuEPcyE
    # Pc2EPc6EPc+EPdCEPdGEPdKEPdOEPdSEPdWEPdaEPdeEPdiEPdmEPdqEPduEPdyEPd2EPd6EPd+E
    # PeCEPeGEPeKEPeOEPeSEPeWEPeaEPeeEPeiEPemEPeqEPeuEPeyEPe2EPe6EPe+EPfCEPfGEPfKE
    # PfOEPfSEPfWEPfaEPfeEPfiEPfmEPfqEPfuEPfyEPf2EPf6EPf+EPYCFPYGFPYKFPYOFPYSFPYWF
    # PYaFPYeFPYiFPYmFPYqFPYuFPYyFPY2FPY6FPY+FPZCFPZGFPZKFPZOFPZSFPZWFPZaFPZeFPZiF
    # PZmFPZqFPZuFPZyFPZ2FPZ6FPZ+FPaCFPaGFPaKFPaOFPaSFPaWFPaaFPaeFPaiFPamFPaqFPauF
    # PayFPa2FPa6FPa+FPbCFPbGFPbKFPbOFPbSFPbWFPbaFPbeFPbiFPbmFPbqFPbuFPbyFPb2FPb6F
    # Pb+FPcCFPcGFPcKFPcOFPcSFPcWFPcaFPceFPciFPcmFPcqFPcuFPcyFPc2FPc6FPc+FPdCFPdGF
    # PdKFPdOFPdSFPdWFPdaFPdeFPdiFPdmFPdqFPduFPdyFPd2FPd6FPd+FPeCFPeGFPeKFPeOFPeSF
    # PeWFPeaFPeeFPeiFPemFPeqFPeuFPeyFPe2FPe6FPe+FPfCFPfGFPfKFPfOFPfSFPfWFPfaFPfeF
    # PfiFPfmFPfqFPfuFPfyFPf2FPf6FPf+FPYCGPYGGPYKGPYOGPYSGPYWGPYaGPYeGPYiGPYmGPYqG
    # PYuGPYyGPY2GPY6GPY+GPZCGPZGGPZKGPZOGPZSGPZWGPZaGPZeGPZiGPZmGPZqGPZuGPZyGPZ2G
    # PaKGPaOGPaSGPaWGPaaGPaeGPaiGPamGPaqGPauGPayGPa2GPeGRQ+KRQ+ORQ+SRQ+WRQ+aRQ+eR
    # Q+iRQ+mRQ+qRQ+uRQ+yRQ+2RQ+6RQ++RQ/CRQ/GRQ/KRQ/ORQ/SRQ/WRQ/aRQ/eRQ/iRQ/mRQ/qR
    # Q/uRQ/yRQ/2RQ/6RQ/+RQ4CSQ4GSQ4KSQ46SQ4+SQ5CSQ5GSQ5KSQ5OSQ5SSQ5WSQ5aSQ5eSQ5iS
    # Q5mSQ5qSQ5uSQ5ySQ52SQ56SQ5+SQ6CSQ6GSQ6KSQ6OSQ6SSQ6WSQ6aSQ6eSQ6iSQ6mSQ6qSQ6uS
    # Q6ySQ62SQ66SQ6+SQ7CSQ7GSQ7KSQ7OSQ7SSQ7WSQ7aSQ7eSQ7iSQ7mSQ7qSQ7uSQ7ySQ72SQ76S
    # Q7+SQ8CSQ8GSQ8KSQ8G5VeLGW+PGW+TGW+XGW+bGW+fGW+jGW+nGW+rGW+vGW+zGW+3GW+7GW+/G
    # W/DGW/HGW/LGW/PGW/TGW/XGW/bGW/fGWw=='''}
    r = pm.request('POST', url, fields=data, timeout=50.0, retries=False)
    msg = msgif.QueryDataErr()
    msg.ParseFromString(base64.b64decode(r.data))
    print(msg)
    print('post finish')
    time.sleep(0)
コード例 #8
0
ファイル: iftest.py プロジェクト: xyzj/lump
def test_querydatamru():
    global user_id
    print('=== query mru data ===')
    url = baseurl + 'querydatamru'
    rqmsg = msgif.rqQueryDataMru()
    rqmsg.head.ver = 160328
    # rqmsg.dt_start = mx.time2stamp('2016-12-10 00:00:00')
    rqmsg.dt_end = mx.time2stamp('2017-09-20 00:00:00')
    rqmsg.tml_id.extend([])
    data = {
        'uuid': user_id,
        'pb2': base64.b64encode(rqmsg.SerializeToString())
    }
    # data = {'uuid': user_id, 'pb2': 'GAAgAA=='}
    r = pm.request('POST', url, fields=data, timeout=300.0, retries=False)
    msg = msgif.QueryDataMru()
    msg.ParseFromString(base64.b64decode(r.data))
    print(msg)
    print('post finish')
    time.sleep(0)
コード例 #9
0
ファイル: ipc.py プロジェクト: xyzj/lump
    def post(self):
        legal, rqmsg, msg = yield self.check_arguments(msgws.rqIpcUplink(),
                                                       msgws.CommAns(),
                                                       use_scode=1)
        if legal:
            devid = rqmsg.dev_id
            raw_string = rqmsg.raw_string.replace('\r\n', '')
            createsql = ''
            insertsql = ''
            db_names = set()
            if devid[:6] == '901001':  # 申欣环保
                if raw_string.startswith('QI:'):
                    data = raw_string.split(':')[1]
                    lstdata = data.split(',')
                    ym = mx.stamp2time(time.time(), format_type='%y%m')
                    for i in libiisi.qudata_sxhb:
                        db_names.add('sens_data_{0:03d}_month_{1}'.format(
                            i, ym))
                    strsql = 'select TABLE_NAME from INFORMATION_SCHEMA.TABLES \
                        where TABLE_SCHEMA="{0}" and TABLE_NAME like "{1}"'.format(
                        libiisi.cfg_dbname_dg, '%sens_data_%_month_%')
                    record_total, buffer_tag, paging_idx, paging_total, cur = yield self.mydata_collector(
                        strsql,
                        need_fetch=1,
                        buffer_tag=msg.head.paging_buffer_tag,
                        paging_idx=msg.head.paging_idx,
                        paging_num=msg.head.paging_num)
                    if record_total is not None:
                        for z in cur:
                            db_names.discard(z[0])
                    del cur
                    for z in db_names:
                        createsql += libiisi.sqlstr_create_emtable.format(z)
                    if len(createsql) > 0:
                        createsql = 'use {0};'.format(
                            libiisi.cfg_dbname_dg) + createsql
                        yield self.mydata_collector(createsql, need_fetch=0)

                    t = int(time.time())
                    for i in range(len(libiisi.qudata_sxhb)):
                        try:
                            insertsql += 'insert into {5}.sens_data_{0:03d}_month_{1} (dev_id,dev_data,date_create) values ({2},{3},{4});'.format(
                                libiisi.qudata_sxhb[i], ym, devid, lstdata[i],
                                t, libiisi.cfg_dbname_dg)
                        except:
                            pass
                    if len(insertsql) > 0:
                        yield self.mydata_collector(insertsql, need_fetch=0)

                elif raw_string.startswith('QH:'):  # 读取支持的指令
                    msgpub = self.init_msgws(msgws.rqIpcCtl(), 'ipc.lscmd.get')
                    msgpub.dev_id.extend([devid])
                    msgpub.dev_cmds = raw_string[3:].replace(' ', '').replace(
                        '|', ',')
                    libiisi.send_to_zmq_pub(
                        'ipc.rep.ipc.lscmd.get.{0}'.format(devid),
                        msgpub.SerializeToString())
                elif raw_string.startswith('QD:'):  # 读取日期
                    msgpub = self.init_msgws(msgws.rqIpcCtl(), 'ipc.date.get')
                    msgpub.dev_id.extend([devid])
                    s = raw_string[3:].split(',')
                    msgpub.dev_datetime = int(
                        mx.time2stamp('{0}-{1}-{2} 00:00:00'.format(
                            s[0], s[1], s[2])))
                    libiisi.send_to_zmq_pub(
                        'ipc.rep.ipc.date.get.{0}'.format(devid),
                        msgpub.SerializeToString())
                elif raw_string.startswith('QT:'):  # 读取时间
                    msgpub = self.init_msgws(msgws.rqIpcCtl(), 'ipc.time.get')
                    msgpub.dev_id.extend([devid])
                    s = raw_string[3:].split(',')
                    msgpub.dev_datetime = int(
                        mx.time2stamp('{0}-{1}-{2} {3}:{4}:{5}'.format(
                            time.localtime()[0],
                            time.localtime()[1],
                            time.localtime()[2], s[0], s[1], s[2])))
                    libiisi.send_to_zmq_pub(
                        'ipc.rep.ipc.time.get.{0}'.format(devid),
                        msgpub.SerializeToString())
                elif raw_string.startswith('QV:') or raw_string.startswith(
                        'Device ID:'):  # 读取版本
                    msgpub = self.init_msgws(msgws.rqIpcCtl(), 'ipc.verf.get')
                    msgpub.dev_id.extend([devid])
                    msgpub.dev_ver = raw_string
                    libiisi.send_to_zmq_pub(
                        'ipc.rep.ipc.verf.get.{0}'.format(devid),
                        msgpub.SerializeToString())
                elif raw_string.startswith('QC:'):  # 设置日期和时间
                    msgpub = self.init_msgws(msgws.rqIpcCtl(),
                                             'ipc.datetime.set')
                    msgpub.dev_id.extend([devid])
                    if 'completed' in raw_string:
                        msgpub.dev_datetime = 1
                    else:
                        msgpub.dev_datetime = 0
                    libiisi.send_to_zmq_pub(
                        'ipc.rep.ipc.datetime.set.{0}'.format(devid),
                        msgpub.SerializeToString())
                else:
                    msg.head.if_st = 46
                    msg.head.if_msg = 'raw data error.'
            elif devid[:6] == "902001":  # 武汉天河机场
                x = "1,2,3,4,5,6,7,8,9,10"
                if os.path.isfile("list.txt"):
                    with open("list.txt", "r") as f:
                        x = f.readline()
                        f.close()
                y = rqmsg.raw_string.split(',')
                tcsdata = dict()
                if y[1] == "1":  # off
                    for i in range(1, 7):
                        tcsdata['k{0}'.format(i)] = 0

                    tcsmsg = libiisi.initRtuJson(2, 7, 1, 1, 1,
                                                 'wlst.rtu.4b00',
                                                 self.request.remote_ip, 0, x,
                                                 tcsdata)
                    # libiisi.set_to_send(tcsmsg, 0, False)
                    libiisi.send_to_zmq_pub(
                        'tcs.req.{0}.wlst.rtu.2210'.format(
                            libiisi.cfg_tcs_port),
                        json.dumps(tcsmsg, separators=(',', ':')).lower())
                else:
                    for i in range(1, 7):
                        tcsdata['k{0}'.format(i)] = 1
                    tcsmsg = libiisi.initRtuJson(2, 7, 1, 1, 1,
                                                 'wlst.rtu.4b00',
                                                 self.request.remote_ip, 0, x,
                                                 tcsdata)
                    # libiisi.set_to_send(tcsmsg, 0, False)
                    libiisi.send_to_zmq_pub(
                        'tcs.req.{0}.wlst.rtu.2210'.format(
                            libiisi.cfg_tcs_port),
                        json.dumps(tcsmsg, separators=(',', ':')).lower())
            del devid, raw_string, createsql, insertsql, db_names
        else:
            msg.head.if_st = 0
            msg.head.if_msg = 'Security code error'

        self.write(mx.convertProtobuf(msg))
        self.finish()
        del msg, rqmsg, legal