本文整理汇总了Python中rbtools.api.request.HttpRequest.add_field方法的典型用法代码示例。如果您正苦于以下问题:Python HttpRequest.add_field方法的具体用法?Python HttpRequest.add_field怎么用?Python HttpRequest.add_field使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类rbtools.api.request.HttpRequest
的用法示例。
在下文中一共展示了HttpRequest.add_field方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _update
# 需要导入模块: from rbtools.api.request import HttpRequest [as 别名]
# 或者: from rbtools.api.request.HttpRequest import add_field [as 别名]
def _update(resource, data=None, query_args={}, *args, **kwargs):
"""Generate a PUT request on a resource.
Unlike other methods, any additional query args must be passed in
using the 'query_args' parameter, since kwargs is used for the
fields which will be sent.
Review Board expects ``extra_data`` fields to be sent as
``extra_data.field_name``, which cannot be passed as a raw literal in
Python. Fields like this would have to be added to a dict and splatted.
However, this function also accepts keyword arguments of the form
``extra_data__field_name``, which will be rewritten to fields of the form
``extra_data.field_name``.
"""
request = HttpRequest(resource._links['update']['href'], method='PUT',
query_args=query_args)
if data is None:
data = {}
kwargs.update(data)
for name, value in _preprocess_fields(kwargs):
request.add_field(name, value)
return request
示例2: upload_attachment
# 需要导入模块: from rbtools.api.request import HttpRequest [as 别名]
# 或者: from rbtools.api.request.HttpRequest import add_field [as 别名]
def upload_attachment(self, filename, content, caption=None, **kwargs):
"""Uploads a new attachment.
The content argument should contain the body of the file to be
uploaded, in string format.
"""
request = HttpRequest(self._url, method="POST", query_args=kwargs)
request.add_file("path", filename, content)
if caption:
request.add_field("caption", caption)
return request
示例3: upload_screenshot
# 需要导入模块: from rbtools.api.request import HttpRequest [as 别名]
# 或者: from rbtools.api.request.HttpRequest import add_field [as 别名]
def upload_screenshot(self, filename, content, caption=None, **kwargs):
"""Uploads a new screenshot.
The content argument should contain the body of the screenshot
to be uploaded, in string format.
"""
request = HttpRequest(self.url, method='POST', query_args=kwargs)
request.add_file('path', filename, content)
if caption:
request.add_field('caption', caption)
return request
示例4: test_post_form_data
# 需要导入模块: from rbtools.api.request import HttpRequest [as 别名]
# 或者: from rbtools.api.request.HttpRequest import add_field [as 别名]
def test_post_form_data(self):
"""Test the multipart form data generation."""
request = HttpRequest('/', 'POST')
request.add_field('foo', 'bar')
request.add_field('bar', 42)
request.add_field('err', 'must-be-deleted')
request.add_field('name', 'somestring')
request.del_field('err')
ctype, content = request.encode_multipart_formdata()
m = re.match('^multipart/form-data; boundary=(.*)$', ctype)
self.assertFalse(m is None)
fields = [l.strip() for l in content.split('--' + m.group(1))][1:-1]
d = {}
for f in fields:
lst = f.split('\r\n\r\n')
self.assertEquals(len(lst), 2)
k, v = lst
m = re.match('Content-Disposition: form-data; name="(.*?)"$', k)
self.assertFalse(m is None)
d[m.group(1)] = v
self.assertEquals(d, {'foo': 'bar', 'bar': '42', 'name': 'somestring'})
示例5: _update
# 需要导入模块: from rbtools.api.request import HttpRequest [as 别名]
# 或者: from rbtools.api.request.HttpRequest import add_field [as 别名]
def _update(resource, data={}, query_args={}, *args, **kwargs):
"""Generate a PUT request on a resource.
Unlike other methods, any additional query args must be passed in
using the 'query_args' parameter, since kwargs is used for the
fields which will be sent.
"""
request = HttpRequest(resource._links['update']['href'], method='PUT',
query_args=query_args)
data.update(kwargs)
for name, value in data.iteritems():
request.add_field(name, value)
return request
示例6: upload_diff
# 需要导入模块: from rbtools.api.request import HttpRequest [as 别名]
# 或者: from rbtools.api.request.HttpRequest import add_field [as 别名]
def upload_diff(self, diff, parent_diff=None, base_dir=None, **kwargs):
"""Uploads a new diff.
The diff and parent_diff arguments should be strings containing
the diff output.
"""
request = HttpRequest(self.url, method='POST', query_args=kwargs)
request.add_file('path', 'diff', diff)
if parent_diff:
request.add_file('parent_diff_path', 'parent_diff', parent_diff)
if base_dir:
request.add_field("basedir", base_dir)
return request
示例7: _update
# 需要导入模块: from rbtools.api.request import HttpRequest [as 别名]
# 或者: from rbtools.api.request.HttpRequest import add_field [as 别名]
def _update(resource, data=None, query_args={}, *args, **kwargs):
"""Generate a PUT request on a resource.
Unlike other methods, any additional query args must be passed in
using the 'query_args' parameter, since kwargs is used for the
fields which will be sent.
"""
request = HttpRequest(resource._links["update"]["href"], method="PUT", query_args=query_args)
if data is None:
data = {}
kwargs.update(data)
for name, value in kwargs.iteritems():
request.add_field(name, value)
return request
示例8: upload_diff
# 需要导入模块: from rbtools.api.request import HttpRequest [as 别名]
# 或者: from rbtools.api.request.HttpRequest import add_field [as 别名]
def upload_diff(self, diff, parent_diff=None, base_dir=None, base_commit_id=None, **kwargs):
"""Uploads a new diff.
The diff and parent_diff arguments should be strings containing
the diff output.
"""
request = HttpRequest(self._url, method="POST", query_args=kwargs)
request.add_file("path", "diff", diff)
if parent_diff:
request.add_file("parent_diff_path", "parent_diff", parent_diff)
if base_dir:
request.add_field("basedir", base_dir)
if base_commit_id:
request.add_field("base_commit_id", base_commit_id)
return request
示例9: finalize_commit_series
# 需要导入模块: from rbtools.api.request import HttpRequest [as 别名]
# 或者: from rbtools.api.request.HttpRequest import add_field [as 别名]
def finalize_commit_series(self, cumulative_diff, validation_info,
parent_diff=None):
"""Finalize a commit series.
Args:
cumulative_diff (bytes):
The cumulative diff of the entire commit series.
validation_info (unicode):
The validation information returned by validatin the last
commit in the series with the
:py:class:`ValidateDiffCommitResource`.
parent_diff (bytes, optional):
An optional parent diff.
This will be the same parent diff uploaded with each commit.
Returns:
DiffItemResource:
The finalized diff resource.
"""
if not isinstance(cumulative_diff, bytes):
raise TypeError('cumulative_diff must be byte string, not %s'
% type(cumulative_diff))
if parent_diff is not None and not isinstance(parent_diff, bytes):
raise TypeError('parent_diff must be byte string, not %s'
% type(cumulative_diff))
request = HttpRequest(self.links['self']['href'],
method='PUT')
request.add_field('finalize_commit_series', True)
request.add_file('cumulative_diff', 'cumulative_diff',
cumulative_diff)
request.add_field('validation_info', validation_info)
if parent_diff is not None:
request.add_file('parent_diff', 'parent_diff', parent_diff)
return request
示例10: create_empty
# 需要导入模块: from rbtools.api.request import HttpRequest [as 别名]
# 或者: from rbtools.api.request.HttpRequest import add_field [as 别名]
def create_empty(self, base_commit_id=None, **kwargs):
"""Create an empty DiffSet that commits can be added to.
Args:
base_commit_id (unicode, optional):
The base commit ID of the diff.
**kwargs (dict):
Keyword arguments to encode into the querystring of the request
URL.
Returns:
DiffItemResource:
The created resource.
"""
request = HttpRequest(self._url, method=b'POST', query_args=kwargs)
if base_commit_id:
request.add_field('base_commit_id', base_commit_id)
return request
示例11: validate_diff
# 需要导入模块: from rbtools.api.request import HttpRequest [as 别名]
# 或者: from rbtools.api.request.HttpRequest import add_field [as 别名]
def validate_diff(self, repository, diff, parent_diff=None,
base_dir=None, **kwargs):
"""Validates a diff.
The diff and parent_diff arguments should be strings containing
the diff output.
"""
# TODO: This method should be unified with upload_diff() method of
# DiffListResource, since they both perform the same operation.
request = HttpRequest(self._url, method='POST', query_args=kwargs)
request.add_field('repository', repository)
request.add_file('path', 'diff', diff)
if parent_diff:
request.add_file('parent_diff_path', 'parent_diff', parent_diff)
if base_dir:
request.add_field('basedir', base_dir)
return request
示例12: prepare_upload_diff_request
# 需要导入模块: from rbtools.api.request import HttpRequest [as 别名]
# 或者: from rbtools.api.request.HttpRequest import add_field [as 别名]
def prepare_upload_diff_request(self, diff, parent_diff=None,
base_dir=None, base_commit_id=None,
**kwargs):
"""Create a request that can be used to upload a diff.
The diff and parent_diff arguments should be strings containing the
diff output.
"""
request = HttpRequest(self._url, method='POST', query_args=kwargs)
request.add_file('path', 'diff', diff)
if parent_diff:
request.add_file('parent_diff_path', 'parent_diff', parent_diff)
if base_dir:
request.add_field('basedir', base_dir)
if base_commit_id:
request.add_field('base_commit_id', base_commit_id)
return request
示例13: validate_commit
# 需要导入模块: from rbtools.api.request import HttpRequest [as 别名]
# 或者: from rbtools.api.request.HttpRequest import add_field [as 别名]
def validate_commit(self, repository, diff, commit_id, parent_id,
parent_diff=None, base_commit_id=None,
validation_info=None, **kwargs):
"""Validate the diff for a commit.
Args:
repository (unicode):
The name of the repository.
diff (bytes):
The contents of the diff to validate.
commit_id (unicode):
The ID of the commit being validated.
parent_id (unicode):
The ID of the parent commit.
parent_diff (bytes, optional):
The contents of the parent diff.
base_commit_id (unicode, optional):
The base commit ID.
validation_info (unicode, optional):
Validation information from a previous call to this resource.
**kwargs (dict):
Keyword arguments used to build the querystring.
Returns:
ValidateDiffCommitResource:
The validation result.
"""
request = HttpRequest(self._url, method=b'POST', query_args=kwargs)
request.add_file('diff', 'diff', diff)
request.add_field('repository', repository)
request.add_field('commit_id', commit_id)
request.add_field('parent_id', parent_id)
if parent_diff:
request.add_file('parent_diff', 'parent_diff', parent_diff)
if base_commit_id:
request.add_field('base_commit_id', base_commit_id)
if validation_info:
request.add_field('validation_info', validation_info)
return request
示例14: upload_diff
# 需要导入模块: from rbtools.api.request import HttpRequest [as 别名]
# 或者: from rbtools.api.request.HttpRequest import add_field [as 别名]
def upload_diff(self, diff, parent_diff=None, base_dir=None,
base_commit_id=None, **kwargs):
"""Uploads a new diff.
The diff and parent_diff arguments should be strings containing
the diff output.
"""
# TODO: This method should be unified with validate_diff() method of
# ValidateDiffResource, since they both perform the same operation.
request = HttpRequest(self._url, method='POST', query_args=kwargs)
request.add_file('path', 'diff', diff)
if parent_diff:
request.add_file('parent_diff_path', 'parent_diff', parent_diff)
if base_dir:
request.add_field("basedir", base_dir)
if base_commit_id:
request.add_field('base_commit_id', base_commit_id)
return request
示例15: test_post_form_data
# 需要导入模块: from rbtools.api.request import HttpRequest [as 别名]
# 或者: from rbtools.api.request.HttpRequest import add_field [as 别名]
def test_post_form_data(self):
"""Testing the multipart form data generation."""
request = HttpRequest('/', 'POST')
request.add_field('foo', 'bar')
request.add_field('bar', 42)
request.add_field('err', 'must-be-deleted')
request.add_field('name', 'somestring')
request.del_field('err')
ctype, content = request.encode_multipart_formdata()
d = self._get_fields_as_dict(ctype, content)
self.assertEqual(
d, {b'foo': b'bar', b'bar': b'42', b'name': b'somestring'})