4444from pygments import highlight
4545from pygments .lexers import XmlLexer
4646from pygments .formatters import HtmlFormatter
47- from qgis .PyQt .QtCore import QUrl
47+ from qgis .PyQt .QtCore import QUrl , QUrlQuery
4848from qgis .PyQt .QtWidgets import QMessageBox
4949from qgis .PyQt .uic import loadUiType
5050
@@ -110,14 +110,17 @@ def get_connections_from_file(parent, filename):
110110def prettify_xml (xml ):
111111 """convenience function to prettify XML"""
112112
113- if xml .count ('\n ' ) > 5 : # likely already pretty printed
113+ if isinstance (xml , bytes ):
114+ xml = xml .decode ('utf-8' )
115+
116+ if xml .count ('\n ' ) > 20 : # likely already pretty printed
117+ return xml
118+
119+ # check if it's a GET request
120+ if xml .startswith ('http' ):
114121 return xml
115122 else :
116- # check if it's a GET request
117- if xml .startswith ('http' ):
118- return xml
119- else :
120- return parseString (xml ).toprettyxml ()
123+ return parseString (xml ).toprettyxml ()
121124
122125
123126def highlight_xml (context , xml ):
@@ -138,7 +141,7 @@ def get_help_url():
138141 """return QGIS MetaSearch help documentation link"""
139142
140143 locale_name = QgsSettings ().value ('locale/userLocale' )[0 :2 ]
141- major , minor = QGis .QGIS_VERSION .split ('.' )[:2 ]
144+ major , minor = Qgis .QGIS_VERSION .split ('.' )[:2 ]
142145
143146 if minor == '99' : # master
144147 version = 'testing'
@@ -182,10 +185,15 @@ def serialize_string(input_string):
182185def clean_ows_url (url ):
183186 """clean an OWS URL of added basic service parameters"""
184187
185- url2 = QUrl (url )
186- url2 .removeEncodedQueryItem ('service' )
187- url2 .removeEncodedQueryItem ('SERVICE' )
188- url2 .removeEncodedQueryItem ('request' )
189- url2 .removeEncodedQueryItem ('REQUEST' )
188+ url = QUrl (url )
189+ query_string = url .query ()
190+
191+ if query_string :
192+ query_string = QUrlQuery (query_string )
193+ query_string .removeQueryItem ('service' )
194+ query_string .removeQueryItem ('SERVICE' )
195+ query_string .removeQueryItem ('request' )
196+ query_string .removeQueryItem ('REQUEST' )
197+ url .setQuery (query_string )
190198
191- return url2 .toString ()
199+ return url .toString ()
0 commit comments