From: gfawcett Date: Fri, 21 Nov 2008 00:13:56 +0000 (+0000) Subject: minor refactoring and docification of genshi support X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=3b386d5383b1897022182a3ba59a4476dc876c7f;p=syrup%2Fmasslnc.git minor refactoring and docification of genshi support git-svn-id: svn://svn.open-ils.org/ILS-Contrib/servres/trunk@38 6d9bc8c9-1ec2-4278-b937-99fde70a366f --- diff --git a/conifer/genshi_namespace.py b/conifer/genshi_namespace.py index eb91cd8..495003a 100644 --- a/conifer/genshi_namespace.py +++ b/conifer/genshi_namespace.py @@ -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 + diff --git a/conifer/genshi_support.py b/conifer/genshi_support.py index e62c2a0..baa3a8e 100644 --- a/conifer/genshi_support.py +++ b/conifer/genshi_support.py @@ -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')) diff --git a/conifer/syrup/models.py b/conifer/syrup/models.py index 0c203d8..fe54922 100644 --- a/conifer/syrup/models.py +++ b/conifer/syrup/models.py @@ -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)