aboutsummaryrefslogtreecommitdiff
path: root/src/web/controllers/article.py
diff options
context:
space:
mode:
authorFrançois Schmidts <francois.schmidts@gmail.com>2015-10-11 12:18:07 +0200
committerFrançois Schmidts <francois.schmidts@gmail.com>2016-01-26 23:46:30 +0100
commit5b7db9398abaacea241d9fcce7885457c562d7fa (patch)
treeef8982202ac7492892ba184c66c67a303c8cc795 /src/web/controllers/article.py
parentassigning categories to feeds and articles (diff)
downloadnewspipe-5b7db9398abaacea241d9fcce7885457c562d7fa.tar.gz
newspipe-5b7db9398abaacea241d9fcce7885457c562d7fa.tar.bz2
newspipe-5b7db9398abaacea241d9fcce7885457c562d7fa.zip
a bit of cleaning, putting code where it belongs
Diffstat (limited to 'src/web/controllers/article.py')
-rw-r--r--src/web/controllers/article.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/web/controllers/article.py b/src/web/controllers/article.py
index 3d8d5c01..72288a09 100644
--- a/src/web/controllers/article.py
+++ b/src/web/controllers/article.py
@@ -1,6 +1,8 @@
import re
import logging
+import sqlalchemy
from sqlalchemy import func
+from collections import Counter
from bootstrap import db
from .abstract import AbstractController
@@ -70,3 +72,22 @@ class ArticleController(AbstractController):
attrs['link'])
return super().create(**attrs)
+
+ def get_history(self, year=None, month=None):
+ """
+ Sort articles by year and month.
+ """
+ articles_counter = Counter()
+ articles = self.read()
+ if year is not None:
+ articles = articles.filter(
+ sqlalchemy.extract('year', Article.date) == year)
+ if month is not None:
+ articles = articles.filter(
+ sqlalchemy.extract('month', Article.date) == month)
+ for article in articles.all():
+ if year is not None:
+ articles_counter[article.date.month] += 1
+ else:
+ articles_counter[article.date.year] += 1
+ return articles_counter, articles
bgstack15