Skip to content
This repository has been archived by the owner on Apr 9, 2019. It is now read-only.

Commit

Permalink
remove use of collective.monkeypatcher, and stop supporting old Zopes
Browse files Browse the repository at this point in the history
  • Loading branch information
davisagli committed May 20, 2012
1 parent c665d7d commit d96f2f5
Show file tree
Hide file tree
Showing 10 changed files with 12 additions and 106 deletions.
3 changes: 3 additions & 0 deletions docs/HISTORY.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ Changelog
0.8 - unreleased
----------------

* Remove backwards-compatibility code for Zope < 2.12
[davisagli]

* Use plone.testing for functional test layer support.
[hannosch]

Expand Down
5 changes: 2 additions & 3 deletions plone/z3cform/__init__.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import zope.i18nmessageid
MessageFactory = zope.i18nmessageid.MessageFactory('plone.z3cform')

# backport bug fixes
from bbb import term
term.apply_patch()
from plone.z3cform.patch import apply_patch
apply_patch()
Empty file removed plone/z3cform/bbb/__init__.py
Empty file.
37 changes: 0 additions & 37 deletions plone/z3cform/bbb/term.py

This file was deleted.

17 changes: 0 additions & 17 deletions plone/z3cform/configure.zcml
Original file line number Diff line number Diff line change
Expand Up @@ -14,23 +14,6 @@

<i18n:registerTranslations directory="locales"/>

<!-- Monkey patch BaseForm/GroupForm's update() to apply Zope 2 input
parameter processing. Without this, we'll get errors because Zope is
sending encoded str's when z3c.form wants decoded unicode's.
-->
<monkey:patch
description="Zope 2 integration - decode form inputs prior to form processing"
class="z3c.form.form.BaseForm"
original="update"
replacement=".patch.BaseForm_update"
/>
<monkey:patch
description="Zope 2 integration - decode form inputs prior to form processing"
class="z3c.form.group.GroupForm"
original="update"
replacement=".patch.GroupForm_update"
/>

<!-- Override the FileUploadDataConverter from z3c.form.
We register it for the class so that it is more specific than the one
registered in z3c.form. This avoids the need for a messy
Expand Down
11 changes: 2 additions & 9 deletions plone/z3cform/layout.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,7 @@

from zope.pagetemplate.interfaces import IPageTemplate

try:
from Products.Five.browser.pagetemplatefile import BoundPageTemplate
HAS_BOUND_PAGETEMPLATE = True
except ImportError:
HAS_BOUND_PAGETEMPLATE = False
from Products.Five.browser.pagetemplatefile import BoundPageTemplate

from plone.z3cform import interfaces
from plone.z3cform import z2
Expand Down Expand Up @@ -84,10 +80,7 @@ def render(self):
if self.index is None:
template = zope.component.getMultiAdapter(
(self, self.request), IPageTemplate)
if HAS_BOUND_PAGETEMPLATE:
return BoundPageTemplate(template, self)()
else:
return template.__of__(self)(self)
return BoundPageTemplate(template, self)()
return self.index()

def label(self):
Expand Down
4 changes: 4 additions & 0 deletions plone/z3cform/patch.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,3 +28,7 @@ def GroupForm_update(self):

processInputs(self.request)
_original_GroupForm_update(self)

def apply_patch():
BaseForm.update = BaseForm_update
GroupForm.update = GroupForm_update
3 changes: 0 additions & 3 deletions plone/z3cform/widget.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,6 @@
import z3c.form.interfaces

class SingleCheckBoxWidget(z3c.form.browser.checkbox.SingleCheckBoxWidget):
"""XXX: We need to refactor this and patch z3c.form where
it makes sense.
"""

def update(self):
self.ignoreContext = True
Expand Down
37 changes: 1 addition & 36 deletions plone/z3cform/z2.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@
from zope.publisher.browser import isCGI_NAME
from zope.publisher.interfaces.browser import IBrowserApplicationRequest

from zope.i18n.interfaces import IUserPreferredLanguages, IUserPreferredCharsets
from zope.i18n.locales import locales, LoadLocaleError
from zope.i18n.interfaces import IUserPreferredCharsets

import z3c.form.interfaces

Expand Down Expand Up @@ -62,34 +61,6 @@ def _decode(text, charsets):
pass
return text

# This is ripped from zope.publisher.http.HTTPRequest; it is only
# necessary in Zope < 2.11
def setup_locale(request):
envadapter = IUserPreferredLanguages(request, None)
if envadapter is None:
return None

langs = envadapter.getPreferredLanguages()
for httplang in langs:
parts = (httplang.split('-') + [None, None])[:3]
try:
return locales.getLocale(*parts)
except LoadLocaleError:
# Just try the next combination
pass
else:
# No combination gave us an existing locale, so use the default,
# which is guaranteed to exist
return locales.getLocale(None, None, None)

# XXX Add a getURL method on the request object; this is only necessary in
# Zope < 2.11
def add_getURL(request):
def getURL(level=0, path_only=False):
assert level == 0 and path_only == False
return request['ACTUAL_URL']
request.getURL = getURL

def switch_on(view, request_layer=z3c.form.interfaces.IFormLayer):
"""Fix up the request and apply the given layer. This is mainly useful
in Zope < 2.10 when using a wrapper layout view.
Expand All @@ -103,9 +74,3 @@ def switch_on(view, request_layer=z3c.form.interfaces.IFormLayer):

interface.alsoProvides(request, IFixedUpRequest)
interface.alsoProvides(request, request_layer)

if getattr(request, 'locale', None) is None:
request.locale = setup_locale(request)

if not hasattr(request, 'getURL'):
add_getURL(request)
1 change: 0 additions & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@ def description():
'zope.i18n>=3.4',
'zope.browserpage',
'zope.component',
'collective.monkeypatcher',
],
extras_require={
'test': ['lxml',
Expand Down

0 comments on commit d96f2f5

Please sign in to comment.