Hi Oliver,<div><br></div><div>I managed to stick it in BaseRequest (optional kwarg, uppercase_keys) which then sets an instance attribute after constructing the params, with a few other changes to expose the config via HTTPClient. My fork is here though its still missing test cases - <a href="https://bitbucket.org/adonm/mapproxy/overview">https://bitbucket.org/adonm/mapproxy/overview</a></div>
<div><br></div><div>1st source had uppercase_keys = true, second didn't =)</div><div><br></div><div><div><font class="Apple-style-span" face="'courier new', monospace"><a href="http://www2.landgate.wa.gov.au">www2.landgate.wa.gov.au</a> - - [29/Mar/2011:08:00:11 ] "GET /ows/wmsCsMosaic?LAYERS=LGATE-V001&WIDTH=512&VERSION=1.1.1&BBOX=123.75,-33.75,135.0,-22.5&SERVICE=WMS&FORMAT=image%2Fjpeg&STYLES=&SRS=EPSG%3A4326&REQUEST=GetMap&HEIGHT=512 HTTP/1.1" 200 - "-" ""</font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"><a href="http://www2.landgate.wa.gov.au">www2.landgate.wa.gov.au</a> - - [29/Mar/2011:08:01:40 ] "GET /ows/wmsCsCadastre?styles=&format=image%2Fpng&height=512&bbox=-180.0,-90.0,180.0,270.0&transparent=True&layers=LGATE-082&service=WMS&width=512&request=GetMap&srs=EPSG%3A4326&version=1.1.1 HTTP/1.1" 200 - "-" ""</font></div>
</div><div><br></div><div>I also noticed the new wms_tags stuff broke on integer keys in the dictionary (integers being non iterable) so put in a check to make sure the key was a basestring: <a href="https://bitbucket.org/adonm/mapproxy/changeset/ec6eccb88f22#chg-mapproxy/config/loader.py">https://bitbucket.org/adonm/mapproxy/changeset/ec6eccb88f22#chg-mapproxy/config/loader.py</a></div>
<div><br></div><div><a href="https://bitbucket.org/adonm/mapproxy/changeset/ec6eccb88f22#chg-mapproxy/config/loader.py"></a>When I get a chance I'll finish some tests and submit a proper pull request.<br><div><br></div>
<div><a href="https://bitbucket.org/adonm/mapproxy/changeset/ec6eccb88f22#chg-mapproxy/config/loader.py"></a>Kind Regards,</div><div>Adon<br><div><div><br><div><div class="gmail_quote">On 28 March 2011 22:03, Oliver Tonnhofer <span dir="ltr"><<a href="mailto:olt@omniscale.de">olt@omniscale.de</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im"><br>
On 27.03.2011, at 04:33, Adon Metcalfe wrote:<br>
> I'm not exactly sure how to go about making an option that gets passed all the way through to the RequestParams object (maybe override query_string with a new WMSMapUpperRequestParams class and add a new source type (wms_upper?) that uses it over WMSMapRequestParams for sources requiring uppercase parameters?)<br>
<br>
</div>The *RequestParams classes are subclassed a few times, WMS130MapRequestParams is based on WMSMapRequestParams, etc. So thats not feasible. I would put that into the WMSClient and then either tranform the URL, or call a new method of RequestParams (e.g request_url(uppercase_keys=True)).<br>
<br>
Regards,<br>
Oliver<br>
<font color="#888888"><br>
--<br>
Oliver Tonnhofer | Omniscale GmbH & Co KG | <a href="http://omniscale.de" target="_blank">http://omniscale.de</a><br>
<a href="http://mapproxy.org" target="_blank">http://mapproxy.org</a> | <a href="https://bitbucket.org/olt" target="_blank">https://bitbucket.org/olt</a><br>
<br>
<br>
<br>
</font></blockquote></div><br><br clear="all"><br>-- <br>Adon Metcalfe<br>Labyrinth Data Services Pty Ltd<br><a href="http://www.labyrinthdata.net.au">http://www.labyrinthdata.net.au</a><br>
</div></div></div></div></div>