move sanitizing rule queries into db module
[mygpo.git] / mygpo / db / couchdb / common.py
blob04636d4874846d5b51f1eafb0d617d61ea1f8c07
1 from mygpo.core.models import SanitizingRule
2 from mygpo.cache import cache_result
5 class SanitizingRuleStub(object):
6 pass
9 @cache_result(timeout=60*60)
10 def sanitizingrules_by_obj_type(obj_type):
11 r = SanitizingRule.view('sanitizing_rules/by_target',
12 include_docs = True,
13 startkey = [obj_type, None],
14 endkey = [obj_type, {}],
17 for rule in r:
18 obj = SanitizingRuleStub()
19 obj.slug = rule.slug
20 obj.applies_to = list(rule.applies_to)
21 obj.search = rule.search
22 obj.replace = rule.replace
23 obj.priority = rule.priority
24 obj.description = rule.description
25 yield obj
28 @cache_result(timeout=60*60)
29 def sanitizingrule_for_slug(slug):
30 r = SanitizingRule.view('sanitizing_rules/by_slug',
31 include_docs=True,
32 key=slug,
35 return r.one() if r else None