44
44
from pygments import highlight
45
45
from pygments .lexers import XmlLexer
46
46
from pygments .formatters import HtmlFormatter
47
- from qgis .PyQt .QtCore import QUrl
47
+ from qgis .PyQt .QtCore import QUrl , QUrlQuery
48
48
from qgis .PyQt .QtWidgets import QMessageBox
49
49
from qgis .PyQt .uic import loadUiType
50
50
@@ -110,14 +110,17 @@ def get_connections_from_file(parent, filename):
110
110
def prettify_xml (xml ):
111
111
"""convenience function to prettify XML"""
112
112
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' ):
114
121
return xml
115
122
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 ()
121
124
122
125
123
126
def highlight_xml (context , xml ):
@@ -138,7 +141,7 @@ def get_help_url():
138
141
"""return QGIS MetaSearch help documentation link"""
139
142
140
143
locale_name = QgsSettings ().value ('locale/userLocale' )[0 :2 ]
141
- major , minor = QGis .QGIS_VERSION .split ('.' )[:2 ]
144
+ major , minor = Qgis .QGIS_VERSION .split ('.' )[:2 ]
142
145
143
146
if minor == '99' : # master
144
147
version = 'testing'
@@ -182,10 +185,15 @@ def serialize_string(input_string):
182
185
def clean_ows_url (url ):
183
186
"""clean an OWS URL of added basic service parameters"""
184
187
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 )
190
198
191
- return url2 .toString ()
199
+ return url .toString ()
0 commit comments