def total_entries(self): sql = text("SELECT COUNT(*) FROM girdiler WHERE source=:s AND baslik_id=:b") result = session.execute(sql, params=dict(s=self.source, b=self.baslik_id)).fetchone() out = "// toplam girdi sayisi\n" out += "[%s, %s]" % (self.source, int(result[0])) return out
def get_distinct_years(self): log.debug('Getting distinct years') sql = text("SELECT DISTINCT(YEAR(datetime)) FROM girdiler WHERE source=:s AND baslik_id=:b GROUP BY datetime") result = session.execute(sql, params=dict(s=self.source, b=self.baslik_id)).fetchall() # Convert the result into ints return map(lambda x: int(x[0]), result)
def entry_numbers_in_years(self): years = self.get_distinct_years() out = [] for year in years: sql = text("SELECT COUNT(girdi_id) FROM girdiler WHERE source=:s AND baslik_id=:b AND YEAR(datetime)=:y") result = session.execute(sql, params=dict(s=self.source, b=self.baslik_id, y=year)).fetchone() out.append({'year': year, 'month': 1, 'number_of_entires': int(result[0])}) return out
def entry_numbers_in_months(self): years = self.get_distinct_years() out = [] for year in years: for month in xrange(1, 13): sql = text("SELECT COUNT(girdi_id) FROM girdiler WHERE source=:s AND baslik_id=:b AND YEAR(datetime)=:y AND MONTH(datetime)=:m") result = session.execute(sql, params=dict(s=self.source, b=self.baslik_id, y=year, m=month)).fetchone() # Highcharts ile gosterirken Date.UTF 0 indexinden basliyor. Bu # yuzden -1 yazmak durumundayiz. Ornegin 2012 yilinin 0. ayi # highchart ile cizdirildiginde 2012-1 seklinde gozukmekte out.append({'year': year, 'month': month-1, 'number_of_entires': int(result[0])}) return out