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):
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)