コード例 #1
0
ファイル: static.py プロジェクト: thruflo/weblayer
  .. _`paste.reloader`: http://pythonpaste.org/modules/reloader.html
"""

__all__ = ["MemoryCachedStaticURLGenerator"]

import logging
from os.path import join

from zope.component import adapts
from zope.interface import implements

from interfaces import IRequest, ISettings, IStaticURLGenerator
from settings import require_setting
from utils import generate_hash

require_setting("static_files_path")
require_setting("static_url_prefix", default=u"/static/")


class MemoryCachedStaticURLGenerator(object):
    """ Adapter to generate static URLs from a request.
    """

    _cache = {}

    adapts(IRequest, ISettings)
    implements(IStaticURLGenerator)

    def __init__(self, request, settings, join_path_=None, open_file_=None, generate_hash_=None):
        """ ``request.host_url`` is available as ``self._host_url``::
          
コード例 #2
0
ファイル: static.py プロジェクト: pebsconsulting/weblayer
  .. _`paste.reloader`: http://pythonpaste.org/modules/reloader.html
"""

__all__ = ['MemoryCachedStaticURLGenerator']

import logging
from os.path import join

from zope.component import adapts
from zope.interface import implements

from interfaces import IRequest, ISettings, IStaticURLGenerator
from settings import require_setting
from utils import generate_hash

require_setting('static_files_path')
require_setting('static_url_prefix', default=u'/static/')


class MemoryCachedStaticURLGenerator(object):
    """ Adapter to generate static URLs from a request.
    """

    _cache = {}

    adapts(IRequest, ISettings)
    implements(IStaticURLGenerator)

    def __init__(self,
                 request,
                 settings,
コード例 #3
0
from zope.component import adapts
from zope.interface import implements

from mako.lookup import TemplateLookup

from interfaces import ISettings, ITemplateRenderer
from settings import require_setting

DEFAULT_BUILT_INS = {
    "escape": utils.xhtml_escape,
    "url_escape": utils.url_escape,
    "json_encode": utils.json_encode,
    "datetime": datetime
}

require_setting('template_directories')

class MakoTemplateRenderer(object):
    """ `Mako <http://www.makotemplates.org/>`_ template renderer.
    """
    
    adapts(ISettings)
    implements(ITemplateRenderer)
    
    def __init__(
            self, 
            settings,
            built_ins=None,
            template_lookup_class=None,
            module_directory='/tmp/mako_modules',
            input_encoding='utf-8', 
コード例 #4
0
from zope.component import adapts
from zope.interface import implements

from mako.lookup import TemplateLookup

from interfaces import ISettings, ITemplateRenderer
from settings import require_setting

DEFAULT_BUILT_INS = {
    "escape": utils.xhtml_escape,
    "url_escape": utils.url_escape,
    "json_encode": utils.json_encode,
    "datetime": datetime
}

require_setting('template_directories')


class MakoTemplateRenderer(object):
    """ `Mako <http://www.makotemplates.org/>`_ template renderer.
    """

    adapts(ISettings)
    implements(ITemplateRenderer)

    def __init__(self,
                 settings,
                 built_ins=None,
                 template_lookup_class=None,
                 module_directory='/tmp/mako_modules',
                 input_encoding='utf-8',
コード例 #5
0
ファイル: request.py プロジェクト: pebsconsulting/weblayer
from zope.component import adapts
from zope.interface import implements

from component import registry

from interfaces import IRequest, IResponse, IRequestHandler
from interfaces import ISettings
from interfaces import ITemplateRenderer, IStaticURLGenerator
from interfaces import IAuthenticationManager, ISecureCookieWrapper
from interfaces import IMethodSelector, IResponseNormaliser

from settings import require_setting
from utils import encode_to_utf8, generate_hash, xhtml_escape

require_setting('check_xsrf', default=True)


class XSRFError(ValueError):
    """ Raised when xsrf validation fails.
    """


class BaseHandler(object):
    """ A request handler (aka view class) implementation.
    """

    adapts(IRequest, IResponse, ISettings)
    implements(IRequestHandler)

    check_xsrf = True
コード例 #6
0
from zope.component import adapts
from zope.interface import implements

from component import registry

from interfaces import IRequest, IResponse, IRequestHandler
from interfaces import ISettings
from interfaces import ITemplateRenderer, IStaticURLGenerator
from interfaces import IAuthenticationManager, ISecureCookieWrapper
from interfaces import IMethodSelector, IResponseNormaliser

from settings import require_setting
from utils import encode_to_utf8, generate_hash, xhtml_escape

require_setting('check_xsrf', default=True)

class XSRFError(ValueError):
    """ Raised when xsrf validation fails.
    """
    

class BaseHandler(object):
    """ A request handler (aka view class) implementation.
    """
    
    adapts(IRequest, IResponse, ISettings)
    implements(IRequestHandler)
    
    check_xsrf = True
    
コード例 #7
0
import base64
import datetime
import hashlib
import hmac
import logging
import time

from zope.component import adapts
from zope.interface import implements

from interfaces import IRequest, IResponse, ISettings
from interfaces import ISecureCookieWrapper
from settings import require_setting
from utils import encode_to_utf8

require_setting('cookie_secret', help='a long, random sequence of bytes')

def _time_independent_equals(a, b):
    """ Logically equal to ``a == b``::
      
          >>> _time_independent_equals('a', 'a')
          True
          >>> _time_independent_equals('b', u'b')
          True
          >>> _time_independent_equals('a', 'b')
          False
          >>> _time_independent_equals('abc', 'acb')
          False
      
      As long as you give it ``basestring``s::