Hi All,<div><br></div><div>I have to use a problematic WMS (landgates virtual mosaic), in that it only accepts uppercase keys for requests, and thought I&#39;d share the somewhat dodgy workaround (makes all request keys uppercase), which appears to work fine with all the other case insensitive services I&#39;m using. I&#39;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 clear="all">

<br></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">    @property</font></div><div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">    def query_string(self):</font></div>

<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">        &quot;&quot;&quot;</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">        The map request as a query string (the order is not guaranteed).</font></div>

<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><br></font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">        &gt;&gt;&gt; RequestParams(dict(foo=&#39;egg&#39;, bar=&#39;ham%eggs&#39;, baz=100)).query_string</font></div>

<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace" color="#FF0000">        &#39;BAZ=100&amp;FOO=egg&amp;BAR=ham%25eggs&#39;</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">        &quot;&quot;&quot;</font></div>

<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">        kv_pairs = []</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">        for key, values in self.params.iteritems():</font></div>

<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">            value = &#39;,&#39;.join(str(v) for v in values)</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">            kv_pairs.append(<font class="Apple-style-span" color="#FF0000">key.upper()</font> + &#39;=&#39; + urllib.quote_plus(value, safe=&#39;,&#39;))</font></div>

<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">        return &#39;&amp;&#39;.join(kv_pairs)</font></div><div><font class="Apple-style-span" face="arial, helvetica, sans-serif"><br></font></div>

<div><font class="Apple-style-span" face="arial, helvetica, sans-serif">Kind Regards,</font></div><div><font class="Apple-style-span" face="arial, helvetica, sans-serif">Adon</font></div><div><br></div>-- <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>