Modified:
/trunk/rig3serv/misc/TaskList.txt
/trunk/rig3serv/src/rig/site/site_default.py
/trunk/rig3serv/src/rig/sites_settings.py
=======================================
--- /trunk/rig3serv/misc/TaskList.txt Mon Feb 15 10:55:36 2010
+++ /trunk/rig3serv/misc/TaskList.txt Sun Apr 4 12:11:03 2010
@@ -38,8 +38,9 @@
---- Done Version 0.4 ----
-20100215 Template: Fix broken rounded borders on Chrome
-
+20100404 Engine: Add option to exclude some categories from the 'all
index' page
+
+20100215 Template: Fix broken rounded borders on Chrome
20100213 Template: Experiment with per-post sharing links for FB,
Reader/Buzz, Twitter.
20100211 Izu: Youtube tag
=======================================
--- /trunk/rig3serv/src/rig/site/site_default.py Sat Feb 13 09:47:26 2010
+++ /trunk/rig3serv/src/rig/site/site_default.py Sun Apr 4 12:11:03 2010
@@ -265,15 +265,22 @@
# filter relevant items (or all of them if there's no
curr_category)
if curr_category is None:
- relevant_items = items
+ # index_exclude indicates which categories to exclude for
the "all index"
+ use_categories =
self._site_settings.index_exclude.Filter(all_categories)
else:
- relevant_items = []
- for i in items:
- if i.categories:
- for c in i.categories:
- if c == curr_category:
- relevant_items.append(i)
- break
+ # we want only the specified category
+ use_categories = [ curr_category ]
+
+ relevant_items = []
+ for i in items:
+ if i.categories:
+ for c in i.categories:
+ if c in use_categories:
+ relevant_items.append(i)
+ break
+ elif curr_category is None:
+ # item has no category. We accept it by default in
the "all items" page
+ relevant_items.append(i)
if curr_category in self._site_settings.reverse_categories:
# sort by increasing date (thus reverse the name "decreasing
date" order)
=======================================
--- /trunk/rig3serv/src/rig/sites_settings.py Sat Feb 13 23:14:18 2010
+++ /trunk/rig3serv/src/rig/sites_settings.py Sun Apr 4 12:11:03 2010
@@ -221,6 +221,8 @@
- dup_on_realpath(bool): When true, use real path of source entries to
de-dup
*regardless* of the various source settings.
- enable_sharing(bool): When true, add links to share posts to
Facebook, twitter, etc.
+ - index_exclude(str): An inclusion-exclusion list of categories to
exclude from
+ the generic "all recents items" page.
"""
def __init__(self,
public_name="",
@@ -260,7 +262,8 @@
</object>""",
youtube_sx="640",
youtube_sy="385",
- enable_sharing=False
+ enable_sharing=False,
+ index_exclude=IncludeExclude(IncludeExclude.ALL, None)
):
# Note: this is *always* called using the default values defined
in the
# constructor. If you need to change a setting loaded from an RC
file,
@@ -302,6 +305,7 @@
self.youtube_sx = youtube_sx
self.youtube_sy = youtube_sy
self.enable_sharing = self.ParseBool(enable_sharing)
+ self.index_exclude = index_exclude;
def AsDict(self):
"""