Beispiel #1
0
	def __init__(self,redis):
		self.hostrc = redis[0]
		self.passwordrc = redis[1]
		self.portrc = int(redis[2])
		self.dbrc = redis[3]
		self.rc = RedisQueue(self.hostrc, self.passwordrc, self.portrc, self.dbrc)
		self.jira_lib = jira_lib(getdb('jira'))
Beispiel #2
0
class setredis():
    def __init__(self, res):
        conn_dict = res
        self.rc = RedisQueue(conn_dict)
        self.jira_lib = jira_lib(getdb('jira_sit'))

    def set_project_all(self):
        project = self.jira_lib.project()
        self.rc.put('project', project)
        print("写入项目编号完成")
        self.rc.put('vname', self.jira_lib.vname())
        print("写入项目版本完成")
        for i in project:
            res = self.jira_lib.rds_all(i)
            self.rc.put(i, res)
            print("写入 %s 完成" % (i))
        print("执行完成")

    def del_reids(self):
        keys = self.rc.keys()
        for i in keys:
            if "GIS" in i:
                self.rc.delall(i)
        print("删除完毕")

    def t(self):
        keys = self.rc.keys()
        return keys
Beispiel #3
0
class jira():
#数据库和reids初始化
	def __init__(self,db,redis):
		self.host = db[0]
		self.username = db[1]
		self.password = db[2]
		self.port = int(db[3])
		self.database = db[4]
		self.hostrc = redis[0]
		self.passwordrc = redis[1]
		self.portrc = int(redis[2])
		self.dbrc = redis[3]
		self.mydb = MyDB(self.host, self.username, self.password, self.port, self.database)
		self.rc=RedisQueue(self.hostrc, self.passwordrc, self.portrc, self.dbrc)



#传入项目名和版本号,返回报告人,指派人,该版本下的需求和bug,类型,编号,时间(相当于sql1结果,然后用编号去sql5返回集获取属性,加入到sql1结果集中)
	def project_all_version(self,project,version):
		rds=[]
		res=self.rc.get(project)
		for i in res:
			if version == i[7]:
				rds.append(i)
		return rds

#传入项目名,返回报告人,指派人,该版本下的所有版本,需求和bug,类型,编号,时间(相当于sql1结果,然后用编号去sql5返回集获取属性,加入到sql1结果集中)
	def project_all(self,project):
		res=self.rc.get(project)
		return res

# 传入编号返回是需求类型,比如是需求还是缺陷
	def rds_issuetype(self,newvalue):
		sql1 = getsql('rds', 'sql5')
		sql = sql1 % (newvalue)
		res=self.mydb.query(sql)
		result=self.list(res)
		return result

		
#传入项目名和版本号,返回需求数,bug数
	def counts(self,project,version):
		count={}
		bug=0
		res=self.project_all_version(project,version)
		for i in res:
			if "版本缺陷" in i[-1]:
				bug+=1
		project=len(res)-bug
		count["project"]=project
		count["bug"] = bug
		return count

#获取所有项目编码
	def project(self):
		result=self.rc.get("project")
		return result
Beispiel #4
0
class setredis():
	def __init__(self,redis):
		self.hostrc = redis[0]
		self.passwordrc = redis[1]
		self.portrc = int(redis[2])
		self.dbrc = redis[3]
		self.rc = RedisQueue(self.hostrc, self.passwordrc, self.portrc, self.dbrc)
		self.jira_lib = jira_lib(getdb('jira'))
	
	def set_project_all (self):
		project=self.jira_lib.project()
		self.rc.put('project', project)
		print("写入项目编号完成")
		self.rc.put('vname',self.jira_lib.vname())
		print("写入项目版本完成")
		for i in project:
			res=self.jira_lib.rds_all(i)
			self.rc.put(i,res)
			print("写入 %s 完成" % (i))
		print("执行完成")
	

	def del_reids(self):
		keys=self.rc.keys()
		for i in keys:
			if "GIS" in i:
				self.rc.delall(i)
		print("删除完毕")
Beispiel #5
0
	def __init__(self,db,redis):
		self.host = db[0]
		self.username = db[1]
		self.password = db[2]
		self.port = int(db[3])
		self.database = db[4]
		self.hostrc = redis[0]
		self.passwordrc = redis[1]
		self.portrc = int(redis[2])
		self.dbrc = redis[3]
		self.mydb = MyDB(self.host, self.username, self.password, self.port, self.database)
		self.rc=RedisQueue(self.hostrc, self.passwordrc, self.portrc, self.dbrc)
Beispiel #6
0
 def __init__(self, db, res):
     self.host = db[0]
     self.username = db[1]
     self.password = db[2]
     self.port = int(db[3])
     self.database = db[4]
     # self.hostrc = redis[0]
     # self.passwordrc = redis[1]
     # self.portrc = int(redis[2])
     # self.dbrc = redis[3]
     self.mydb = MyDB(self.host, self.username, self.password, self.port,
                      self.database)
     self.rc = RedisQueue(res)
     self.buglist = ['调研中', '待修复', '修复中', '已修复', '测试中', '关闭']
Beispiel #7
0
 def __init__(self, res):
     conn_dict = res
     self.rc = RedisQueue(conn_dict)
     self.jira_lib = jira_lib(getdb('jira_sit'))
Beispiel #8
0
class jira():
    #数据库和reids初始化
    def __init__(self, db, res):
        self.host = db[0]
        self.username = db[1]
        self.password = db[2]
        self.port = int(db[3])
        self.database = db[4]
        # self.hostrc = redis[0]
        # self.passwordrc = redis[1]
        # self.portrc = int(redis[2])
        # self.dbrc = redis[3]
        self.mydb = MyDB(self.host, self.username, self.password, self.port,
                         self.database)
        self.rc = RedisQueue(res)
        self.buglist = ['调研中', '待修复', '修复中', '已修复', '测试中', '关闭']

#传入项目名和版本号,返回报告人,指派人,该版本下的需求和bug,类型,编号,时间(相当于sql1结果,然后用编号去sql5返回集获取属性,加入到sql1结果集中)

    def project_all_version(self, project, version):
        rds = []
        res = self.rc.get(project)
        for i in res:
            if version == i[6]:
                rds.append(i)
        return rds

#传入项目名,返回报告人,指派人,该版本下的所有版本,需求和bug,类型,编号,时间(相当于sql1结果,然后用编号去sql5返回集获取属性,加入到sql1结果集中)

    def project_all(self, project):
        res = self.rc.get(project)
        return res

# 传入编号返回是需求类型,比如是需求还是缺陷

    def rds_issuetype(self, newvalue):
        sql1 = getsql('rds', 'sql5')
        sql = sql1 % (newvalue)
        res = self.mydb.query(sql)
        result = self.list(res)
        return result

#传入项目名和版本号,返回需求数,bug数

    def counts(self, project, version):
        count = {}
        bug = 0
        res = self.project_all_version(project, version)
        for i in res:
            if "版本缺陷" in i[-1]:
                bug += 1
        project = len(res) - bug
        count["project"] = project
        count["bug"] = bug
        return count

#输入项目名或者项目名,版本号,返回	相关bug状态的统计数量 (返回类型是字典)

    def project_counts(self, project, verson='all'):
        temp = []
        dic = {}
        num = 0
        if verson == 'all':
            res = self.project_all(project)
        else:
            res = self.project_all_version(project, verson)
        for i in self.buglist:
            temp = [i for j in res if j[-2] == i]
            dic[i] = temp.count(i)
        return dic

#输入项目名返回该项目下所有版本的bug状态的统计数量 (返回类型是list)

    def project_vnames_counts(self, project):
        vname = []
        counts = {}
        bugs = []
        temp = []
        res = self.project_all(project)
        for i in res:
            temp.append(i[6])
        vname = list(set(temp))
        vname.sort(reverse=1)

        for v in vname:
            res = self.project_counts(project, v)
            res1 = self.project_all_version(project, v)
            bug = []
            counts[v] = res
            bug = [i for i in list(res.values())]
            bug.insert(0, v)
            c = self.counts(project, v)
            bug.append(c['project'])
            bug.append(c['bug'])
            bug.append(res1[0][7])
            bug.append(res1[0][8])
            bug.append(self.interval(res1[0][7], res1[0][8]))
            bugs.append(bug)
        return bugs

#获取所有项目编码

    def project(self):
        result = self.rc.get("project")
        return result

#通过项目名查询下面所有的版本号

    def vname(self, name):
        res = self.rc.get("vname")
        result = [i[1] for i in res if i[0] == name]
        return result

#返回时间差

    def interval(self, t1, t2):
        start_date = t1
        end_date = t2
        if start_date and end_date:
            start_sec = time.mktime(
                time.strptime(start_date, '%Y-%m-%d %H:%M:%S'))
            end_sec = time.mktime(time.strptime(end_date, '%Y-%m-%d %H:%M:%S'))
            s = int((end_sec - start_sec))
            ts = s / (60 * 60)
            if ts < 24:
                return str(ts) + '小时'
            else:
                work_days = int(s / (24 * 60 * 60))
                return str(work_days) + '天'