本文整理汇总了Python中urlobject.URLObject.del_query_param方法的典型用法代码示例。如果您正苦于以下问题:Python URLObject.del_query_param方法的具体用法?Python URLObject.del_query_param怎么用?Python URLObject.del_query_param使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类urlobject.URLObject
的用法示例。
在下文中一共展示了URLObject.del_query_param方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: process_request
# 需要导入模块: from urlobject import URLObject [as 别名]
# 或者: from urlobject.URLObject import del_query_param [as 别名]
def process_request(self, request):
token = request.GET.get(self.param_name)
if not token:
return
redirect_url = URLObject(request.get_full_path())
redirect_url = redirect_url.del_query_param(self.param_name)
response = redirect(unicode(redirect_url))
try:
token_data = tempus_loads(token, max_age=self.max_age)
tempus = getattr(request, 'tempus', None)
if tempus:
current_tempus = tempus.copy()
current_tempus.update(token_data)
request.tempus = current_tempus
else:
request.tempus = token_data
except SignatureExpired:
value = self.__process_func(request, 'expired_func')
if value:
return value
except BadSignature:
value = self.__process_func(request, 'unsuccess_func')
if value:
return value
else:
value = self.__process_func(request, 'success_func')
if value:
return value
add_never_cache_headers(response)
return response
示例2: modify_url_
# 需要导入模块: from urlobject import URLObject [as 别名]
# 或者: from urlobject.URLObject import del_query_param [as 别名]
def modify_url_(url, operation, *args):
"""
Враппер для функций модуля urlobject
https://urlobject.readthedocs.org/en/latest/quickstart.html
Назначение: разобрать текщий URL, поменять какую-то его часть и вернуть модифицированный URL в виде строки
Например: modify_url(some_url, 'del_query_param', 'page') уберет пейджинг из запроса
Возвращает URL без домена
"""
if not operation:
return url
url = URLObject(url)
if operation.endswith('_np'):
url = url.del_query_param('page')
operation = operation[0:-3]
op = getattr(url, operation, None)
if callable(op):
return text_type(op(*args))
raise Exception('%s is incorrect function name for urlobject.URLObject' % operation)
示例3: process_request
# 需要导入模块: from urlobject import URLObject [as 别名]
# 或者: from urlobject.URLObject import del_query_param [as 别名]
def process_request(self, request):
token = request.GET.get(self.param_name)
if not token:
return
redirect_url = URLObject(request.get_full_path())
redirect_url = redirect_url.del_query_param(self.param_name)
response = redirect(unicode(redirect_url))
try:
token_data = tempus_loads(token, max_age=self.max_age)
except SignatureExpired:
expired_func = getattr(self, 'expired_func')
if expired_func:
expired_func(request, token_data)
except BadSignature:
return response
else:
self.success_func(request, token_data)
add_never_cache_headers(response)
return response
示例4: URLObjectModificationTest
# 需要导入模块: from urlobject import URLObject [as 别名]
# 或者: from urlobject.URLObject import del_query_param [as 别名]
#.........这里部分代码省略.........
assert (self.url.with_port(24) ==
'https://github.com:24/zacharyvoase/urlobject?spam=eggs#foo')
def test_with_port_replaces_port_number(self):
url = URLObject('https://github.com:59/')
assert url.with_port(67) == 'https://github.com:67/'
def test_without_port_removes_port_number(self):
url = URLObject('https://github.com:59/')
assert url.without_port() == 'https://github.com/'
def test_with_path_replaces_path(self):
assert (self.url.with_path('/dvxhouse/intessa') ==
'https://github.com/dvxhouse/intessa?spam=eggs#foo')
def test_root_goes_to_root_path(self):
assert self.url.root == 'https://github.com/?spam=eggs#foo'
def test_parent_jumps_up_one_level(self):
url = URLObject('https://github.com/zacharyvoase/urlobject')
assert url.parent == 'https://github.com/zacharyvoase/'
assert url.parent.parent == 'https://github.com/'
def test_add_path_segment_adds_a_path_segment(self):
url = URLObject('https://github.com/zacharyvoase/urlobject')
assert (url.add_path_segment('tree') ==
'https://github.com/zacharyvoase/urlobject/tree')
assert (url.add_path_segment('tree/master') ==
'https://github.com/zacharyvoase/urlobject/tree%2Fmaster')
def test_add_path_adds_a_partial_path(self):
url = URLObject('https://github.com/zacharyvoase/urlobject')
assert (url.add_path('tree') ==
'https://github.com/zacharyvoase/urlobject/tree')
assert (url.add_path('tree/master') ==
'https://github.com/zacharyvoase/urlobject/tree/master')
def test_is_leaf(self):
assert URLObject('https://github.com/zacharyvoase/urlobject').is_leaf
assert not URLObject('https://github.com/zacharyvoase/').is_leaf
def test_with_query_replaces_query(self):
assert (self.url.with_query('spam-ham-eggs') ==
'https://github.com/zacharyvoase/urlobject?spam-ham-eggs#foo')
def test_without_query_removes_query(self):
assert (self.url.without_query() ==
'https://github.com/zacharyvoase/urlobject#foo')
def test_add_query_param_adds_one_query_parameter(self):
assert (self.url.add_query_param('spam', 'ham') ==
'https://github.com/zacharyvoase/urlobject?spam=eggs&spam=ham#foo')
def test_add_query_params_adds_multiple_query_parameters(self):
assert (self.url.add_query_params([('spam', 'ham'), ('foo', 'bar')]) ==
'https://github.com/zacharyvoase/urlobject?spam=eggs&spam=ham&foo=bar#foo')
def test_add_query_params_with_multiple_values_adds_the_same_query_parameter_multiple_times(self):
assert (self.url.add_query_params({'foo': ['bar', 'baz']}) ==
'https://github.com/zacharyvoase/urlobject?spam=eggs&foo=bar&foo=baz#foo')
def test_set_query_param_adds_or_replaces_one_query_parameter(self):
assert (self.url.set_query_param('spam', 'ham') ==
'https://github.com/zacharyvoase/urlobject?spam=ham#foo')
def test_set_query_params_adds_or_replaces_multiple_query_parameters(self):
assert (self.url.set_query_params({'foo': 'bar'}, spam='ham') ==
'https://github.com/zacharyvoase/urlobject?foo=bar&spam=ham#foo')
def test_set_query_params_with_multiple_values_adds_or_replaces_the_same_parameter_multiple_times(self):
assert (self.url.set_query_params({'spam': ['bar', 'baz']}) ==
'https://github.com/zacharyvoase/urlobject?spam=bar&spam=baz#foo')
assert (self.url.set_query_params({'foo': ['bar', 'baz']}) ==
'https://github.com/zacharyvoase/urlobject?spam=eggs&foo=bar&foo=baz#foo')
# Ensure it removes all appearances of an existing name before adding
# the new ones.
url = URLObject('https://github.com/zacharyvoase/urlobject?foo=bar&foo=baz#foo')
assert (url.set_query_params({'foo': ['spam', 'ham']}) ==
'https://github.com/zacharyvoase/urlobject?foo=spam&foo=ham#foo')
def test_del_query_param_removes_one_query_parameter(self):
assert (self.url.del_query_param('spam') ==
'https://github.com/zacharyvoase/urlobject#foo')
def test_del_query_params_removes_multiple_query_parameters(self):
url = URLObject('https://github.com/zacharyvoase/urlobject?foo=bar&baz=spam#foo')
assert (url.del_query_params(['foo', 'baz']) ==
'https://github.com/zacharyvoase/urlobject#foo')
def test_with_fragment_replaces_fragment(self):
assert (self.url.with_fragment('part') ==
'https://github.com/zacharyvoase/urlobject?spam=eggs#part')
def test_with_fragment_encodes_fragment_correctly(self):
assert (self.url.with_fragment('foo bar#baz') ==
'https://github.com/zacharyvoase/urlobject?spam=eggs#foo%20bar%23baz')
def test_without_fragment_removes_fragment(self):
assert (self.url.without_fragment() ==
'https://github.com/zacharyvoase/urlobject?spam=eggs')
示例5: SpurlURLBuilder
# 需要导入模块: from urlobject import URLObject [as 别名]
# 或者: from urlobject.URLObject import del_query_param [as 别名]
class SpurlURLBuilder(object):
def __init__(self, args, context, tags, filters):
self.args = args
self.context = context
self.tags = tags
self.filters = filters
self.autoescape = self.context.autoescape
self.url = URLObject()
def build(self):
for argument, value in self.args:
self.handle_argument(argument, value)
self.set_sensible_defaults()
url = six.text_type(self.url)
if self.autoescape:
url = escape(url)
return url
def handle_argument(self, argument, value):
argument = smart_str(argument, 'ascii')
handler_name = 'handle_%s' % argument
handler = getattr(self, handler_name, None)
if handler is not None:
value = value.resolve(self.context)
handler(value)
def handle_base(self, value):
base = self.prepare_value(value)
self.url = URLObject(base)
def handle_auth(self, value):
auth = self.prepare_value(value)
self.url = self.url.with_auth(*auth.split(':', 1))
def handle_secure(self, value):
is_secure = convert_to_boolean(value)
scheme = 'https' if is_secure else 'http'
self.url = self.url.with_scheme(scheme)
def handle_query(self, value):
query = self.prepare_value(value)
if isinstance(query, dict):
query = QueryString().set_params(**query)
self.url = self.url.with_query(QueryString(query))
def handle_query_from(self, value):
url = URLObject(value)
self.url = self.url.with_query(url.query)
def handle_add_query(self, value):
query_to_add = self.prepare_value(value)
if isinstance(query_to_add, six.string_types):
query_to_add = QueryString(query_to_add).dict
self.url = self.url.add_query_params(**query_to_add)
def handle_add_query_from(self, value):
url = URLObject(value)
self.url = self.url.add_query_params(**url.query.dict)
def handle_set_query(self, value):
query_to_set = self.prepare_value(value)
if isinstance(query_to_set, six.string_types):
query_to_set = QueryString(query_to_set).dict
self.url = self.url.set_query_params(**query_to_set)
def handle_set_query_from(self, value):
url = URLObject(value)
self.url = self.url.set_query_params(**url.query.dict)
def handle_remove_query_param(self, value):
query_to_remove = self.prepare_value(value)
self.url = self.url.del_query_param(query_to_remove)
def handle_toggle_query(self, value):
query_to_toggle = self.prepare_value(value)
if isinstance(query_to_toggle, six.string_types):
query_to_toggle = QueryString(query_to_toggle).dict
current_query = self.url.query.dict
for key, value in list(query_to_toggle.items()):
if isinstance(value, six.string_types):
value = value.split(',')
first, second = value
if key in current_query and first in current_query[key]:
self.url = self.url.set_query_param(key, second)
else:
self.url = self.url.set_query_param(key, first)
def handle_scheme(self, value):
self.url = self.url.with_scheme(value)
def handle_scheme_from(self, value):
url = URLObject(value)
self.url = self.url.with_scheme(url.scheme)
#.........这里部分代码省略.........
示例6: SpurlURLBuilder
# 需要导入模块: from urlobject import URLObject [as 别名]
# 或者: from urlobject.URLObject import del_query_param [as 别名]
class SpurlURLBuilder(object):
def __init__(self, args, context, tags, filters):
self.args = args
self.context = context
self.tags = tags
self.filters = filters
self.autoescape = self.context.autoescape
self.url = URLObject()
def build(self):
for argument, value in self.args:
self.handle_argument(argument, value)
try:
self.set_sensible_defaults()
url = unicode(self.url)
if self.autoescape:
url = escape(url)
url = url.replace('%20', '+')
url = url.replace('%2C', ',')
url = url.replace('&', '&')
except Exception as e:
url = self.url
return url
def handle_argument(self, argument, value):
argument = smart_str(argument, 'ascii')
handler_name = 'handle_%s' % argument
handler = getattr(self, handler_name, None)
if handler is not None:
value = value.resolve(self.context)
handler(value)
def handle_base(self, value):
base = self.prepare_value(value)
self.url = URLObject(base)
def handle_secure(self, value):
is_secure = convert_to_boolean(value)
scheme = 'https' if is_secure else 'http'
self.url = self.url.with_scheme(scheme)
def handle_query(self, value):
query = self.prepare_value(value)
if isinstance(query, dict):
query = QueryString().set_params(**query)
self.url = self.url.with_query(QueryString(query))
def handle_query_from(self, value):
url = URLObject(value)
self.url = self.url.with_query(url.query)
def handle_add_query(self, value):
query_to_add = self.prepare_value(value)
if isinstance(query_to_add, basestring):
query_to_add = QueryString(query_to_add).dict
self.url = self.url.add_query_params(**query_to_add)
def handle_add_query_from(self, value):
url = URLObject(value)
self.url = self.url.add_query_params(**url.query.dict)
def handle_set_query(self, value):
query_to_set = self.prepare_value(value)
if isinstance(query_to_set, basestring):
query_to_set = QueryString(query_to_set).dict
self.url = self.url.set_query_params(**query_to_set)
def handle_active_query(self, value):
query_to_toggle = self.prepare_value(value)
if isinstance(query_to_toggle, basestring):
query_to_toggle = QueryString(query_to_toggle).dict
current_query = self.url.query.dict
for key, value in query_to_toggle.items():
if key in current_query and value in current_query[key]:
self.url = True
else:
self.url = False
def handle_set_query_from(self, value):
url = URLObject(value)
self.url = self.url.set_query_params(**url.query.dict)
def handle_remove_query_param(self, value):
self.url = self.url.del_query_param(value)
#.........这里部分代码省略.........