[issue24032] urlparse.urljoin does not add query part

2015-05-13 Thread R. David Murray

Changes by R. David Murray rdmur...@bitdance.com:


--
resolution:  - not a bug
stage:  - resolved
status: open - closed

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue24032
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24032] urlparse.urljoin does not add query part

2015-05-13 Thread Martin Panter

Martin Panter added the comment:

This is not how URL joining is meant to work. For example if the base URL “. . 
./foo.php?param=10” produces a HTML file with a relative link to “bar.php”, the 
parent path should be joined on, but not the query part.

I understand the Python implementation is meant to more or less follow the RFC. 
See the second example at 
https://tools.ietf.org/html/rfc3986.html#section-5.4 which is the same form 
as your case, and shows the query part being removed:

Base URI: http://a/b/c/d;p?q
Relative reference: g
Target URL: http://a/b/c/g;

There are occasionally cases where keeping the base query, or even joining two 
sets of query parameters together, is desirable. But these cases are rare and 
urljoin() is not meant to handle them.

--
nosy: +vadmium

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue24032
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24032] urlparse.urljoin does not add query part

2015-04-22 Thread albertsmuktupavels

New submission from albertsmuktupavels:

From documentation:
Construct a full (“absolute”) URL by combining a “base URL” (base) with 
another URL (url). Informally, this uses components of the base URL, in 
particular the addressing scheme, the network location and (part of) the path, 
to provide missing components in the relative URL.

base = http://www.example.com/example/foo.php?param=10
url = bar.php

I am expecting this result:
http://www.example.com/example/bar.php?param=10

But real result is:
http://www.example.com/example/bar.php

This should be easy fixable. Right now query= bquery is done only in one case - 
when path and params are empty.

I think that
if not query:
query = bquery
should be moved before query might be used for first time. that means above 
code should be right after these lines:
if scheme != bscheme or scheme not in uses_relative:
return url

--
messages: 241827
nosy: albertsmuktupavels
priority: normal
severity: normal
status: open
title: urlparse.urljoin does not add query part
type: behavior
versions: Python 2.7

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue24032
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com