コード例 #1
0
ファイル: publish.py プロジェクト: cryofrost/Plone
from ZPublisher.Publish import *

from marmoset_patch import marmoset_patch


def _original_publish(request, module_name, after_list, debug=0,
            # Optimize:
            call_object=call_object,
            missing_name=missing_name,
            dont_publish_class=dont_publish_class,
            mapply=mapply,
            ):
    pass


marmoset_patch(_original_publish, Publish.publish,
               extra_globals=Publish.publish.func_globals)


def _patched_processInputs(self):
    from urlparse import urlparse

    marker = object()
    self.__old__processInputs()
    ca = self.get('CANCEL_ACTION', marker)
    if ca is not marker:
        # Relative URLs aren't part of the spec, but are accepted by some
        # browsers.
        for part, base in zip(urlparse(ca)[:3], urlparse(self['BASE1'])[:3]):
            if not part:
                continue
            if not part.startswith(base):
コード例 #2
0
ファイル: cb_decode.py プロジェクト: cryofrost/Plone
from marshal import loads
from urllib import unquote

from OFS import CopySupport

from marmoset_patch import marmoset_patch


def _cb_decode(s, maxsize=8192):
    import zlib

    dec = zlib.decompressobj()
    data = dec.decompress(unquote(s), maxsize)
    if dec.unconsumed_tail:
        raise ValueError
    del dec

    return loads(data)


marmoset_patch(CopySupport._cb_decode, _cb_decode)