def onclick(self, event): if event.button is not self.mousebutton: return if event.xdata == None: event.xdata = 0 event.ydata = 0 self.pts.append((event.xdata, event.ydata)) try: color = self.kwargs['color'] except KeyError: color=self.colors[(len(self.pts)-1)\ %len(self.colors)] #Colors will cycle try: fontsize = self.kwargs['fontsize'] except KeyError: fontsize = 14 l = self.ax.plot([event.xdata], [event.ydata], 'o', color=color)[0] self.ax.text(event.xdata,event.ydata,len(self.pts),fontsize=fontsize,\ bbox=dict(facecolor='white', alpha=0.25),\ horizontalalignment='center',\ verticalalignment='bottom') plt.draw() # Quit the loop if we achieve the desired number of points # if self.max_pts and len(self.pts) == self.max_pts: event.key = 'quit_for_sure' self.onquit(event) if self.verbose: Logger.write('You are now on point #%i' % (len(self.pts) + 1))
def _result_insert(fee_resp, renewal_data_dt): log = Logger() insureCarId = renewal_data_dt.get('insureCarId', '') CPlateNo = renewal_data_dt.get('plateNumber', '') searchVin = renewal_data_dt.get('vinNo', '') client = renewal_data_dt.get('client', '') isPhone = renewal_data_dt['isPhone'] sessionId = renewal_data_dt.get('sessionId', '') insuranceType = renewal_data_dt.get("insuranceType", {}) if isinstance(insuranceType, list): insureTypeGroupId = insuranceType[0].get("insuranceTypeGroupId", "") insuranceTypeGroup = insuranceType[0].get("insuranceTypeGroup", "") else: insureTypeGroupId = insuranceType.get("insuranceTypeGroupId", "") insuranceTypeGroup = insuranceType.get("insuranceTypeGroup", "") if isinstance(fee_resp, dict): data = [] data.append(fee_resp['c01beginTime']) data.append(fee_resp['c01endTime']) data.append(fee_resp['vehicleSeats']) data.append(insureTypeGroupId) data.append(insureCarId) data.append("13") log.info(fee_resp['fee']) log.info(data) soupDb(fee_resp['fee'], data) log.info("华农入库成功 %s " % CPlateNo) send_mq(client, CPlateNo, "", "1", "13", sessionId, isPhone, insureTypeGroupId, insuranceTypeGroup) else: log.error(fee_resp) send_mq(client, CPlateNo, fee_resp, "2", "13", sessionId, isPhone, insureTypeGroupId, insuranceTypeGroup) return
def test_FC_F6030(self, tdata): deviceModel = product_model[0] Logger().debug("testdata:---" + str(tdata)) rd = myRedis(redis_db=device_list[deviceModel]) data = Default_data(deviceModel) test_id = tdata[0] test_content = tdata[2] data['text'] = tdata[4] pre_data = tdata[3] try: pre_data = json.loads(pre_data) except: pre_data = '{' + pre_data.replace('&', ',') + '}' try: pre_data = json.loads(pre_data) except Exception as e: Logger().error(e) raise e finally: pre_data = dict(data['query_reply'], **pre_data) data["query_reply"] = pre_data Response = Request().requests(url, data, "POST").json() # 校验接口是的请求成功 try: jsonpath.jsonpath(Response, "$..code")[0] == '200' except Exception as e: Logger().error(e) raise e nlu = jsonpath.jsonpath(Response, "$..nlu")[0] tts = jsonpath.jsonpath(Response, "$..text")[0].replace(",", ",") mid = jsonpath.jsonpath(Response, "$..mid")[0] try: lua = jsonpath.jsonpath(Response, "$..luaData")[0] except: lua = '' finally: rd.delete(test_id) # 清除旧缓存 rd.push_list(tdata) rd.push_onlydata(test_id, str(nlu)) rd.push_onlydata(test_id, str(lua)) rd.push_onlydata(test_id, str(tts)) try: if not str(nlu) == str(tdata[5]): raise Exception("NLU异常:%s!=%s" % (str(nlu), str(tdata[5]))) if not str(lua) == str(tdata[6]): raise Exception("lua命令转换异常:%s!=%s" % (str(lua), str(tdata[6]))) if not tts in eval(tdata[7]): raise Exception("TTS返回异常:%s not in %s" % (tts, eval(tdata[7]))) except Exception as e: result = e Logger().error(e) raise e else: result = "P" Logger().info(u"【%s--用例%s:%s】测试通过!" % (deviceModel + product, test_id, test_content)) finally: rd.push_onlydata(test_id, str(result)) rd.push_onlydata(test_id, str(mid))
def __init__(self, username=None, password=None): self.log = Logger() self.session_req = requests.session() self.session_req.headers.update(se.headers) if username is None or password is None: self.username = se.login_username self.password = se.login_password
def __init__(self, conrd): self.conrd = conrd self.log = Logger(logpath) self.havemids = [] # 存储已经核对的messageid #标准数据库实例化 self.conn_standard = connDB( self.conrd.get('sMySQL', 'host'), self.conrd.getint('sMySQL', 'port'), self.conrd.get('sMySQL', 'user'), self.conrd.get('sMySQL', 'passwd'), self.conrd.get('sMySQL', 'dbname'), self.conrd.get('sMySQL', 'charset'), self.conrd.getint('sMySQL', 'read_timeout')) self.conns = self.conn_standard.connect() self.curs = self.conn_standard.getcursor(self.conns) #实际结果数据库实例化 self.conn_reality = connDB(self.conrd.get('rMySQL', 'host'), self.conrd.getint('rMySQL', 'port'), self.conrd.get('rMySQL', 'user'), self.conrd.get('rMySQL', 'passwd'), self.conrd.get('rMySQL', 'dbname'), self.conrd.get('rMySQL', 'charset'), self.conrd.getint('rMySQL', 'read_timeout')) self.connr = self.conn_reality.connect() self.curr = self.conn_reality.getcursor(self.connr)
class connDB(): def __init__(self, host, port, username, passwd, dbname, charset, timeout): self.host = host self.port = port self.username = username self.passwd = passwd self.dbname = dbname self.charset = charset self.timeout = timeout self.log = Logger(common.logpath) def connect(self): try: cdb = pymysql.connect(host=self.host, user=self.username, passwd=self.passwd, db=self.dbname, charset=self.charset, read_timeout=self.timeout) return cdb except Exception as error: self.log.error(error) def getcursor(self, cdb): if cdb is not None: return cdb.cursor() def closecursor(self, cur): if cur is not None: return cur.close() def closeconn(self, cdb): if cdb is not None: return cdb.close()
def __init__(self, path): self.path = path self.log = Logger(common.logpath) try: self.cRD = SafeConfigParser() self.cRD.read(self.path) except Exception as error: self.log.error(error)
def __init__(self, bookname): try: self.log = Logger(common.logpath) self.bookname = bookname self.creatXlsx() self.createColname() except Exception as error: self.log.error(error)
def get_hn_userinfo(session, licenseNo="", vinNo=""): log = Logger() try: rsp1 = is_hn_renewal(session, licenseNo, vinNo) policyNo = "" rsp2 = "" syStart = syEnd = jqStart = jqEnd = "" if rsp1 != 0: JQ = jsonpath.jsonpath(rsp1, "$.[?(@.riskCode=='0507')]") SY = jsonpath.jsonpath(rsp1, "$.[?(@.riskCode=='0506')]") if JQ != False: jq_policyNo = JQ[0]['policyNo'] jqStart = JQ[0]['startDate'] jqEnd = JQ[0]['endDate'] JQ_RSP = hn_renewal_userinfo(session, jq_policyNo) if SY != False: sy_policyNo = SY[0]['policyNo'] syStart = JQ[0]['startDate'] syEnd = JQ[0]['endDate'] SY_RSP = hn_renewal_userinfo(session, sy_policyNo) if JQ_RSP != False: rsp2 = JQ_RSP else: rsp2 = SY_RSP insuranceType = hn_parse_renrwal(JQ_RSP, SY_RSP) out = { "licenseNo": licenseNo, "vinNo": rsp2['car']['vinNo'], "endDate": rsp2['base']['endDate'], "CCardDetail": rsp2['car']['vehicleStyle'], "brandName": rsp2['car']['modelName'], "insuredName": rsp2['persons'][0]['insuredName'], "identifyNumber": rsp2['persons'][0]['identifyNumber'], "CUsageCde": "", "NNewPurchaseValue": rsp2['car']['purchasePrice'], "insuredAddress": rsp2['persons'][0]['insuredAddress'], "mobile": rsp2['persons'][0]['mobile'], "enrollDate": rsp2['car']['enrollDate'], "engineNo": rsp2['car']['engineNo'], "CModelCde": rsp2['car']['modelCode'], "NSeatNum": "", "COMPANY_ID": "13", "insuranceType": insuranceType, "insuranceTime": { 'syEnd': syEnd, 'syStart': syStart, 'jqStart': jqStart, 'jqEnd': jqEnd } } return out except Exception as e: log.error(e) return 0
def __init__(self, host, port, username, passwd, dbname, charset, timeout): self.host = host self.port = port self.username = username self.passwd = passwd self.dbname = dbname self.charset = charset self.timeout = timeout self.log = Logger(common.logpath)
def test_FC_KJ400G(self, tdata): deviceModel = "KJ400G" Logger().debug("testdata:---" + str(tdata)) data = Default_data(deviceModel) test_id = tdata[0] test_content = tdata[2] data['text'] = tdata[4] pre_data = tdata[3] test_row = int(re.split('_', test_id)[-1]) try: pre_data = json.loads(pre_data) except: pre_data = '{' + pre_data.replace('&', ',') + '}' try: pre_data = json.loads(pre_data) except Exception as e: Logger().error(e) raise e finally: pre_data = dict(data['query_reply'], **pre_data) data["query_reply"] = pre_data Response = Request().requests(url, data, "POST").json() # 校验接口是的请求成功 try: jsonpath.jsonpath(Response, "$..code")[0] == '200' except Exception as e: Logger().error(e) raise e nlu = jsonpath.jsonpath(Response, "$..nlu")[0] tts = jsonpath.jsonpath(Response, "$..text")[0].replace(",", ",") mid = jsonpath.jsonpath(Response, "$..mid")[0] try: lua = jsonpath.jsonpath(Response, "$..luaData")[0] except: lua = '' finally: # file_lock.acquire() r.write_onlydata(w, test_row, 8, str(nlu), sheetname=deviceModel) r.write_onlydata(w, test_row, 9, str(lua), sheetname=deviceModel) r.write_onlydata(w, test_row, 10, str(tts), sheetname=deviceModel) try: if not str(nlu) == str(tdata[5]): raise Exception("NLU异常:%s!=%s" % (str(nlu), str(tdata[5]))) if not str(lua) == str(tdata[6]): raise Exception("lua命令转换异常:%s!=%s" % (str(lua), str(tdata[6]))) if not tts in eval(tdata[7]): raise Exception("TTS返回异常:%s not in %s" % (tts, eval(tdata[7]))) except Exception as e: result = e Logger().error(e) raise e else: result = "P" Logger().info(u"【%s用例%s--%s】:测试通过!" % ("净化器-%s" % deviceModel, test_id, test_content)) finally: r.write_onlydata(w, test_row, 11, result, sheetname=deviceModel) r.write_onlydata(w, test_row, 12, mid, sheetname=deviceModel)
def hn_renewal_userinfo(session, policyNo): # 0507 JQ # 0506 SY log = Logger() try: url = "http://qcar.chinahuanong.com.cn/quotepriceasync/getPolicyInfo.do?policyNo=" + policyNo rsp = session.get(url=url) if 'licenseNo' in rsp.text: return rsp.json() else: return False except Exception as e: log.error(e) return False
class configRD(): def __init__(self, path): self.path = path self.log = Logger(common.logpath) try: self.cRD = SafeConfigParser() self.cRD.read(self.path) except Exception as error: self.log.error(error) def get(self, section, key): try: return self.cRD.get(section, key) except Exception as error: self.log.error(error) def getint(self, section, key): try: return self.cRD.getint(section, key) except Exception as error: self.log.error(error) def getitems(self, field): try: self.items = self.cRD.items(field) values = [] keys = [] for key, value in self.items: values.append(value) keys.append(key) return values, keys except Exception as error: self.log.error(error)
class MyDB: global host, username, password, port, database, config host = localReadConfig.get_db("host") username = localReadConfig.get_db("username") password = localReadConfig.get_db("password") port = localReadConfig.get_db("port") database = localReadConfig.get_db("database") config = { 'host': str(host), 'user': username, 'passwd': password, 'port': int(port), 'db': database } def __init__(self): self.logger = Logger('dbUtil.py') self.db = None self.cursor = None def connectDB(self): try: # connect to DB self.db = pymysql.connect(**config) # create cursor self.cursor = self.db.cursor() print("Connect DB successfully!") except ConnectionError as ex: self.logger.error(str(ex)) def executeSQL(self, sql): self.connectDB() # executing sql self.cursor.execute(sql) # executing by committing to DB self.db.commit() return self.cursor def get_all(self, cursor): value = cursor.fetchall() return value def get_one(self, cursor): value = cursor.fetchone() return value def closeDB(self): self.db.close() print("Database closed!")
def _login_html(session_req): log = Logger() url = "http://32.0.192.232:88/sinoiais/login.html" headers['Content-Type'] = "application/x-www-form-urlencoded" data_2 = { "sysUser.userCode": "CJCXwm01", } login_2_resp = session_req.post(url=url, data=data_2, headers=headers) return login_2_resp
def __init__(self, mousebutton=1, max_pts=1, ax=None, cbar=None, message=None, verbose=False, **kwargs): import time self.pts = [] self.verbose = verbose self.kwargs = kwargs self.mousebutton = mousebutton self.max_pts = max_pts self.colors = ['b', 'r', 'g', 'c', 'm', 'y'] self.cid1 = plt.gcf().canvas.mpl_connect('button_press_event', self.onclick) self.cid2 = plt.gcf().canvas.mpl_connect('key_press_event', self.ondelete) self.cid3 = plt.gcf().canvas.mpl_connect('key_press_event', self.onquit) self.cid4 = plt.gcf().canvas.mpl_connect('key_press_event', self.colorlimits) if not ax: ax = plt.gca() self.ax = ax self.cbar = cbar if verbose: if not message: message = 'Please click %s points on the current figure using \ mouse button %i. You may at any time strike the "c" \ key to change color limits on an image, or the "delete" \ key to remove the last selected point.' % ( max_pts, mousebutton) Logger.write(message) Logger.write('\tYou are now on point #1.') plt.gcf().canvas.start_event_loop(timeout=0)
def row_of_axes(nplots_row,\ xstart,xstop,spacing,\ bottom,top,widths,kwargs,index): ##Check that we haven't iterated too deep## Logger.raiseException('Provide input values for rows and columns only (e.g. lists of depth 2).',\ unless=(len(index)<2),\ exception=IndexError) ##Check format of widths## if widths == None: widths = [1] * nplots_row elif hasattr(widths, '__len__'): #expect a tuple print(len(widths), nplots_row) Logger.raiseException('When providing *widths* keyword, provide a plot width for each intended sub-plot in each row.',\ unless=(len(widths)==nplots_row),\ exception=IndexError) else: widths = tuple(widths) * nplots_row ###Axes values### avg_width = (xstop - xstart - spacing * (nplots_row - 1)) / float(nplots_row) height = top - bottom xpos = xstart ###Weighted widths### weighted_widths = [] for j in range(nplots_row): weighted_width = avg_width * widths[j] weighted_widths.append(weighted_width) true_widths=[width/float(sum(weighted_widths))*(nplots_row*avg_width) \ for width in weighted_widths] ###Make new axes in row### row_axes = [] for j in range(nplots_row): width = true_widths[j] rect = [xpos, bottom, width, height] new_axis = fig.add_axes(rect, **kwargs) xpos += width + spacing row_axes.append(new_axis) return row_axes
def __init__(self): global host, user, password, port, sender, title, content host = localReadConfig.get_email("mail_host") user = localReadConfig.get_email("mail_user") password = localReadConfig.get_email("mail_pass") port = localReadConfig.get_email("mail_port") sender = localReadConfig.get_email("sender") title = localReadConfig.get_email("subject") content = localReadConfig.get_email("content") self.value = localReadConfig.get_email("receiver") self.receiver = [] # get receiver list for n in str(self.value).split("/"): self.receiver.append(n) # defined email subject date = datetime.now().strftime("%Y-%m-%d %H:%M:%S") self.subject = title + " " + date self.logger = Logger("emaliUtil.py").logger self.msg = MIMEMultipart('mixed')
def set_properties(obj, prop_dict, verbose='yes'): """ This function takes an object and and sets its properties according to the property dictionary input. If, for any entry in the dictionary, the property or method to set it does not exist, it will be skipped over. *obj: artist object *prop_dict: a property dictionary of the sort returned by get_properties() *verbose: set to 'yes' to spout error messages for properties which could not be set DEFAULT: 'no' """ misc.check_vars(prop_dict, dict) for key in list(prop_dict.keys()): try: pyplot.setp(obj, key, prop_dict[key]) except AttributeError: if 'y' in verbose: Logger.warning('Property "%s" could not be set.' % key) return obj
def test_run(self, tdata): Logger().info("tdata:%s" % tdata) id = tdata.pop('id') case_describe = tdata.pop('场景描述') qiwang = eval(tdata.pop('期望值')) Logger().info("1") result = InterfaceProcess(**tdata) Logger().info("2") s = result[0] for each in qiwang.keys(): qiwang_value = each.split("=>") for i in range(0, len(qiwang_value)): s = s[qiwang_value[i]] i += 1 try: assert s == qiwang[each], "与期望值不符" except Exception as e: raise e else: Logger().info(u"【用例%s--%s】:测试通过!" % (id, case_describe))
def _Get_RandomNum(session_req): log = Logger() try: millis = int(round(time.time() * 1000)) url = "http://32.0.192.232:88/sinoiais/pages/login/RandomNumUtil.jsp?d={0}".format( str(millis)) code_resp = session_req.get(url=url, headers=headers) # 验证码 codestr = None if code_resp: code_base64 = base64.b64encode(code_resp.content) codestr = pic2Str(base64.b64decode(code_base64)) if not codestr: log.info("获取验证码异常") log.info("codestr=%s" % codestr) return codestr except Exception as e: log.error(e) log.error(traceback.format_exc()) return None
def GenerateCarbonylTips(Ls=numpy.linspace(30,20e3,100),a=30,\ wavelength=6e3,taper_angles=[10,20],\ geometries=['cone','hyperboloid']): skin_depth = .05 if wavelength is None: freq = 0 else: freq = a / numpy.float(wavelength) Ls = Ls / numpy.float(a) for i, geometry in enumerate(geometries): for k, taper_angle in enumerate(taper_angles): for j, L in enumerate(Ls): Logger.write('Currently working on geometry "%s", L/a=%s...' % (geometry, L)) tip.build_charge_distributions(Nqs=144,Nzs=144,L=L,taper_angle=taper_angle,quadrature='TS',\ geometry=geometry,freq=freq,skin_depth=skin_depth) progress = ( (i * len(taper_angles) + k) * len(Ls) + j + 1) / numpy.float( len(Ls) * len(geometries) * len(taper_angles)) * 100 Logger.write('\tProgress: %1.1f%%' % progress) Logger.write('Done!')
def InterfaceProcess(**data2): global up_data d_list = [] for each in data2.values(): d_list.append(each) for i in range(0, len(d_list)): # print("======%s"%i) if i == 0: result = OnlyInterface(**d_list[i]) up_data = result[1] else: url = d_list[i]['url'] if url != "": try: parameter = eval(d_list[i]['调用参数']) except Exception as e: Logger().error(e) parameter = {} # data=eval(d_list[i]['参数']) up_data1 = d_list[i]['继承参数'] if up_data1 == '': up_data1 = up_data else: try: up_data1 = eval(up_data1) except Exception as e: Logger().error(e) up_data1 = {} finally: up_data1.update(up_data) # for each in parameter: # data[each]=up_data1[each] # d_list[i]['参数']=str(data) d_list[i]['继承参数'] = str(up_data1) up_data = str(up_data1) result = OnlyInterface(**d_list[i]) # else i += 1 return result
def polyfit_poles_residues(self,deg=6,zmax=10): Nterms=self.Ps.shape[1] Rs=self.Rs.cslice[:zmax] Ps=self.Ps.cslice[:zmax] zs=Rs.axes[0] if self.verbose: Logger.write('Finding complex polynomial approximations of degree %i '%deg+\ 'to the first %i poles and residues, up to a value z/a=%s...'%(Nterms,zmax)) self.Ppolys=[] for i in range(Nterms): Ppoly=numpy.polyfit(zs,Ps[:,i],deg=deg) self.Ppolys.append(Ppoly) self.Rpolys=[] for i in range(Nterms): Rpoly=numpy.polyfit(zs,Rs[:,i],deg=deg) self.Rpolys.append(Rpoly)
def __init__(self): """ 初始化 """ self.config = ConfigParser() self.log = Logger().get_logger() self.conf_path = os.path.join( os.path.dirname(os.path.abspath(__file__)), 'config.ini') self.xml_report_path = Config.path_dir + '/Report/xml' self.html_report_path = Config.path_dir + '/Report/html' if not os.path.exists(self.conf_path): raise FileNotFoundError("请确保配置文件存在!") self.config.read(self.conf_path, encoding='utf-8') self.tester_debug = self.get_conf(Config.TITLE_DEBUG, Config.VALUE_TESTER) self.environment_debug = self.get_conf(Config.TITLE_DEBUG, Config.VALUE_ENVIRONMENT) self.versionCode_debug = self.get_conf(Config.TITLE_DEBUG, Config.VALUE_VERSION_CODE) self.host_debug = self.get_conf(Config.TITLE_DEBUG, Config.VALUE_HOST) self.loginHost_debug = self.get_conf(Config.TITLE_DEBUG, Config.VALUE_LOGIN_HOST) self.loginInfo_debug = self.get_conf(Config.TITLE_DEBUG, Config.VALUE_LOGIN_INFO) self.tester_release = self.get_conf(Config.TITLE_RELEASE, Config.VALUE_TESTER) self.environment_release = self.get_conf(Config.TITLE_RELEASE, Config.VALUE_ENVIRONMENT) self.versionCode_release = self.get_conf(Config.TITLE_RELEASE, Config.VALUE_VERSION_CODE) self.host_release = self.get_conf(Config.TITLE_RELEASE, Config.VALUE_HOST) self.loginHost_release = self.get_conf(Config.TITLE_RELEASE, Config.VALUE_LOGIN_HOST) self.loginInfo_release = self.get_conf(Config.TITLE_RELEASE, Config.VALUE_LOGIN_INFO) self.smtpserver = self.get_conf(Config.TITLE_EMAIL, Config.VALUE_SMTP_SERVER) self.sender = self.get_conf(Config.TITLE_EMAIL, Config.VALUE_SENDER) self.receiver = self.get_conf(Config.TITLE_EMAIL, Config.VALUE_RECEIVER) self.username = self.get_conf(Config.TITLE_EMAIL, Config.VALUE_USERNAME) self.password = self.get_conf(Config.TITLE_EMAIL, Config.VALUE_PASSWORD)
def email_init(report, report_name): with open(report, 'rb')as f: mail_body = f.read() my_log = Logger("error_log.log", logging.WARNING, logging.DEBUG) # 创建一个带附件的邮件实例 msg = MIMEMultipart('mixed') # 以测试报告作为邮件正文 msg.attach(MIMEText(mail_body, 'html', 'utf-8')) report_file = MIMEText(mail_body, 'html', 'utf-8') # 定义附件名称(附件的名称可以随便定义,你写的是什么邮件里面显示的就是什么) report_file["Content-Disposition"] = 'attachment; filename=' + report_name msg.attach(report_file) # 添加附件 msg['Subject'] = '版权存证网站自动化测试报告:' + report_name # 邮件标题 msg['From'] = gl.email_name # 发件人 msg['To'] = ";".join(gl.email_To) # 收件人列表 try: server = smtplib.SMTP() server.connect(gl.smtp_sever, 25) server.login(gl.email_name, gl.email_password) server.sendmail(gl.email_name, gl.email_To, msg.as_string()) server.quit() except smtplib.SMTPException: my_log.error(u'邮件发送测试报告失败 at ' + __file__)
def _checkLoginInfo(session_req, codestr): log = Logger() try: url = "http://32.0.192.232:88/sinoiais/checklogin/checkLoginInfo.do" headers['Content-Type'] = "application/x-www-form-urlencoded" data_1 = { "sysUserCode": "CJCXwm01", "sysPassWord": "******", "random": codestr } login_1_resp = session_req.post(url=url, data=data_1, headers=headers) if "success" in login_1_resp.text: log.info(u"登录成功") return 1 elif "randomError" in login_1_resp.text: log.error(u"验证码错误") return 0 else: return 2 except Exception as e: log.error(u"登录失败") log.error(traceback.format_exc()) return 2
def set_cjbx_session(session): log = Logger() r = CRedis() base64_session = codecs.encode(pickle.dumps(session), "base64").decode() try: # file_object = open('session.txt', 'w') # file_object.write(base64_session) r.set("99_COMPANY", base64_session) except Exception as e: log.error("session error") log.error(traceback.format_exc())
def _get_carInof(session, vinNo): # 请求车管所验证码 log = Logger() headers[ 'Content-Type'] = "application/x-www-form-urlencoded; charset=UTF-8" url = "http://qcar.chinahuanong.com.cn/quotepriceasync/carInfoInquiryjiangsu.do" data = {"licenseNo": "", "vinNo": vinNo} rspcode = session.post(url=url, data=data, headers=headers) rspcode_json = rspcode.json() checkNo = rspcode_json['checkNo'] checkCode = rspcode_json['checkCode'] codestr = dama("3", checkCode) # 获取车管所信息 url2 = "http://qcar.chinahuanong.com.cn/quotepriceasync/comfirmCarInfoInquiry.do" data2 = {"checkNo": checkNo, "checkCode": codestr} rsp2 = session.post(url=url2, data=data2) return rsp2.text
class xlsw(): def __init__(self, bookname): try: self.log = Logger(common.logpath) self.bookname = bookname self.creatXlsx() self.createColname() except Exception as error: self.log.error(error) def creatXlsx(self): try: self.book = xlsxwriter.Workbook(self.bookname) self.sheet = self.book.add_worksheet() self.sheet.set_column('A:H', 20) except Exception as error: self.log.error(error) def createColname(self): try: self.sheet.write(0, 0, 'recipe_id/event_no/patient_id') self.sheet.write(0, 1, 'message_id') self.sheet.write(0, 2, 'branch_name') self.sheet.write(0, 3, 'subject_id') self.sheet.write(0, 4, 'subject_type') self.sheet.write(0, 5, 'msg_content') self.sheet.write(0, 6, 'advice') self.sheet.write(0, 7, 'severity') except Exception as error: self.log.error(error) def writeData(self, count, contents): try: for i in range(len(contents)): self.sheet.write(count, i, str(contents[i])) # print(count,i,str(contents[i])) except Exception as error: self.log.error(error) def closeXlsx(self): self.book.close()
from handler.tweet import TweetTimeHandler from common.config import ConfigManager from common.log import Logger logging=None app = Flask(__name__) app.config['DEBUG'] = os.environ.get('DEBUG', False) @app.route("/") def home_Page(): return render_template("home.html") @app.route("/time",methods=['GET','POST']) def fetch_time(): user_id = request.form.get("user_id",None) user_name = request.form.get("user_name",None) logging.debug("user_id : %s, user_name : %s"%(str(user_id),str(user_name))) tth = TweetTimeHandler(app) best_time,best_day = tth.get_best_time_and_day(user_id, user_name) return render_template("success.html", best_time=str(best_time),best_day=str(best_day)) @app.route("/ping") def pingwebhandler(): return "pong" if __name__ == "__main__": from os import sys, path sys.path.append(path.dirname(path.dirname(path.abspath(__file__)))) logging=Logger.getLogger() app.config_obj = ConfigManager.get_instance() app.run(host='0.0.0.0', port=5000)