import mysql.connector as mariadb ''' contributors ''' CONTRIBUTORS_QUERY = ("SELECT DISTINCT(from_) FROM {} ") CONTRIBUTORS_CNT_PER_YEAR_QUERY = ("SELECT YEAR(date_) theyear, COUNT(DISTINCT(from_)) FROM {} GROUP BY theyear") ''' contributions ''' CONTRIBUTIONS_QUERY = ("SELECT COUNT(*) FROM {}") CONTRIBUTIONS_PER_YEAR_QUERY = ("SELECT YEAR(date_) theyear, COUNT(*) FROM {} GROUP BY theyear") ''' size text ''' SIZE_TEXT_QUERY = ("SELECT SUM(LENGTH(content_)) FROM {}") SIZE_TEXT_PER_YEAR_QUERY = ("SELECT YEAR(date_) theyear, SUM(LENGTH(content_)) FROM {} GROUP BY theyear") ''' nbr words ''' SIZE_TEXT_QUERY = ("SELECT SUM(LENGTH(content_)) FROM {}") SIZE_TEXT_PER_YEAR_QUERY = ("SELECT YEAR(date_) theyear, SUM(LENGTH(content_)) FROM {} GROUP BY theyear") def contributors(li, cursor, per_year=False): if per_year: cursor.execute(CONTRIBUTORS_CNT_PER_YEAR_QUERY.format(li)) else: cursor.execute(CONTRIBUTORS_QUERY.format(li)) results = [] if per_year: for (year, val) in cursor: results.append({'year' : str(year), 'val': str(val)}) else: for c in cursor: results += c return results def contributions(li, cursor, per_year=False): if per_year: cursor.execute(CONTRIBUTIONS_PER_YEAR_QUERY.format(li)) else: cursor.execute(CONTRIBUTIONS_QUERY.format(li)) results = [] if per_year: for (year, val) in cursor: results.append({'year' : str(year), 'val': str(val)}) else: for c in cursor: return str(c[0]) return results def text_size(li, cursor, per_year=False): if per_year: cursor.execute(SIZE_TEXT_PER_YEAR_QUERY.format(li)) else: cursor.execute(SIZE_TEXT_QUERY.format(li)) results = [] if per_year: for (year, val) in cursor: results.append({'year' : str(year), 'val': str(val)}) else: for c in cursor: return str(c[0]) return results