From: Mike Waldner Date: Wed, 24 Aug 2011 02:22:51 +0000 (-0400) Subject: Merge remote-tracking branch 'upstream/develop' into develop X-Git-Tag: v0.8.0~94^2~112^2~12^2~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=68a2954c677c711919633bc19cc3f531fbe7d43b;p=services%2Fpython-requests.git Merge remote-tracking branch 'upstream/develop' into develop --- 68a2954c677c711919633bc19cc3f531fbe7d43b diff --cc requests/models.py index ec18b08,5983c23..7a9ba09 --- a/requests/models.py +++ b/requests/models.py @@@ -328,48 -384,11 +384,47 @@@ class Request(object) return self.sent + @property + def curl(self): + """Creates a curl command from the request""" + + #TODO - Auth with User names and accounts + #TODO - Files + #TODO - OAuth + + #: -L/--location - if there is a redirect, redo request on the new place + curl_cmd = 'curl -L ' + + #: -H/--header - Extra header to use when getting a web page + header = '' + if self.headers: + header = header.join(['-H "' + key + ':' + value + '" ' for key, value in self.headers.iteritems()]) + + if self.method.upper() == 'HEAD': + #: -I/--head - fetch headers only + method_opt = '-I ' + else: + #: -X/--request - specify request method + method_opt = '-X %s ' % self.method.upper() + + data = '' + if self.method in ('PUT', 'POST', 'PATCH'): + #: -d/--data - send specified data in post request. + #: '-d name=John -d last=Doe' generates the + #: post chunk 'name=John&last=Doe' + + if isinstance(self.data, (list, tuple)): + data = data.join(['-d ' + key + '=' + value + ' ' for key, value in self.data]) + else: + data = '-d ' + self._enc_data + ' ' + + #: Params handled in _build_url + return curl_cmd + method_opt + data + header + '"' + self._build_url() + '"' - class Response(object): - """The core :class:`Response ` object. All - :class:`Request ` objects contain a - :class:`response ` attribute, which is an instance + """The core :class:`Response ` object. All + :class:`Request ` objects contain a + :class:`response ` attribute, which is an instance of this class. """