示例#1
0
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()
示例#2
0
def addTaskJobHistroy(taskJobId, type):
    taskJobHistory = TaskJobHistory(id=uuid.uuid1(),
                                    taskJobId=taskJobId,
                                    createTime=datetime.now(),
                                    type=type,
                                    status=0)
    Session.add(taskJobHistory)
    return taskJobHistory
示例#3
0
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}
示例#4
0
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}
示例#5
0
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()
示例#6
0
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)}
示例#7
0
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)}
示例#8
0
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)
示例#9
0
def proxyAddProxy(proxy):
    Session.add(proxy)
    return {"proxyInfo": proxy}
示例#10
0
def addContentType(contentType):
    return Session.add(contentType)
示例#11
0
def addTask(searchTaskJob):
    Session.add(searchTaskJob)
    Session.flush()
    Session.commit()
    return searchTaskJob
示例#12
0
def search(taskJobParam):
    Session.add(taskJobParam)
    return None