def __init__(self): #初始根目录信息 strDir, strName = myIO.getPath_ByFile(__file__) self.Dir_Base = os.path.abspath(os.path.join(strDir, "..")) self.Dir_Image = self.Dir_Base + "/Temps/Images/wxTemps/" self.Dir_Image = myIO.checkPath(self.Dir_Image) myIO.mkdir(self.Dir_Image, False)
def __init__(self, pData, interval = 1): self.name = pData.name self.interval_M = interval #分钟级间隔 self.datas = {} #原始数据 self.datasS = [] #统计数据集--天 self.datasS_M = None #统计数据对象--分钟级 self.data = pData #当前数据对象 self.setting = myQuote_Setting._Find(pData.name, pData.idTag) #配置项,以标识为准,避免名称不统一 self.autoSave = True self.stoped = False self.tagTime = datetime.datetime.now() self.manageTrades = gol._Get_Setting('manageBills_Stock', None) #使用交易管理器 gol._Set_Value('datas_Stics_D_' + pData.id, self.datasS) #全局统计信息 #保存基础数据 strDir, strName = myIO.getPath_ByFile(__file__) Dir_Base = os.path.abspath(os.path.join(strDir, "..")) self.dir = Dir_Base + "/Data/" + self.name + "/" self.fileName = myData_Trans.Tran_ToDatetime_str(pData.getTime(), "%Y-%m-%d") myIO.mkdir(self.dir) if(self.loadData()): #加载已存数据 self.setData(pData)
def _log(self, id_Target, lon, lat, height, Q, deltaXY, deltaX, deltaY): if (self.hasLog == False): return #保存数据 strDir, strName = myIO.getPath_ByFile(__file__) strPath = strDir + "/static/Log" headStr = "" if (os.path.exists(strPath) == False): myIO.mkdir(strPath) strPath = strPath + "/" + myData_Trans.Tran_ToDatetime_str( None, "%Y-%m-%d") + ".csv" if (os.path.exists(strPath) == False): headStr = "id_Target, concentration, height, tag, longitude_Leak, latitude_Leak, height_Leak, massrate_Leak, speed, direction, windH, temperature, cloudy_is, chimney_diameter, chimney_temperature_outlet, chimney_temperature_outlet, chimney_wind_speed_outlet, dtTimestr, lon, lat, deltaXY, deltaX, deltaY" #文件追加数据内容 with open(strPath, 'a+') as f: if (headStr != ""): f.write(headStr) dtTimestr = myData_Trans.Tran_ToDatetime_str(self.dtLeak) if (self.hasChimney): infoChimney = F'{self.chimney_diameter},{self.chimney_temperature_outlet},{self.chimney_temperature_outlet},{self.chimney_wind_speed_outlet}' else: infoChimney = F',,,' strLine = F'{id_Target},{Q},{height},{self.tag},{self.longitude_Leak},{self.latitude_Leak},{self.height_Leak},{self.massrate_Leak},{self.wind.wind_Speed},{self.wind.wind_Direction_Alias},{self.wind.wind_Height},{self.air.temperature},{self.sun.numCloud},{infoChimney},{dtTimestr},{lon},{lat},{deltaXY},{deltaX},{deltaY}' f.write("\n" + strLine) return True
def _initSetting(self): #初始根目录信息 strDir, strName = myIO.getPath_ByFile(__file__) Dir_Base = os.path.abspath(os.path.join(strDir, "..")) Dir_DataDB = Dir_Base + "/Data/DB_Trade/" gol._Set_Setting('manageBills_Stock', myManager_Bill.myManager_Bill(Dir_DataDB)) #实例 交易管理器
def __init__(self, nameDB="zxcDB_StockReturns_Rank", dir=""): #初始根目录信息 if (dir == ""): strDir, strName = myIO.getPath_ByFile(__file__) self.Dir_Base = os.path.abspath(os.path.join(strDir, "../../..")) self.Dir_DataDB = self.Dir_Base + "/Data/DB_Data/" myIO.mkdir(self.Dir_DataDB, False) super().__init__(nameDB, self.Dir_DataDB, False)
def __init__(self, host="127.0.0.1"): #初始根目录信息 strDir, strName = myIO.getPath_ByFile(__file__) self._Dir_Base = os.path.abspath(os.path.join(strDir, "..")) #初始数据库对象 self._dbUser = myData_Table("zxcDB_User", self._Dir_Base + "/Data/DB_Data/", params={"host": host})
def __init__(self, dir=""): #初始根目录信息 if (dir == ""): strDir, strName = myIO.getPath_ByFile(__file__) self.Dir_Base = os.path.abspath(os.path.join(strDir, "../../..")) self.Dir_DataDB = self.Dir_Base + "/Data/DB_Bill/" myIO.mkdir(self.Dir_DataDB, False) else: self.Dir_DataDB = dir self._Init() #初始参数信息等
def loadSets(self): #初始根目录信息 strDir, strName = myIO.getPath_ByFile(__file__) self.Dir_Base = os.path.abspath(os.path.join(strDir, "..")) self.Dir_Setting = self.Dir_Base + "/myWeb/Setting" #载入配置 text = myIO.getContent(self.Dir_Setting + "/BillTypes.json", True, False) self.jsonSets = myData_Json.Json_Object() self.jsonSets.Trans_FromStr(text)
def login_WeChat(): strDir, strName = myIO.getPath_ByFile(__file__) strDirBase = os.path.abspath(os.path.join( strDir, "../..")) + "/zxcPy.Weixin/Data/Pic/" if request.method == 'GET': image_data = open(os.path.join(strDirBase, "QR.png"), "rb").read() response = make_response(image_data) response.headers['Content-Type'] = 'image/png' return response else: pass
def __init__(self, source, intervalSecs=3): self.source = source self.interval = intervalSecs self.threadRunning = False self.stopped = False threading.Thread.__init__(self) #初始根目录信息 strDir, strName = myIO.getPath_ByFile(__file__) self.Dir_Base = os.path.abspath(os.path.join(strDir, "../..")) self.Dir_Swaps = self.Dir_Base + "/Data/Swaps/"
def __init__(self, usrName): self.usrName = usrName #用户名 self.prjRoots = {} #功能权限集 self.prjRoots_user = {} #功能权限用户集 self.prjCmds = {} #功能命令集 #初始根目录信息 strDir, strName = myIO.getPath_ByFile(__file__) self.Dir_Base = os.path.abspath(os.path.join(strDir, "../..")) self.Dir_Setting = self.Dir_Base + "/Setting/" self.Dir_Data = self.Dir_Base + "/Data/"
def __init__(self): self.setList = {} #设置集(按名称索引) self.funChanges = {} #初始根目录信息 strDir, strName = myIO.getPath_ByFile(__file__) self.Dir_Base = os.path.abspath(os.path.join(strDir, "..")) self.Dir_Setting = self.Dir_Base + "/Data/Setting" self.Path_SetSpider = self.Dir_Setting + "/Setting_Spider.csv" self.lstFields = ["名称","类型标识","网址","规则信息","是否生效","时间设置","备注"] self._Init()
def __init__(self, usrID="zxcStockAppetites", dir=""): self.usrID = usrID #当前账单归属用户 self.usrDB = {} #当前账包信息集 self.dir = dir #初始根目录信息 if (self.dir == ""): strDir, strName = myIO.getPath_ByFile(__file__) self.dirBase = os.path.abspath(os.path.join(strDir, "..")) self.dir = self.dirBase + "/Data/DB_Trade/Stock_Appetites/" myIO.mkdir(self.dir, False) self._Init_DB(self.dir + usrID + ".csv") #初始参数信息等
def _Init(self): #初始根目录信息 strDir, strName = myIO.getPath_ByFile(__file__) self.Dir_Base = os.path.abspath(os.path.join(strDir, "")) self.mdUpdata = myIO_md.myMD(self.Dir_Base + "/Docs/Updata.md") pNode = self.mdUpdata[0] self.version = pNode.titleName self.verText = pNode.getContent().strip() self.mdUpdata = None self.Send_UpdataMsg() #发送更新消息
def __init__(self): #初始根目录信息 strDir, strName = myIO.getPath_ByFile(__file__) self.Dir_Base = os.path.abspath(os.path.join(strDir, "..")) self.Path_Stock = self.Dir_Base + "/Setting/Setting_Stock.csv" self.setFields = ['extype', 'code', 'code_name', 'code_name_En', 'type', 'area', 'exName', 'extype2', 'source_set', 'source_code'] self.quoteSource = gol._Get_Value('quoteSource_API_JqData', None) #数据源操作对象 self.quoteSource_2 = gol._Get_Value('quoteSource_API_Sina', None) #数据源操作对象 self.lstStock = [] self._init_Updata() #更新配置信息 self._Init() #初始配置信息等
def stop(self): myDebug.Print('StockQuote stop\n') self.threadRunning = False self.stopped = True time.sleep(2) #退出 strDir, strName = myIO.getPath_ByFile(__file__) strDir_Base = os.path.abspath(os.path.join(strDir, "..")) strPath = strDir_Base + "/myQuote_API.lock" gol._Run_UnLock(strPath) exit(0)
def __init__(self, recv=False): self.usrMMsg = gol._Get_Setting('manageMsgs') #消息管理对象 self.manager = {} self.managerTemp = [] self.mqRecv = None self.isRuning = True self.init_MQ(recv) #初始根目录信息 strDir, strName = myIO.getPath_ByFile(__file__) self.baseDir = os.path.abspath(os.path.join(strDir, "..")) self.imgDir = self.baseDir + "/Data/Images/imgQuote/" self.setWinForm = gol._Get_Value('zxcWinForm_Control', None)
def __init__(self, tag, bUseMQ = True, robot_API = "http://127.0.0.1:8668/zxcAPI/robot"): self.usrTag = tag self.usrID = "zxcID" self.usrName = "墨紫" self.nickName = "" self.robotAPI = myWeb_urlLib.myWeb(robot_API) #WebAPI self.routeReply = "reply/" #消息处理接口路由名 self.usrMMsg = gol._Get_Setting('manageMsgs') #消息管理对象 self.useMQ = bUseMQ #初始本地路径 strDir, strName = myIO.getPath_ByFile(__file__) self.dirBase = os.path.abspath(os.path.join(strDir, ".."))
def __init__(self, usrID="", usrName=""): super().__init__(usrID, usrName) self.doTitle = "Robot_Log" #说明 self.prjName = "消息日志" #功能名 self.doCmd = "@@zxcRobot_Log" #启动命令 self.isBackUse = True #后台运行 self.maxTime = -1 #永久有效 self.msgLogs = gol._Get_Setting('manageMsgs') #全局消息日志管理器 #初始根目录信息 strDir, strName = myIO.getPath_ByFile(__file__) self.Dir_Base = os.path.abspath(os.path.join(strDir, "../..")) self.Dir_LogMsg = self.Dir_Base + "/Log/Msgs/" self.usrMMsg.Init_LogDir(self.Dir_LogMsg) #初始日志路径
def _Init(self): #初始用户全局功能权限对象 self.root = gol._Get_Value('rootRobot') #权限信息 if (self.root != None): self.usrName = self.root.usrName self.usrNameNick = self.root.usrNameNick self.usrTag = self.root.usrID self.usrReplys = myRoot_Usr.myRoot_Usrs("", "") #消息用户集 #初始根目录信息 strDir, strName = myIO.getPath_ByFile(__file__) self.Dir_Base = os.path.abspath(os.path.join(strDir, "../..")) self.Dir_LogMsg = self.Dir_Base + "/Log/Msgs/" self.usrMMsg.Init_LogDir(self.Dir_LogMsg) #初始日志路径
def __init__(self, usrName, usrID, bgetGol = True): self.usrName = usrName #用户名 self.usrID = usrID #用户名 self.prjRoots = {} #功能权限集 self.prjCmds = {} #功能命令集 self.hasGol = bgetGol #由全局提取 # self.prjRoots_user = {} #功能权限用户集 #初始根目录信息 strDir, strName = myIO.getPath_ByFile(__file__) self.Dir_Base = os.path.abspath(os.path.join(strDir, "../..")) self.Dir_Setting = self.Dir_Base + "/Setting/" self.Dir_Data = self.Dir_Base + "/Data/" self._Init() #初始参数信息等
def Init(self, dir="", pathPicDir=""): if (dir == ""): strDir, strName = myIO.getPath_ByFile(__file__) self.dirBase = os.path.abspath(os.path.join(strDir, "..")) else: self.dirBase = dir #初始根目录信息 self.dirSetting = self.dirBase + "/Setting/" self.dirData = self.dirBase + "/Data/" if (pathPicDir == ""): pathPicDir = self.dirData self.dirPic = pathPicDir + "Pic/" myIO.mkdir(self.dirPic, False) myIO.mkdir(self.dirPic + "Temps", False, True)
def __init__(self, userID, usrName): self.usrName = usrName #归属用户 self.usrID_sys = userID #归属用户ID self.groupList = {} #群组集(按顺序索引) self.groupList_Name = {} #群组集--(按名称索引) self.groupList_usrID = {} #群组集--(按ID索引) #初始根目录信息 strDir, strName = myIO.getPath_ByFile(__file__) self.Dir_Base = os.path.abspath(os.path.join(strDir, "../..")) self.Dir_Setting = self.Dir_Base + "/Setting" self.Path_SetUser = self.Dir_Setting + "/UserInfo_Group.csv" self.lstFields = ["ID", "群组名", "来源平台", "描述", "注册时间", "最后登录时间"] if (userID != "" and usrName != ""): self._Init()
def get_InfoServer(fileObj, evnSERVER_HOST='SERVER_HOST', evnSERVER_PORT='SERVER_PORT', defPort=5555): #提取端口号(环境变量) strDir, strName = myIO.getPath_ByFile(fileObj) dirBase = os.path.abspath(os.path.join(strDir, "")) try: from os import environ HOST = environ.get(evnSERVER_HOST, 'localhost') PORT = environ.get(evnSERVER_PORT, 88) PORT = int(environ.get(evnSERVER_PORT, str(defPort))) except Exception: HOST = "127.0.0.1" PORT = 5555 return HOST, PORT, dirBase
def __init__(self): self.sets = [] #设置集(不排序) self.setList = {} #设置集(按名称索引) self.setList_Tag = {} #设置集--(按Tag索引) self.setUsers = {} #设置用户信息集 #初始根目录信息 strDir, strName = myIO.getPath_ByFile(__file__) self.Dir_Base = os.path.abspath(os.path.join(strDir, "..")) self.Dir_Setting = self.Dir_Base + "/Setting" self.Path_SetQuote = self.Dir_Setting + "/Setting_Quote.csv" self.lstFields = [ "代码", "名称", "类型", "国家", "是否指数", "监测类型", "是否生效", "完整设置", "消息发送用户", "备注" ] self._Init()
def __init__(self, dbName='zxcDB_IOTs', dir=""): #初始根目录信息 if (dir == ""): strDir, strName = myIO.getPath_ByFile(__file__) self.Dir_Base = os.path.abspath(os.path.join(strDir, "..")) self.Dir_DataDB = self.Dir_Base + "/Data/DB_Iot/Iots/" myIO.mkdir(self.Dir_DataDB, False) super().__init__(dbName, self.Dir_DataDB, True) #固定字段 self.Add_Fields([ '设备编号', '设备名称', '设备类型', '设备状态', '通讯地址', '用户名', '用户编号', '地址', '坐标X', "坐标Y", '日期', '备注' ], [ 'string', 'string', 'string', 'string', 'string', 'string', 'string', 'string', 'string', 'string', 'datetime', 'string' ], [])
def Init_UserInfo(self, usrName, usrNameNick, usrID): if (usrName == "zxcRobot" and usrID == "zxcRobotID" and usrNameNick == "zxc机器人"): strDir, strName = myIO.getPath_ByFile(__file__) strDir_Base = os.path.abspath(os.path.join(strDir, "../../..")) content = myIO.getContent( strDir_Base + '\zxcPy.Weixin\Data\zxcWeixin.cache', True, False, True) if (content != ""): dictUser = myData_Trans.Tran_ToDict(content) self.usrName = usrName self.usrNameNick = dictUser.get("NickName", "zxc机器人") #归属用户昵称 self.usrID = dictUser.get("UserName", "zxcRobotID") #归属用户昵称 gol._Set_Setting('usrName', self.usrName) gol._Set_Setting('usrNameNick', self.usrNameNick) gol._Set_Setting('usrID', self.usrID) self.Init()
def __init__(self, useID): self.usrID = useID #用户名 self.usrTime = "" #数据日期(月) self.remark = "" #备注 #初始数据路径 strDir, strName = myIO.getPath_ByFile(__file__) self.Dir_Base = os.path.abspath(os.path.join(strDir, "../../..")) self.Dir_DataDB = self.Dir_Base + "/Data/DB_Trade/" #初始全局账单管理器 from myGlobal import gol gol._Init() #先必须在主模块初始化(只在Main模块需要一次即可) gol._Set_Setting('manageBills', myManager_Bill.myManager_Bill( self.Dir_DataDB)) #实例 账单管理器 self.billManager = gol._Get_Setting('manageBills', None)
def __init__(self, nameDB = "zxcDB", dir = "", oneValid = False, params = {"hasAliaName": False}, initAuto = True): self.dir = dir #库表路径 self.nameDB = nameDB #库表名 self.fields = OrderedDict() #库表字段信息 self.fields_index = [] #库表字段-索引信息 self.rows = OrderedDict() #库表行数据集(带编号) self.indexs = {} #索引集 self.oneValid = oneValid #是否只有一条记录有效 self.params = params #初始根目录信息 if(self.dir == ""): strDir, strName = myIO.getPath_ByFile(__file__) self.dirBase = os.path.abspath(os.path.join(strDir, "..")) self.dir = self.dirBase + "/Data/DB_Data/" myIO.mkdir(self.dir, False) if(initAuto): self._Init_DB(self.dir + nameDB + ".csv" ) #初始参数信息等
def __init__(self, host=""): # 获取session对象(操作对象是浏览器,而不是html页面),用于处理动态变化的cookie(有cookie的就用session) self._webHost = host self._webCookies = {} self._webSession = requests.Session() #构造Session self._webImg_ind = 0 #图片下载序号,避免重复 self._Init_Iots() #初始物联网对象集 self._Init_ctrlState() #初始IOT状态集 #初始根目录信息 strDir, strName = myIO.getPath_ByFile(__file__) self._Dir_Base = os.path.abspath(os.path.join(strDir, "..")) self._Dir_Image = self._Dir_Base + "/Temps/Images" self._Dir_Image = myIO.checkPath(self._Dir_Image) myIO.mkdir(self._Dir_Image, False, True) #覆盖 #命令任务状态监测线程启动 self.isRuning = False self._iotCmds = {} #待执行命令集 self._iotCmds_ok = {} #已执行命令集(含失败) self.Start()