Changeset 434

Show
Ignore:
Timestamp:
Tue Jul 17 21:03:48 2007
Author:
djfroofy
Message:

- bump

Files:

Legend:

Unmodified
Added
Removed
Modified
  • subprojects/Wuming/trunk/wuming/test/test_web.py

    r429 r434  
    27 27 testRoot = TestRoot()  
    28 28  
    29    
    30   def assertResponse(response, code, data):  
    31       assert response.code == code  
    32       assert response.stream == (data,)  
    33    
    34 29 class BaseResourceTest(web2test.BaseCase):  
    35 30      
  • subprojects/Wuming/trunk/wuming/web.py

    r433 r434  
    7 7  
    8 8 from wuming.admin import start_modrebuilder  
    9   from wuming.interfaces import ITemplateResource, ITemplate, ITemplateLoader  
      9 from wuming.interfaces import ITemplateResource, ITemplate, ITemplateLoader, ITemplateGuessingStrategy  
    9 9  
    10 10 from zope.interface import Interface, Attribute, implements  
     
    34 34  
    35 35  
      36  
    36 37 class RequestContext(object):  
    37 38     pass  
    38 39  
      40  
      41 class DryTemplateGuessingStrategy(object):  
      42     """  
      43     >>> from zope.interface.verify import verifyClass, verifyObject  
      44     >>> verifyClass(ITemplateGuessingStrategy, DryTemplateGuessingStrategy)  
      45     True  
      46     >>> verifyObject(ITemplateGuessingStrategy, DryTemplateGuessingStrategy())  
      47     True  
      48     """  
      49     implements(ITemplateGuessingStrategy)  
      50  
      51     extension = 'xhtml'  
      52      
      53     def templateName(self, resource, request):  
      54         """Example:  
      55         >>> class FooBar:  
      56         ...     pass  
      57         ...  
      58         >>> strat = DryTemplateGuessingStrategy()  
      59         >>> strat.templateName(FooBar(), None)  
      60         'foo_bar.xhtml'  
      61         """  
      62         n = resource.__class__.__name__  
      63         return n[0].lower() + ''.join([ (c, '_%s' % c.lower())[c.isupper()]  
      64             for c in n[1:]]) + '.' + self.extension  
      65          
      66  
      67  
    39 68 class TemplateResource(BaseResource):  
    40 69     """A template resource implements ITemplateResource  
     
    51 80     template = None  
    52 81     templateLoader = None  
      82     templateGuessingStrategy = DryTemplateGuessingStrategy()  
    53 83  
    54 84     # XXX  
     
    68 98         request.context.view = self  
    69 99         request.root = self  
      100         tpl = self.template  
      101         if tpl is None:  
      102             tpl = templateGuessingStrategy.templateName(self, request)  
    70 103         ctx = { 'request' : request, 'view' : self, 'context' : request.context }  
    71 104         ctx.update(self.render_context(request))  
    72           return self.templateLoader.loadTemplate(self.template).addCallback(  
      105         return self.templateLoader.loadTemplate(tpl).addCallback(  
    72 105                 self._render, ctx).addErrback(self._err)  
    73 106  
     
    94 127         under the name view  
    95 128         """  
    96           #  
    97           #request.view = self  
    98           #return { 'request' : request }  
    99 129         return {}  
    100 130  
     
    102 132 application = None  
    103 133  
    104   def getCookie(request, name):  
    105       for cookie in request.headers.getHeader('cookie', []):  
    106           if cookie.name == name:  
    107               return cookie  
    108    
    109   def setCookie(response, cookie):  
    110       response.headers.setHeader('Set-Cookie', (cookie,))  
    111       return response  
    112    
    113 134 # Test  
    114 135 def _builtin():  
  • subprojects/Wuming/trunk/wuming/auth.py

    r429 r434  
      1 # -*- test-case-name: wuming.test.test_auth -*-  
    1 2 # Simple web authentication system  
    2 3  
    3   from wuming.web import getCookie, setCookie  
    4    
    5 4 from zope.interface import Interface, Attribute, implements, classImplements  
    6 5  
     
    58 57  
    59 58  
      59 def getCookie(request, name):  
      60     for cookie in request.headers.getHeader('cookie', []):  
      61         if cookie.name == name:  
      62             return cookie  
      63  
      64 def setCookie(response, cookie):  
      65     response.headers.setHeader('Set-Cookie', (cookie,))  
      66     return response  
      67  
    60 68 ##########################################################################  
    61 69 #### Example follows:  
     
    136 144 __all__ = [ 'IAnonymousRequest', 'AnonymousRequest', 'BaseRequestChecker', 'AuthResource',  
    137 145         'INamelessVisitor', 'NamelessVisitor', 'NamelessVisitorCookieChecker', 'VisitorRealm',  
    138           'IIdStore', 'InMemoryIdStoreDontUse']  
      146         'IIdStore', 'InMemoryIdStoreDontUse', 'getCookie', 'setCookie']  
    138 146  
    139 147 if __name__ == '__builtin__':  
  • subprojects/Wuming/trunk/wuming/interfaces.py

    r423 r434  
    25 25     templateLoader = Attribute("ITemplateLoader instance")  
    26 26     template = Attribute("Name of template")  
      27     templateGuessingStrategy = Attribute("Optional template guessing strategy")  
    27 28  
    28 29     def render_context(request):  
     
    30 31         """  
    31 32  
      33 class ITemplateGuessingStrategy(Interface):  
      34     """TemplateResource can define a template guessing strategy to resolve  
      35     a possible template for the resource.  
      36     """  
      37     def templateName(resource, request):  
      38         """Guess the name of the template  
      39         """  
      40  
    32 41 class ITranslator(Interface):  
    33 42     """A translator somehow transalates a string to a different language.