Skip to content

Commit

Permalink
branch for i18n work
Browse files Browse the repository at this point in the history
  • Loading branch information
janjaapdriessen committed Jun 28, 2011
1 parent e6e0e54 commit d687b26
Show file tree
Hide file tree
Showing 11 changed files with 225 additions and 0 deletions.
1 change: 1 addition & 0 deletions COPYRIGHT.txt
@@ -0,0 +1 @@
Zope Foundation and Contributors
44 changes: 44 additions & 0 deletions LICENSE.txt
@@ -0,0 +1,44 @@
Zope Public License (ZPL) Version 2.1

A copyright notice accompanies this license document that identifies the
copyright holders.

This license has been certified as open source. It has also been designated as
GPL compatible by the Free Software Foundation (FSF).

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions in source code must retain the accompanying copyright
notice, this list of conditions, and the following disclaimer.

2. Redistributions in binary form must reproduce the accompanying copyright
notice, this list of conditions, and the following disclaimer in the
documentation and/or other materials provided with the distribution.

3. Names of the copyright holders must not be used to endorse or promote
products derived from this software without prior written permission from the
copyright holders.

4. The right to distribute this software or to use it for any purpose does not
give you the right to use Servicemarks (sm) or Trademarks (tm) of the
copyright
holders. Use of them is covered by separate agreement with the copyright
holders.

5. If any files are modified, you must cause the modified files to carry
prominent notices stating that you changed the files and the date of any
change.

Disclaimer

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY EXPRESSED
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
10 changes: 10 additions & 0 deletions README.txt
@@ -0,0 +1,10 @@
==============
zope.errorview
==============

Provides basic HTTP and Browser views for common exceptions.

Refactored from `zope.app.http`_.exception and `zope.app.exception`_.

.. _`zope.app.http`: http://pypi.python.org/pypi/zope.app.http
.. _`zope.app.exception`: http://pypi.python.org/pypi/zope.app.exception
52 changes: 52 additions & 0 deletions bootstrap.py
@@ -0,0 +1,52 @@
##############################################################################
#
# Copyright (c) 2006 Zope Corporation and Contributors.
# All Rights Reserved.
#
# This software is subject to the provisions of the Zope Public License,
# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
# FOR A PARTICULAR PURPOSE.
#
##############################################################################
"""Bootstrap a buildout-based project
Simply run this script in a directory containing a buildout.cfg.
The script accepts buildout command-line options, so you can
use the -c option to specify an alternate configuration file.
$Id$
"""

import os, shutil, sys, tempfile, urllib2

tmpeggs = tempfile.mkdtemp()

ez = {}
exec urllib2.urlopen('http://peak.telecommunity.com/dist/ez_setup.py'
).read() in ez
ez['use_setuptools'](to_dir=tmpeggs, download_delay=0)

import pkg_resources

cmd = 'from setuptools.command.easy_install import main; main()'
if sys.platform == 'win32':
cmd = '"%s"' % cmd # work around spawn lamosity on windows

ws = pkg_resources.working_set
assert os.spawnle(
os.P_WAIT, sys.executable, sys.executable,
'-c', cmd, '-mqNxd', tmpeggs, 'zc.buildout',
dict(os.environ,
PYTHONPATH=
ws.find(pkg_resources.Requirement.parse('setuptools')).location
),
) == 0

ws.add_entry(tmpeggs)
ws.require('zc.buildout')
import zc.buildout.buildout
zc.buildout.buildout.main(sys.argv[1:] + ['bootstrap'])
shutil.rmtree(tmpeggs)
22 changes: 22 additions & 0 deletions buildout.cfg
@@ -0,0 +1,22 @@
[buildout]
extends = http://download.zope.org/zopetoolkit/index/1.1c1/ztk-versions.cfg
develop = .
parts =
test
coverage-test
coverage-report

[test]
recipe = zc.recipe.testrunner
eggs = zope.errorview [browser, test]
defaults = ['--auto-color']

[coverage-test]
<= test
defaults = ['--coverage', '../../coverage']

[coverage-report]
recipe = zc.recipe.egg
eggs = z3c.coverage
scripts = coverage=coverage-report
arguments = ('coverage', 'coverage/report')
8 changes: 8 additions & 0 deletions src/zope/__init__.py
@@ -0,0 +1,8 @@
# this is a namespace package
try:
import pkg_resources
pkg_resources.declare_namespace(__name__)
except ImportError:
import pkgutil
__path__ = pkgutil.extend_path(__path__, __name__)

1 change: 1 addition & 0 deletions src/zope/errorview/__init__.py
@@ -0,0 +1 @@
# a package
28 changes: 28 additions & 0 deletions src/zope/errorview/browser.zcml
@@ -0,0 +1,28 @@
<configure
xmlns="http://namespaces.zope.org/zope"
xmlns:browser="http://namespaces.zope.org/browser">

<include package="zope.browserpage" file="meta.zcml" />
<include package="." file="http.zcml" />

<browser:page
for="zope.interface.common.interfaces.IException"
class=".browser.ExceptionView"
name="index.html"
permission="zope.Public"
/>

<browser:page
for="zope.security.interfaces.IUnauthorized"
class=".browser.UnauthorizedView"
name="index.html"
permission="zope.Public"
/>

<browser:page
for="zope.publisher.interfaces.INotFound"
class=".browser.NotFoundView"
name="index.html"
permission="zope.Public"
/>
</configure>
46 changes: 46 additions & 0 deletions src/zope/errorview/http.zcml
@@ -0,0 +1,46 @@
<configure
xmlns="http://namespaces.zope.org/zope"
xmlns:browser="http://namespaces.zope.org/browser">

<include package="zope.component" file="meta.zcml" />
<include package="zope.publisher" file="meta.zcml" />

<view
factory=".http.ExceptionView"
for="zope.interface.common.interfaces.IException"
type="zope.publisher.interfaces.http.IHTTPRequest"
name="index.html"
permission="zope.Public"
/>

<view
factory=".http.UnauthorizedView"
for="zope.security.interfaces.IUnauthorized"
type="zope.publisher.interfaces.http.IHTTPRequest"
name="index.html"
permission="zope.Public"
/>

<view
factory=".http.TraversalExceptionView"
for="zope.publisher.interfaces.ITraversalException"
type="zope.publisher.interfaces.http.IHTTPRequest"
name="index.html"
permission="zope.Public"
/>

<view
factory=".http.MethodNotAllowedView"
for="zope.publisher.interfaces.http.IMethodNotAllowed"
type="zope.publisher.interfaces.http.IHTTPRequest"
name="index.html"
permission="zope.Public"
/>

<browser:defaultView
for="zope.interface.common.interfaces.IException"
layer="zope.publisher.interfaces.http.IHTTPRequest"
name="index.html"
/>

</configure>
1 change: 1 addition & 0 deletions src/zope/errorview/tests/__init__.py
@@ -0,0 +1 @@
# empty __init__.py file to make this directory into a package
12 changes: 12 additions & 0 deletions src/zope/errorview/tests/ftesting.zcml
@@ -0,0 +1,12 @@
<configure
xmlns="http://namespaces.zope.org/zope"
xmlns:browser="http://namespaces.zope.org/browser">

<include package="zope.errorview" file="browser.zcml" />

<utility
factory='.test_browser.MockAuthenticationUtility'
provides='zope.authentication.interfaces.IAuthentication'
/>

</configure>

0 comments on commit d687b26

Please sign in to comment.