def add(cls, udl, table_name=None): cursor = None table_id = None if udl is not None and isinstance(udl, AbsUserDirectLines): try: count = cls.count(udl, table_name) if count > 0: table_id = count else: cursor = db_conn.execute('''insert into ''' + table_name + ''' (svn_user_id,svn_url_info_id,Lines_of_Code,Changes,Lines_per_Change, Directory,start_date,end_date,week,year) values (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)''', (udl.svn_user_id, udl.svn_url_info_id, udl.lines_of_code, udl.changes, udl.lines_per_change, udl.directory, udl.start_date, udl.end_date, udl.week, udl.year)) table_id = cursor.lastrowid db_conn.commit() except IntegrityError: db_conn.rollback() finally: if cursor: cursor.close() return table_id
def add(cls, svn_url): svn_url_info = cls.get_by_svn_url(svn_url) if svn_url_info is None: cursor = db_conn.execute("""insert into svn_url_info (svn_url) values(%s)""", (svn_url,)) db_conn.commit() cursor.close() svn_url_info = cls.get_by_svn_url(svn_url) return svn_url_info
def get_by_svn_url(cls, svn_url): cursor = db_conn.execute("""SELECT id, svn_url FROM svn_url_info WHERE svn_url=%s""", (svn_url,)) row = cursor.fetchone() cursor.close() if row: su = SvnUrlInfo(row[0]) su.svn_url = str(row[1]) return su return None
def get(cls, id): cursor = db_conn.execute("""SELECT id, svn_user FROM svn_users WHERE id=%s""", (id,)) row = cursor.fetchone() cursor.close() if row: u = cls(row[0]) u.svn_user = str(row[1]) return u return None
def get_by_svn_user(cls, svn_user): if svn_user is None: return None cursor = db_conn.execute("""SELECT id, svn_user FROM svn_users WHERE svn_user=%s""", (svn_user,)) row = cursor.fetchone() cursor.close() if row: u = cls(row[0]) u.svn_user = str(row[1]) return u return None
def count(cls, udl, table_name=None): cursor = None if udl is not None and isinstance(udl, AbsUserDirectLines): cursor = db_conn.execute("""SELECT count(1) FROM """ + table_name + """ WHERE svn_user_id=%s and svn_url_info_id=%s and directory=%s and start_date=%s and end_date=%s and week=%s and year=%s""", (udl.svn_user_id, udl.svn_url_info_id, udl.directory, udl.start_date, udl.end_date, udl.week, udl.year)) row = cursor.fetchone() cursor.close() if row: return row[0] return None
def add(cls, svn_user=None): cursor = None user = None try: if svn_user: user = cls.get_by_svn_user(svn_user) if user is None: cursor = db_conn.execute("""INSERT INTO svn_users (svn_user) VALUES (%s)""", (svn_user,)) user_id = cursor.lastrowid db_conn.commit() user = cls.get(user_id) except IntegrityError: db_conn.rollback() finally: if cursor: cursor.close() return user
def get_all(cls): cursor = db_conn.execute('''SELECT svn_url FROM svn_url_info''') rows = cursor.fetchall() return [x[0] for x in rows]