diff options
author | Mariano Lopez <mariano.lopez@linux.intel.com> | 2015-07-09 10:39:12 -0500 |
---|---|---|
committer | Paul Eggleton <paul.eggleton@linux.intel.com> | 2018-05-04 23:57:52 +1200 |
commit | aab05507d572c7f096c389b45cc334e2f238c266 (patch) | |
tree | 7bdc49b33dc3a123100142ec25bfbf6a80901527 | |
parent | 58ea26418e0da32ae603f17a315cc5d868eff593 (diff) | |
download | openembedded-core-contrib-aab05507d572c7f096c389b45cc334e2f238c266.tar.gz |
models.py: Added Raw SQL for percentage updated
This adds SQL queries that will be used for the
percentage of recipes updated in a period.
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
-rw-r--r-- | rrs/models.py | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/rrs/models.py b/rrs/models.py index ad1b97ae1b..166989dc39 100644 --- a/rrs/models.py +++ b/rrs/models.py @@ -235,6 +235,16 @@ class RecipeUpstreamHistory(models.Model): return None @staticmethod + def get_first_by_date_range(start, end): + history = RecipeUpstreamHistory.objects.filter(start_date__gte = start, + start_date__lte = end).order_by('start_date') + + if history: + return history[0] + else: + return None + + @staticmethod def get_last(): history = RecipeUpstreamHistory.objects.filter().order_by('-start_date') @@ -475,6 +485,40 @@ class Raw(): return Raw.dictfetchall(cur) @staticmethod + def get_reup_by_date(date_id): + cur = connection.cursor() + cur.execute("""SELECT DISTINCT recipe_id + FROM rrs_RecipeUpstream + WHERE status = 'N' + AND history_id = %s + """, [date_id]) + return [i[0] for i in cur.fetchall()] + + @staticmethod + def get_reupg_by_dates(start_date, end_date): + cur = connection.cursor() + cur.execute("""SELECT id, recipe_id, maintainer_id, author_date, commit_date + FROM rrs_recipeupgrade + WHERE commit_date >= %s + AND commit_date <= %s + ORDER BY commit_date DESC; + """, [start_date, end_date]) + return Raw.dictfetchall(cur) + + @staticmethod + def get_reupg_by_dates_and_recipes(start_date, end_date, recipes_id): + recipes = str(recipes_id).strip('[]') + + cur = connection.cursor() + qry = """SELECT DISTINCT recipe_id + FROM rrs_RecipeUpgrade""" + qry += "\nWHERE commit_date >= '%s'" % str(start_date) + qry += "\nAND commit_date <= '%s'" % str(end_date) + qry += "\nAND recipe_id IN (%s);" % recipes + cur.execute(qry) + return Raw.dictfetchall(cur) + + @staticmethod def dictfetchall(cursor): "Returns all rows from a cursor as a dict" desc = cursor.description |