summaryrefslogtreecommitdiffstats
path: root/utils
diff options
context:
space:
mode:
Diffstat (limited to 'utils')
-rw-r--r--utils/filters.py14
1 files changed, 13 insertions, 1 deletions
diff --git a/utils/filters.py b/utils/filters.py
index 2469419..22c9f7d 100644
--- a/utils/filters.py
+++ b/utils/filters.py
@@ -1,8 +1,20 @@
+def group_by_year(objs):
+ entries = {}
+ for obj in objs:
+ year = obj.date.strftime('%Y')
+
+ try:
+ entries[year].append(obj)
+ except:
+ entries[year] = [obj]
+
+ return entries
+
def filter_by_attr(objs, attr):
return filter(lambda x: hasattr(x,attr), objs)
def filter_by_path(objs, value):
return filter(lambda page: page.path.startswith(value), objs)
-filters = [filter_by_attr, filter_by_path]
+filters = [filter_by_attr, filter_by_path, group_by_year]