81 lines
1.8 KiB
Python
81 lines
1.8 KiB
Python
|
|
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
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|