Best Python code snippet using fMBT_python
device.py
Source:device.py
1import threading2import time3class Device(threading.Thread):4 def __init__(self, app, deviceData):5 self.__app=app6 threading.Thread.__init__(self)7 self.name=deviceData["name"]8 self.type=deviceData["class"]9 self.isNear=False10 self.stream = False11 self.streamingUser = ""12 self.sendType=''13 self.arguments=[]14 self.data={}15 self.adcvalue=016 self.i2cvalue=None17 self.nfc=''18 self.customParams = {}19 self.text = ''20 def run(self):21 self.__app.getPinConfig("src/iot/"+self.name+"/pinout.json")22 self.__app.getConfig("src/iot/"+self.name+"/config.json")23 self.customParams = self.__app.config["custom"]24 #datap_old=025 disc=False26 self.newImg()27 while(self.__app.isAlive()):28 if (self.stream and self.isNear):29 if(self.sendType=="image"):30 self.data=self.__app.sendImg_and_recvData()31 self.sendType=""32 disc=True33 elif(self.sendType=="neopixel"):34 self.__app.setNeopixel(self.arguments[0],self.arguments[1])35 self.arguments=[]36 self.sendType=""37 elif(self.sendType=="outpin"):38 #self.data=self.__app.recvData()39 self.__app.setOutPin(self.arguments[0],self.arguments[1])40 self.arguments=[]41 self.sendType=""42 #self.data = self.__app.recvData()43 elif(self.sendType=="inpin"):44 self.__app.setInPin(self.arguments[0])45 self.arguments=[]46 self.sendType=""47 elif(self.sendType=="pwm"):48 self.__app.setPwm(self.arguments[0],self.arguments[1], self.arguments[2])49 self.arguments=[]50 self.sendType=""51 elif(self.sendType=="adc"):52 self.adcvalue=self.__app.readAdc(self.arguments[0],self.arguments[1])53 self.sendType=""54 elif(self.sendType=="i2c"):55 self.i2cvalue = self.__app.readI2C(self.arguments[0],self.arguments[1])56 self.sendType=""57 elif(self.sendType=="setdisplay"):58 self.__app.setDisplay(self.arguments[0],self.arguments[1], self.arguments[2], self.arguments[3], self.arguments[4])59 self.arguments=[]60 self.sendType=""61 else:62 self.data=self.__app.recvData()63 64 #self.nfc=self.__app.readNFC()65 66 else:67 if(disc):68 disc=False69 self.sendType=""70 self.__app.newImg()71 self.__app.sendImg()72 self.nfc=self.__app.readNFC()73 #TODO: check nfc tag 74 if self.nfc != '0':75 self.isNear = True76 #print(self.data) 77 """if (self.data['PROXIMITY']!=datap_old):78 datap_old=self.data['PROXIMITY']79 if(datap_old):80 self.isNear=not self.isNear"""81 self.stream=False82 83 def resumeConnection(self, so):84 self.__app.changeSocket(so)85 self.__app.getPinConfig("src/iot/"+self.name+"/pinout.json")86 print("resumed")87 def sendImg(self):88 self.sendType="image"89 while( self.sendType=="image" and (self.stream and self.isNear) ):90 pass91 def recvData(self):92 return self.data93 94 def sendImg_and_recvData(self):95 self.sendType="image"96 while( self.sendType=="image" and (self.stream and self.isNear) ):97 pass98 return self.data99 def setNeopixel(self, status, pin=-1):100 self.sendType="neopixel"101 self.arguments.append(status)102 self.arguments.append(pin)103 while( self.sendType=="neopixel" and (self.stream and self.isNear)):104 pass105 def setOutPin(self, pin, value):106 self.sendType="outpin"107 self.arguments.append(pin)108 self.arguments.append(value)109 while( self.sendType=="outpin" and (self.stream and self.isNear)):110 pass111 112 def getOutPins(self):113 return self.__app.outPins114 def getInPins(self):115 return self.__app.inPins116 117 def setInPin(self, pin):118 self.sendType="inpin"119 self.arguments.append(pin)120 while( self.sendType=="inpin" and (self.stream and self.isNear)):121 pass122 def setPwm(self, pin, freq, duty):123 self.sendType="pwm"124 self.arguments.append(pin)125 self.arguments.append(freq)126 self.arguments.append(duty)127 while( self.sendType=="pwm" and (self.stream and self.isNear)):128 pass129 def readAdc(self, pin, resolution=1024):130 self.sendType="adc"131 self.arguments.append(pin)132 self.arguments.append(resolution)133 while( self.sendType=="adc" and (self.stream and self.isNear)):134 pass135 return self.adcvalue136 def readI2C(self, addr, nbytes):137 self.sendType="i2c"138 self.arguments.append(addr)139 self.arguments.append(nbytes)140 while( self.sendType=="i2c" and (self.stream and self.isNear)):141 pass142 return self.i2cvalue143 def setDisplay(self, sda, scl, heigth, width, dispType):144 self.sendType="setdisplay"145 self.arguments.append(sda)146 self.arguments.append(scl)147 self.arguments.append(heigth)148 self.arguments.append(width)149 self.arguments.append(dispType)150 while( self.sendType=="setdisplay" and (self.stream and self.isNear)):151 pass152 def newImg(self):153 self.__app.newImg()154 155 def setImg(self, img):156 self.__app.setImg(img)157 def fillImg(self, img_color):158 self.__app.fillImg(img_color)159 def addFont(self, font, font_size):160 self.__app.addFont(font, font_size)161 def getFonts(self):162 return self.__app.getFonts()163 def setRotation(self, rotation):164 self.__app.setRotation(rotation)165 def setContrast(self, contrast):166 self.__app.setContrast(contrast)167 def setCustomParams(self, customParams):168 self.__app.setCustomParams(customParams)169 170 def getCustomParams(self):171 return self.__app.getCustomParams()172 def setText(self,pos,txt, txt_color, txt_font):173 self.__app.setText(pos, txt, txt_color, txt_font)174 def setNeoPin(self, pin):175 self.__app.setNeoPin(pin)176 177 def resetStreamingUser(self):178 self.streamingUser=""179 self.stream = False180 self.isNear=False181 182 def setStreamingUser(self, user):183 self.streamingUser=user184 self.stream = True185 def getStreamingUser(self):186 return self.streamingUser187 def getDeviceName(self):188 return self.name189 def getDeviceType(self):190 return self.type191 192 def getNFC(self):...
rlMessage.py
Source:rlMessage.py
1import requests2import time3from login.Utils import Utils4# è·åå½åæ¥æï¼æ ¼å¼ä¸º 2021-8-225def getNowDate():6 return time.strftime("%Y-%m-%d", time.localtime(time.time()))7# è·åå½åæ¶é´ï¼æ ¼å¼ä¸º 12:00:008def getNowTime():9 return time.strftime("%H:%M:%S", time.localtime(time.time()))10# è¥ç¦»æ¶æ¯éç¥ç±»11class RlMessage:12 # åå§åç±»13 def __init__(self, sendKey, apiUrl, msgKey, sendType):14 self.sendKey = sendKey15 self.apiUrl = apiUrl16 self.msgKey = msgKey17 self.sendType = sendType18 # åéé®ä»¶æ¶æ¯19 def sendMail(self, status, msg):20 # è¥ç¦»é®ä»¶apiï¼ å°ä¼åå¨æ¶æ¯å°æ°æ®åºï¼å¹¶ä¿å1å¨ä»¥ä¾æ¥çï¼è¯·å¿ä¹±ç¨ï¼è°¢è°¢åä½21 if self.sendKey == '':22 return 'é®ç®±ä¸ºç©ºï¼å·²åæ¶åéé®ä»¶ï¼'23 if self.apiUrl == '':24 return 'é®ä»¶API为空ï¼è®¾ç½®é®ä»¶APIåæè½åéé®ä»¶'25 params = {26 'reciever': self.sendKey,27 'title': f'[{status}]ä»æ¥æ ¡åéç¥',28 'content': f'[{Utils.getAsiaDate()} {Utils.getAsiaTime()}]{msg}'29 }30 res = requests.post(url=self.apiUrl, params=params).json()31 return res['message']32 # qmsgæ¨é33 def sendQmsg(self, status, msg):34 if self.sendKey == '':35 return 'QQ为空ï¼å·²åæ¶åéé®ä»¶ï¼'36 if self.msgKey == '':37 return 'QmsgKey为空ï¼è®¾ç½®QmsgKeyåæè½åéQQæ¨é'38 params = {39 'msg': f'[{Utils.getAsiaDate()} {Utils.getAsiaTime()}]{msg}',40 'qq': self.sendKey41 }42 res = requests.post(f'https://qmsg.zendee.cn/send/{self.msgKey}', params).json()43 return res['reason']44 # pushplusæ¨é45 def sendPushplus(self, status, msg):46 if self.sendKey == '':47 return 'sendKey为空ï¼å·²åæ¶åéé®ä»¶ï¼'48 params = {49 'token': self.sendKey,50 'title': f'[{status}]ä»æ¥æ ¡åéç¥',51 'content': f'[{Utils.getAsiaDate()} {Utils.getAsiaTime()}]{msg}',52 }53 headers = {54 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0'55 }56 res = requests.post("https://pushplus.hxtrip.com/send", headers=headers, params=params)57 if res.status_code == 200:58 return "åéæå"59 else:60 return "åé失败"61 # ç»ä¸åéæ¥å£å62 def send(self, status, msg):63 print(Utils.getAsiaTime() + ' æ£å¨åéé®ä»¶éç¥')64 if self.sendType == 0:65 return self.sendMail(status, msg)66 elif self.sendType == 1:67 time.sleep(2)68 return self.sendQmsg(status, msg)69 elif self.sendType == 2:...
ImgDecode.py
Source:ImgDecode.py
1# -*- coding: utf-8 -*-2"""3Tencent is pleased to support the open source community by making GameAISDK available.4This source code file is licensed under the GNU General Public License Version 3.5For full details, please refer to the file "LICENSE.txt" which is provided as part of this source code package.6Copyright (C) 2020 THL A29 Limited, a Tencent company. All rights reserved.7"""8import logging9import base6410import cv211import numpy as np12from common.Define import RAW_IMG_SEND_TYPE, BINARY_IMG_SEND_TYPE, CV2_EN_DECODE_IMG_SEND_TYPE, \13 BASE_64_DECODE_IMG_SEND_TYPE14LOG = logging.getLogger('IOService')15def ImgDecode(imgData, sendType):16 """17 decode img data based on sendType18 :param imgData: img data(bytes)19 :param sendType: send type enum:20 RAW_IMG_SEND_TYPE21 BINARY_IMG_SEND_TYPE22 CV2_EN_DECODE_IMG_SEND_TYPE23 BASE_64_DECODE_IMG_SEND_TYPE24 :return:25 """26 img = imgData27 if sendType == RAW_IMG_SEND_TYPE:28 pass29 elif sendType == BINARY_IMG_SEND_TYPE:30 try:31 nparr = np.asarray(bytearray(imgData), dtype=np.uint8)32 img = cv2.imdecode(nparr, cv2.IMREAD_COLOR)33 except RuntimeError as err:34 LOG.error('img decode err:%s', err)35 LOG.error('sendType:%s', sendType)36 img = None37 elif sendType == CV2_EN_DECODE_IMG_SEND_TYPE:38 try:39 nparr = np.fromstring(imgData, np.uint8)40 img = cv2.imdecode(nparr, cv2.IMREAD_COLOR)41 except RuntimeError as err:42 LOG.error('img decode err:%s', err)43 LOG.error('sendType:%s', sendType)44 img = None45 elif sendType == BASE_64_DECODE_IMG_SEND_TYPE:46 try:47 imgByte = base64.b64decode(imgData)48 nparr = np.fromstring(imgByte, np.uint8)49 img = cv2.imdecode(nparr, cv2.IMREAD_COLOR)50 except RuntimeError as err:51 LOG.error('img decode err:%s', err)52 LOG.error('sendType:%s', sendType)53 img = None...
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!