[Zope] Accessing Zope REQUEST data from a Python module
robert rottermann
robert at redcor.ch
Thu Dec 6 03:06:37 EST 2007
hi ken,
very often you can replace context with self.
so instead of context.REQUEST you use self.REQUEST.
robert
Ken Winter schrieb:
> I'm customizing a product. To do what I'm trying to do, I need to be able
> to access REQUEST data from within a Python module (not a script; a .py file
> containing class and method definitions).
>
>>From within a script, a line like
>
> req = context.REQUEST
>
> does the job just fine. But when I put that line into my product module, I
> get a message like:
>
> Name "context" not defined
>
> and I don't see any way to import that into my module.
>
> At (http://www.plope.com/Books/2_7Edition/AppendixB.stx#0-8), the Zope API
> Reference describes the module "HTTPRequest", which includes the class that
> it calls "HTTPRequest(BaseRequest)", which apparently is the equivalent of
> REQUEST as described above. I have put this line into my module:
>
> from ZPublisher.HTTPRequest import HTTPRequest
>
> but now I don't know how to reference the request's contents. I put in this
> line:
>
> req = HTTPRequest
>
> and print "req" to a debug file, and it shows:
>
> ZPublisher.HTTPRequest.HTTPRequest
>
> which I don't understand. I have tried a half-dozen ways (suggested by the
> Zope API Reference) to get an actual property of the current HTTPRequest,
> but without success. Examples:
>
> req['URL'] -> "TypeError: unsubscriptable object"
> req.get('URL') -> "TypeError: unbound method get() must be called
> with HTTPRequest instance as first argument (got str instance
> instead)"
> req.keys() -> "TypeError: unbound method keys() must be called with
> HTTPRequest instance as first argument (got nothing instead)"
>
> The last two suggest that, while I have successfully imported the
> HTTPRequest *class*, I haven't successfully gotten the current HTTPRequest
> *instance*. I don't know how to do that.
>
> So, I need an answer to any one of these questions:
>
> 1. How can the Zope global name "context" be defined or imported into a
> non-script Python module?
>
> 2. How can one get the current instance of the class "HTTPRequest" into a
> non-script Python module?
>
> 3. If I'm looking in the wrong direction, what is the right way to make the
> current REQUEST's data available in a non-script Python module?
>
> ~ TIA
> ~ Ken
>
>
> _______________________________________________
> Zope maillist - Zope at zope.org
> http://mail.zope.org/mailman/listinfo/zope
> ** No cross posts or HTML encoding! **
> (Related lists -
> http://mail.zope.org/mailman/listinfo/zope-announce
> http://mail.zope.org/mailman/listinfo/zope-dev )
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: robert.vcf
Type: text/x-vcard
Size: 211 bytes
Desc: not available
Url : http://mail.zope.org/pipermail/zope/attachments/20071206/2415c39b/robert.vcf
More information about the Zope
mailing list