minor refactoring and docification of genshi support
authorgfawcett <gfawcett@6d9bc8c9-1ec2-4278-b937-99fde70a366f>
Fri, 21 Nov 2008 00:13:56 +0000 (00:13 +0000)
committergfawcett <gfawcett@6d9bc8c9-1ec2-4278-b937-99fde70a366f>
Fri, 21 Nov 2008 00:13:56 +0000 (00:13 +0000)
git-svn-id: svn://svn.open-ils.org/ILS-Contrib/servres/trunk@38 6d9bc8c9-1ec2-4278-b937-99fde70a366f

conifer/genshi_namespace.py
conifer/genshi_support.py
conifer/syrup/models.py

index eb91cd8..495003a 100644 (file)
@@ -1,2 +1,9 @@
-from itertools import cycle, islice # etc.
-from os.path import isfile        # for example
+# genshi_namespace
+
+# Toplevel definitions in this module will be available in when
+# rendering a Genshi template.
+
+from itertools import cycle
+
+from conifer.syrup import models
+
index e62c2a0..baa3a8e 100644 (file)
@@ -5,10 +5,12 @@ from genshi.filters import Translator
 from genshi.builder import tag
 import genshi.output
 from django.conf import settings
-from conifer.syrup import models # fixme, tight binding
 import gettext
 from conifer.middleware.genshi_locals import get_request
 
+#------------------------------------------------------------
+# set up internationalization
+
 if settings.USE_I18N:
     translations = gettext.GNUTranslations(
         file('locale/%s/LC_MESSAGES/conifer-syrup.mo' % settings.LANGUAGE_CODE))
@@ -20,6 +22,7 @@ def template_loaded(template):
     if settings.USE_I18N:
         template.filters.insert(0, Translator(translations.ugettext))
 
+
 dirs = ['templates']
 
 loader = TemplateLoader(dirs, auto_reload=True, callback=template_loaded)
@@ -27,14 +30,17 @@ loader = TemplateLoader(dirs, auto_reload=True, callback=template_loaded)
 def template(tname):
     return loader.load(tname)
            
-def render(tname, **kwargs):
-    request = get_request()
-    _inject_django_things_into_namespace(request, kwargs)
-    return HttpResponse(template(tname).generate(**kwargs).render('xhtml'))
 
 def _inject_django_things_into_namespace(request, ns):
     ns['_'] = _
-    ns['models'] = models
     ns['request'] = request
     ns['user'] = getattr(request, 'user', None)
     ns.update(genshi_namespace.__dict__)
+
+#------------------------------------------------------------
+# main API
+
+def render(tname, **kwargs):
+    request = get_request()
+    _inject_django_things_into_namespace(request, kwargs)
+    return HttpResponse(template(tname).generate(**kwargs).render('xhtml'))
index 0c203d8..fe54922 100644 (file)
@@ -22,6 +22,7 @@ for k,v in [(k,v) for k,v in UserExtensionHack.__dict__.items() \
                 if not k.startswith('_')]:
     setattr(User, k, v)
 
+
 class UserProfile(m.Model):
     user         = m.ForeignKey(User, unique=True)
     home_phone   = m.CharField(max_length=100, blank=True)