def relationTaskJob(jobTemplateId,taskJobId,fieldIds): TaskJobDao.delTaskJobReRelationByTaskJobId(taskJobId) if fieldIds!=None and str(fieldIds)=="-1": jobTemplateFieldList=TemplateDao.queryJobTemplateFieldByJobTemplateId(jobTemplateId) for field in jobTemplateFieldList: taskJobReField = TaskJobReField(id=uuid.uuid1()) taskJobReField.jobTemplateId = jobTemplateId taskJobReField.taskJobId = taskJobId taskJobReField.delFlag = False taskJobReField.jobTemplateFieldId = field.id taskJobReField.createTime=datetime.now() Session.add(taskJobReField) return fieldList=fieldIds.split(",") for fieldId in fieldList: taskJobReField=TaskJobReField(id=uuid.uuid1()) taskJobReField.jobTemplateId=jobTemplateId taskJobReField.taskJobId=taskJobId taskJobReField.delFlag=False taskJobReField.jobTemplateFieldId=fieldId taskJobReField.createTime=datetime.now() Session.add(taskJobReField) # TaskJobDao.updateTaskJob(TaskJob.id==taskJobId,{TaskJob.jobTemplateId:jobTemplateId}) Session.query(TaskJob).filter(TaskJob.id==taskJobId).update({TaskJob.jobTemplateId:jobTemplateId}) Session.flush() Session.commit()
def addTaskJobHistroy(taskJobId, type): taskJobHistory = TaskJobHistory(id=uuid.uuid1(), taskJobId=taskJobId, createTime=datetime.now(), type=type, status=0) Session.add(taskJobHistory) return taskJobHistory
def proxyAdd(proxy): type = proxy.type if type == ProxyType.STATIC: ipList = RequestUtils.parseProxyFile() result = addStaticProxyList(ipList) else: result = proxyAddProxy(proxy) Session.add(proxy) Session.commit() return {"result": result}
def addStaticProxyList(ipList): staticProxyInfoList = [] if len(ipList) <= 0: return None proxyInfo = ProxyInfo(type=ProxyType.STATIC) Session.add(proxyInfo) for ip in ipList: infp = ip.split(":") if len(infp) == 2: staticProxyInfo = StaticProxyInfo(host=infp[0], port=infp[1], proxyInfoId=proxyInfo.id) Session.add(staticProxyInfo) staticProxyInfoList.append(staticProxyInfo) Session.commit() return {"proxyInfo": proxyInfo, "staticProxyInfoList": staticProxyInfoList}
def taskJobReTemplate(taskJobId,templates): oldtaskjobtemp = Session.query(TaskJobReTemplate).filter(TaskJobReTemplate.taskJobId==taskJobId).all() for oldemp in oldtaskjobtemp: oldemp.delFlag = True for template in templates: taskJobReT=Session.query(TaskJobReTemplate).filter(TaskJobReTemplate.taskJobId==taskJobId,TaskJobReTemplate.jobTemplateId==template.get("id")).first() if taskJobReT==None: taskJobReTemplate=TaskJobReTemplate() taskJobReTemplate.jobTemplateId=template.get("id") taskJobReTemplate.fieldIds=template.get("fieldIds") taskJobReTemplate.taskJobId=taskJobId taskJobReTemplate.delFlag=False Session.add(taskJobReTemplate) else: taskJobReT.fieldIds=template.get("fieldIds") taskJobReT.delFlag = False BaseDao.updateByPrimary(taskJobReT,TaskJobReTemplate) Session.flush() Session.commit()
def parseTemplate(jsonTemplateSerialize): jobTemplateId=uuid.uuid1() jobTemplate=jsonTemplateSerialize.jobTemplate; if jobTemplate==None: return {"error":""} newJobTemplate=ClassCopy.copyToNewInstances(jobTemplate,JobTemplate) newJobTemplate.id=jobTemplateId Session.add(newJobTemplate) jobTemplateFieldList=jsonTemplateSerialize.jobTemplateFieldList newjobTemplateFieldList=[] newJobTemplateParamList=[] if jobTemplateFieldList!=None and len(jobTemplateFieldList)!=0: for jobTemplateField in jobTemplateFieldList: newJobTemplateField=ClassCopy.copyToNewInstances(jobTemplateField, JobTemplateField) newJobTemplateField.id = uuid.uuid1() newJobTemplateField.jobTemplateId=jobTemplateId newjobTemplateFieldList.append(newJobTemplateField) Session.add(newJobTemplateField) jobTemplateParamList = jsonTemplateSerialize.jobTemplateParamList if jobTemplateParamList != None and len(jobTemplateParamList) != 0: for jobTemplateParam in jobTemplateParamList: newJobTemplateParam = ClassCopy.copyToNewInstances(jobTemplateParam, JobTemplateParam) newJobTemplateParam.id = uuid.uuid1() newJobTemplateParam.jobTemplateId = jobTemplateId newJobTemplateParamList.append(newJobTemplateParam) Session.add(newJobTemplateParam) return {"result":JobTemplateSerialize(newJobTemplate,newjobTemplateFieldList,newJobTemplateParamList)}
def copyTask(taskJobId): taskJob = loadTaskById(taskJobId) taskJobReFieldList = loadTaskJobReFieldList(taskJobId) taskJobReTemplateList = TemplateDao.loadTaskJobReTemplate(taskJobId) taskJobNew = ClassCopy.copyToNewInstances(taskJob, TaskJob) id = uuid.uuid1() taskJobNew.id = id taskJobNew.createTime = datetime.now() taskJobNew.name = taskJob.name + "_副本" #状态置为0:未运行 taskJobNew.status = 0 Session.add(taskJobNew) flag = False for taskJobReField in taskJobReFieldList: taskJobReFieldNew = ClassCopy.copyToNewInstances( taskJobReField, TaskJobReField) taskJobReFieldNew.taskJobId = id taskJobReFieldNew.createTime = datetime.now() taskJobReFieldNew.id = uuid.uuid1() Session.add(taskJobReFieldNew) if (taskJobReTemplateList != None): for taskJobReTemplate in taskJobReTemplateList: taskJobReTemplate = ClassCopy.copyToNewInstances( taskJobReTemplate, TaskJobReTemplate) taskJobReTemplate.taskJobId = id taskJobReTemplate.createTime = datetime.now() taskJobReTemplate.id = uuid.uuid1() Session.add(taskJobReTemplate) flag = True return {"flag": flag, "newTaskId": str(id)}
def addGisInfoDetailField(taskJobId): gbi = Session.query(GisInfoDetailField).filter( GisInfoDetailField.taskJobId == taskJobId).first() if gbi != None: return urlReCityFieldList = Session.query(UrlReCityField).all() searchTaskJob = loadTaskById(taskJobId) gisBigInfo = queryGisDetail(taskJobId) areaList = Session.query(AreaField).all() # jobTemplate=TemplateDao.queryTemplateByType(searchTaskJob.type) area = areaList[random.randint(0, len(areaList) - 1)] urlReCity = urlReCityFieldList[random.randint(0, len(urlReCityFieldList) - 1)] gisInfoDetailField = GisInfoDetailField() gisInfoDetailField.contentType = searchTaskJob.type gisInfoDetailField.createTtime = TimeUtils.get_time_beforeNow( 0, '%Y-%m-%d %H:%M') gisInfoDetailField.detailAreaId = area.cityId gisInfoDetailField.detailUrl = urlReCity.url gisInfoDetailField.detailKv = searchTaskJob.key gisInfoDetailField.networkCnt = random.randint(100, 500) gisInfoDetailField.baiduSearchCnt = random.randint(10000, 50000) gisInfoDetailField.haosouSearchCnt = random.randint(10000, 50000) gisInfoDetailField.sougouSearchCnt = random.randint(10000, 50000) gisInfoDetailField.weixinSearchCnt = random.randint(10000, 50000) gisInfoDetailField.allCnt = random.randint(1000, 5000) gisInfoDetailField.suitability = random.randint(0, 100) gisInfoDetailField.suitabilityRange = random.randint(0, 100) gisInfoDetailField.genuineInfo = gisBigInfo.genuineInfo if gisBigInfo != None else "人民的名义;李路;2017-05" gisInfoDetailField.piracyInfo = '' gisInfoDetailField.piracySource = random.randint(0, 100) gisInfoDetailField.estimatedImpactCnt = random.randint(0, 100) gisInfoDetailField.transmissionRate = random.randint(100, 500) gisInfoDetailField.spreadScope = random.randint(100, 500) gisInfoDetailField.resourceSize = random.randint(1000, 10000) gisInfoDetailField.resourceInDate = datetime.now() gisInfoDetailField.taskJobId = searchTaskJob.id Session.add(gisInfoDetailField)
def proxyAddProxy(proxy): Session.add(proxy) return {"proxyInfo": proxy}
def addContentType(contentType): return Session.add(contentType)
def addTask(searchTaskJob): Session.add(searchTaskJob) Session.flush() Session.commit() return searchTaskJob
def search(taskJobParam): Session.add(taskJobParam) return None