def context_for(self, ident=None, **kwargs):
     key = "&".join(k + "=" +
                    getattr(kwargs[k], 'identifier', str(kwargs[k]))
                    for k in sorted(kwargs.keys()))
     res = self.__ad_hoc_contexts.get(key)
     if res is None:
         if ident:
             ctxid = ident
         else:
             ctxid = self.identifier + '/context_for?' + key
         self.__ad_hoc_contexts[key] = Context.contextualize(
             self.context)(ident=ctxid)
         res = self.__ad_hoc_contexts[key]
     return res
Ejemplo n.º 2
0
 def as_context(self):
     if self.context is not None:
         return Context.contextualize(self.context)(ident=self.make_context_identifier())
     else:
         return Context(ident=self.make_context_identifier())