예제 #1
0
class DbProj:

	def __init__(self, proj=None, lang=None):
		self.project = proj
		self.language = lang
		self.projects = []

	def __str__(self):

		print_str = ""

		for p in self.projects:
			print_str += str(p)

		return print_str

	def connectDb(self, db, dbUser, dbHost, dbPort):

		self.dbCon = DatabaseCon(db, dbUser, dbHost, dbPort)

	def fetchDatesFromTable(self, table):

		sql_command = "SELECT tag, project, min(commit_date), max(commit_date)"
		sql_command +=  " FROM " + table + " Where tag like \'" + self.language + "\'"
		sql_command +=  " and project = \'" + self.project + "\' group by tag, project"

		print sql_command

		rows = self.dbCon.execute(sql_command)

		for row in rows:
			language, project, commit_date_min, commit_date_max = row
			p = proj(language, project, commit_date_min, commit_date_max)
			self.projects.append(p)

	def countCommitBetweenDates(self, table, snapshot1, snapshot2):

            snapshot1 = "'" + snapshot1 + "'"
            snapshot2 = "'" + snapshot2 + "'"

            sql_command = "SELECT distinct file_name, sha"
            sql_command +=  " FROM " + table + " Where tag like \'" + self.language + "\'"
            sql_command +=  " and project = \'" + self.project + "\' and commit_date >= " \
                               + snapshot1 + " and commit_date < " + snapshot2

            #print sql_command
            rows = self.dbCon.execute(sql_command)
            return len(rows)


	def printCommitDates(self):

		for p in self.projects:
			print p
예제 #2
0
파일: projDB.py 프로젝트: jiangyanjie/szz
class DbProj:
    def __init__(self, proj=None, lang=None):
        self.project = proj
        self.language = lang
        self.projects = []

    def __str__(self):

        print_str = ""

        for p in self.projects:
            print_str += str(p)

        return print_str

    def connectDb(self, db, dbUser, dbHost, dbPort):

        self.dbCon = DatabaseCon(db, dbUser, dbHost, dbPort)

    def fetchDatesFromTable(self, table):

        sql_command = "SELECT tag, project, min(commit_date), max(commit_date)"
        sql_command += " FROM " + table + " Where tag like \'" + self.language + "\'"
        sql_command += " and project = \'" + self.project + "\' group by tag, project"

        print sql_command

        rows = self.dbCon.execute(sql_command)

        for row in rows:
            language, project, commit_date_min, commit_date_max = row
            p = proj(language, project, commit_date_min, commit_date_max)
            self.projects.append(p)

    def countCommitBetweenDates(self, table, snapshot1, snapshot2):

        snapshot1 = "'" + snapshot1 + "'"
        snapshot2 = "'" + snapshot2 + "'"

        sql_command = "SELECT distinct file_name, sha"
        sql_command += " FROM " + table + " Where tag like \'" + self.language + "\'"
        sql_command +=  " and project = \'" + self.project + "\' and commit_date >= " \
                           + snapshot1 + " and commit_date < " + snapshot2

        #print sql_command
        rows = self.dbCon.execute(sql_command)
        return len(rows)

    def printCommitDates(self):

        for p in self.projects:
            print p
예제 #3
0
class DbEdits:

	def __init__(self, proj, lang):
		self.project = proj
		self.language = lang
		self.edits = []

	def __str__(self):

		print_str = ""
		for e in self.edits:
			print_str += str(e)

		return print_str

	def connectDb(self, db, dbUser, dbHost, dbPort):

		self.dbCon = DatabaseCon(db, dbUser, dbHost, dbPort)

	def fetchEditsFromTable(self, table):

		sql_command = "SELECT project, file_name, sha, commit_date, isbug, is_test "
		sql_command +=  " FROM " + table + " WHERE tag = \'" + self.language + \
						"\' and project = \'" + self.project + "\'"

		print sql_command
		
		rows = self.dbCon.execute(sql_command)

		for row in rows:
			project, file_name, sha, commit_date, isbug, is_test = row
			e = edit(project, file_name, is_test, sha, commit_date, isbug)
			self.edits.append(e)


	def printEdits(self):

		for e in self.edits:
			print e
예제 #4
0
파일: projDB.py 프로젝트: saheel1115/szz
class DbAll_changes:
    def __init__(self, proj=None, lang=None):
        self.project = proj
        self.language = lang
        self.projects = []

    def __str__(self):

        print_str = ""

        for p in self.projects:
            print_str += str(p)

        return print_str

    def connectDb(self, db, dbUser, dbHost, dbPort):

        self.dbCon = DatabaseCon(db, dbUser, dbHost, dbPort)

    def fetchDatesFromTable(self, table):

        sql_command = "SELECT language, project, min(commit_date), max(commit_date)"
        sql_command += " FROM " + table + " Where language iLike \'" + self.language + "\'"
        sql_command += " and project = \'" + self.project + "\' group by language, project"

        print sql_command

        rows = self.dbCon.execute(sql_command)

        for row in rows:
            language, project, commit_date_min, commit_date_max = row
            p = proj(language, project, commit_date_min, commit_date_max)
            self.projects.append(p)

    def printCommitDates(self):

        for p in self.projects:
            print p
예제 #5
0
class DbEdits:
    def __init__(self, proj, lang):
        self.project = proj
        self.language = lang
        self.edits = []

    def __str__(self):

        print_str = ""
        for e in self.edits:
            print_str += str(e)

        return print_str

    def connectDb(self, db, dbUser, dbHost, dbPort):

        self.dbCon = DatabaseCon(db, dbUser, dbHost, dbPort)

    def fetchEditsFromTable(self, table):

        sql_command = "SELECT project, file_name, sha, commit_date, isbug, is_test "
        sql_command +=  " FROM " + table + " WHERE tag = \'" + self.language + \
            "\' and project = \'" + self.project + "\'"

        print sql_command

        rows = self.dbCon.execute(sql_command)

        for row in rows:
            project, file_name, sha, commit_date, isbug, is_test = row
            e = edit(project, file_name, is_test, sha, commit_date, isbug)
            self.edits.append(e)

    def printEdits(self):

        for e in self.edits:
            print e