From 4b05d960bef6f56a23b56613a340ad363732dc05 Mon Sep 17 00:00:00 2001 From: Mikhail Rodionychev Date: Mon, 15 Jan 2024 20:36:51 +0100 Subject: [PATCH 1/2] add qgis3 support --- EOxWCSClient/wcs_client.py | 542 ++++++------ __init__.py | 3 +- config.py | 66 +- display_txt.py | 42 +- display_txtdialog.py | 16 +- downloader.py | 13 +- help/source/conf.py | 2 +- metadata.txt | 2 +- plugin_upload.py | 65 +- qgsnewhttpconnectionbase.py | 60 +- qgsnewhttpconnectionbasedialog.py | 54 +- qgswcsclient2.py | 56 +- qgswcsclient2dialog.py | 838 +++++++++--------- resources_rc.py | 34 +- ui_qgswcsclient2.py | 1320 ++++++++++++++--------------- 15 files changed, 1580 insertions(+), 1533 deletions(-) diff --git a/EOxWCSClient/wcs_client.py b/EOxWCSClient/wcs_client.py index 4e8cad6..c1d510d 100755 --- a/EOxWCSClient/wcs_client.py +++ b/EOxWCSClient/wcs_client.py @@ -69,27 +69,32 @@ # THE SOFTWARE. #------------------------------------------------------------------------------- """ +from __future__ import print_function +from future import standard_library + +standard_library.install_aliases() +from builtins import str +from builtins import object import sys import os import time, datetime -import urllib2, socket -#from xml.dom import minidom +import urllib.request, urllib.error, urllib.parse, socket +# from xml.dom import minidom from lxml import etree global __version__ __version__ = '0.1' - # check for OS Platform and set the Directory-Separator to be used +# check for OS Platform and set the Directory-Separator to be used global dsep dsep = os.sep - # sets the url where epsg CRSs are defined/referenced +# sets the url where epsg CRSs are defined/referenced global crs_url crs_url = 'http://www.opengis.net/def/crs/EPSG/0/' - - # sets a storage location in case the user doesn't provide one (to be on the save side) - eg. for error msgs. +# sets a storage location in case the user doesn't provide one (to be on the save side) - eg. for error msgs. global temp_storage temp_storage = None try_dir = ['TMP', 'TEMP', 'HOME', 'USER'] @@ -100,14 +105,12 @@ if temp_storage is None: cur_dir = os.getcwd() - temp_storage = cur_dir # +'/tmp' - + temp_storage = cur_dir # +'/tmp' - -#/************************************************************************/ -#/* wcsClient() */ -#/************************************************************************/ +# /************************************************************************/ +# /* wcsClient() */ +# /************************************************************************/ class wcsClient(object): """ @@ -152,19 +155,16 @@ class wcsClient(object): Detailed description of parameters associated with each Request are porvided with the respective request """ - # default timeout for all sockets (in case a requests hangs) + # default timeout for all sockets (in case a requests hangs) _timeout = 180 socket.setdefaulttimeout(_timeout) - - def __init__(self): pass - - #/************************************************************************/ - #/* _valid_time_wrapper() */ - #/************************************************************************/ + # /************************************************************************/ + # /* _valid_time_wrapper() */ + # /************************************************************************/ def _valid_time_wrapper(self, indate_list): """ @@ -177,7 +177,7 @@ def _valid_time_wrapper(self, indate_list): Returns: a 2-element list of ISO-8601 formated dates Error: if either, date is not valid or not in ISO-8601 format """ - # print "I'm in "+sys._getframe().f_code.co_name + # print "I'm in "+sys._getframe().f_code.co_name outdate = [] for d in indate_list: @@ -189,15 +189,15 @@ def _valid_time_wrapper(self, indate_list): fmonth = int(outdate[0][5:7]) fday = int(outdate[0][8:10]) time_stamp = datetime.datetime(day=fday, month=fmonth, year=fyear) - difference = time_stamp+datetime.timedelta(days=1) - to_date = '%.4d-%.2d-%.2d' % (difference.year, difference.month, difference.day) + difference = time_stamp + datetime.timedelta(days=1) + to_date = '%.4d-%.2d-%.2d' % (difference.year, difference.month, difference.day) outdate.append(to_date) return outdate - #/************************************************************************/ - #/* _validate_date() */ - #/************************************************************************/ + # /************************************************************************/ + # /* _validate_date() */ + # /************************************************************************/ def _validate_date(self, indate): """ @@ -206,137 +206,132 @@ def _validate_date(self, indate): _validate_date() is not intended to be called directly, only through the _valid_time_wrapper() function. """ - # print "I'm in "+sys._getframe().f_code.co_name + # print "I'm in "+sys._getframe().f_code.co_name if indate.endswith('Z'): testdate = indate[:-1] else: testdate = indate if len(indate) == 16 or len(indate) == 19: - indate = indate+'Z' - + indate = indate + 'Z' dateformat = ["%Y-%m-%dT%H:%M:%S", "%Y-%m-%dT%H:%M", "%Y-%m-%dT%H", "%Y-%m-%dT", "%Y-%m-%d"] dformat = dateformat.__iter__() - cnt = dformat.next() + cnt = next(dformat) while True: try: time.strptime(testdate, cnt) return indate except ValueError: try: - cnt = dformat.next() + cnt = next(dformat) except StopIteration: - raise ValueError("Could not parse date - either date not valid or date not in ISO-8601 format : ", testdate) - + raise ValueError("Could not parse date - either date not valid or date not in ISO-8601 format : ", + testdate) - #/************************************************************************/ - #/* _set_base_request() */ - #/************************************************************************/ + # /************************************************************************/ + # /* _set_base_request() */ + # /************************************************************************/ def _set_base_request(self): """ Returns the basic url components for any valid WCS request """ - # print "I'm in "+sys._getframe().f_code.co_name + # print "I'm in "+sys._getframe().f_code.co_name base_request = {'service': 'service=WCS'} return base_request - #/************************************************************************/ - #/* _set_base_cap() */ - #/************************************************************************/ + # /************************************************************************/ + # /* _set_base_cap() */ + # /************************************************************************/ def _set_base_cap(self): """ Returns the basic url components for a valid GetCapabilities request """ - # print "I'm in "+sys._getframe().f_code.co_name + # print "I'm in "+sys._getframe().f_code.co_name base_cap = {'request': '&request=', - 'server_url': '', - 'updateSequence': '&updateSequence=', - 'sections' :'§ions='} + 'server_url': '', + 'updateSequence': '&updateSequence=', + 'sections': '§ions='} return base_cap - - #/************************************************************************/ - #/* _set_base_desccov() */ - #/************************************************************************/ + # /************************************************************************/ + # /* _set_base_desccov() */ + # /************************************************************************/ def _set_base_desccov(self): """ Returns the basic urls components for a valid DescribeCoverage Request """ - # print "I'm in "+sys._getframe().f_code.co_name + # print "I'm in "+sys._getframe().f_code.co_name base_desccov = {'version': '&version=', - 'request': '&request=', - 'server_url': '', - 'coverageID': '&coverageID='} + 'request': '&request=', + 'server_url': '', + 'coverageID': '&coverageID='} return base_desccov - - #/************************************************************************/ - #/* _set_set_base_desceocovset() */ - #/************************************************************************/ + # /************************************************************************/ + # /* _set_set_base_desceocovset() */ + # /************************************************************************/ def _set_base_desceocoverageset(self): """ Returns the basic urls components for a valid DescribeEOCoverageSet Request """ - # print "I'm in "+sys._getframe().f_code.co_name + # print "I'm in "+sys._getframe().f_code.co_name base_desceocoverageset = {'version': '&version=', - 'request': '&request=', - 'server_url': '', - 'eoID': '&eoID=', -# 'subset_lon': '&subset=Long,'+crs_url+'4326(', #@@ -# 'subset_lat': '&subset=Lat,'+crs_url+'4326(', #@@ - 'subset_lon': '&subset=Long(', - 'subset_lat': '&subset=Lat(', - 'subset_time': '&subset=phenomenonTime(%22', - 'containment': '&containment=', - 'sections': '§ions=', - 'count': '&count=', - 'IDs_only': False} - - #print "base_desceocoverageset", base_desceocoverageset + 'request': '&request=', + 'server_url': '', + 'eoID': '&eoID=', + # 'subset_lon': '&subset=Long,'+crs_url+'4326(', #@@ + # 'subset_lat': '&subset=Lat,'+crs_url+'4326(', #@@ + 'subset_lon': '&subset=Long(', + 'subset_lat': '&subset=Lat(', + 'subset_time': '&subset=phenomenonTime(%22', + 'containment': '&containment=', + 'sections': '§ions=', + 'count': '&count=', + 'IDs_only': False} + + # print "base_desceocoverageset", base_desceocoverageset return base_desceocoverageset - - #/************************************************************************/ - #/* _set_base_getcov() */ - #/************************************************************************/ + # /************************************************************************/ + # /* _set_base_getcov() */ + # /************************************************************************/ def _set_base_getcov(self): """ Rreturns the basic urls components for a GetCoverage Request """ - # print "I'm in "+sys._getframe().f_code.co_name + # print "I'm in "+sys._getframe().f_code.co_name getcov_dict = {'version': '&version=', - 'request': '&request=', - 'server_url': '', - 'coverageID': '&coverageid=', - 'format': '&format=', - 'subset_x': '&subset=', - 'subset_y': '&subset=', - 'rangesubset': '&rangesubset=', - 'outputcrs': '&outputcrs='+crs_url, - 'interpolation': '&interpolation=', #@@ -# 'interpolation': '&interpolation=nearest-neighbour', #@@ - 'mediatype': '&mediatype=', - 'mask': '&mask=polygon,'+crs_url, - 'size_x': '&', - 'size_y': '&', - 'output': None} + 'request': '&request=', + 'server_url': '', + 'coverageID': '&coverageid=', + 'format': '&format=', + 'subset_x': '&subset=', + 'subset_y': '&subset=', + 'rangesubset': '&rangesubset=', + 'outputcrs': '&outputcrs=' + crs_url, + 'interpolation': '&interpolation=', # @@ + # 'interpolation': '&interpolation=nearest-neighbour', #@@ + 'mediatype': '&mediatype=', + 'mask': '&mask=polygon,' + crs_url, + 'size_x': '&', + 'size_y': '&', + 'output': None} return getcov_dict - - #/************************************************************************/ - #/* GetCapabilities() */ - #/************************************************************************/ + # /************************************************************************/ + # /* GetCapabilities() */ + # /************************************************************************/ def GetCapabilities(self, input_params): """ Creates a GetCapabilitiy request url based on the input_parameters @@ -359,9 +354,9 @@ def GetCapabilities(self, input_params): 'sections' : 'CoverageSummary' } Returns: XML GetCapabilities resonse """ - # print "I'm in "+sys._getframe().f_code.co_name + # print "I'm in "+sys._getframe().f_code.co_name - if input_params.has_key('updateSequence') and input_params['updateSequence'] is not None: + if 'updateSequence' in input_params and input_params['updateSequence'] is not None: res_in = self._valid_time_wrapper(list(input_params.get('updateSequence').split(','))) input_params['updateSequence'] = ','.join(res_in) @@ -371,10 +366,9 @@ def GetCapabilities(self, input_params): return result_xml - - #/************************************************************************/ - #/* DescribeCoverage() */ - #/************************************************************************/ + # /************************************************************************/ + # /* DescribeCoverage() */ + # /************************************************************************/ def DescribeCoverage(self, input_params): """ Creates a DescribeCoverage request url based on the input_parameters @@ -393,7 +387,7 @@ def DescribeCoverage(self, input_params): 'coverageID': 'some_Coverage_ID_yxyxyx_yxyxyx' } Returns: XML DescribeCoverage response """ - # print "I'm in "+sys._getframe().f_code.co_name + # print "I'm in "+sys._getframe().f_code.co_name procedure_dict = self._set_base_desccov() @@ -402,10 +396,9 @@ def DescribeCoverage(self, input_params): return result_xml - - #/************************************************************************/ - #/* DescribeEOCoverageSet() */ - #/************************************************************************/ + # /************************************************************************/ + # /* DescribeEOCoverageSet() */ + # /************************************************************************/ def DescribeEOCoverageSet(self, input_params): """ Creates a DescribeEOCoverageSet request url based on the input_parameters @@ -442,27 +435,26 @@ def DescribeEOCoverageSet(self, input_params): 'IDs_only': True } Returns: XML DescribeEOCoverageSet response or only a list of available coverageIDs """ - # print "I'm in "+sys._getframe().f_code.co_name + # print "I'm in "+sys._getframe().f_code.co_name - # validate that the provided date/time stings are in ISO8601 - if input_params.has_key('subset_time') and input_params['subset_time'] is not None: + # validate that the provided date/time stings are in ISO8601 + if 'subset_time' in input_params and input_params['subset_time'] is not None: res_in = self._valid_time_wrapper(list(input_params.get('subset_time').split(','))) input_params['subset_time'] = ','.join(res_in) procedure_dict = self._set_base_desceocoverageset() http_request = self._create_request(input_params, procedure_dict) - if input_params.has_key('IDs_only') and input_params['IDs_only'] == True: + if 'IDs_only' in input_params and input_params['IDs_only'] == True: result_list, axis_labels, offered_crs = wcsClient._execute_xml_request(self, http_request, IDs_only=True) return result_list, axis_labels, offered_crs else: result_list = wcsClient._execute_xml_request(self, http_request) return result_list - - #/************************************************************************/ - #/* GetCoverage() */ - #/************************************************************************/ + # /************************************************************************/ + # /* GetCoverage() */ + # /************************************************************************/ def GetCoverage(self, input_params, use_wcs_GCo_call): """ @@ -510,58 +502,60 @@ def GetCoverage(self, input_params, use_wcs_GCo_call): Syntax: epsg:xxxx lat1,lon1,lat2,lon2, lat3,lon3,lat1,lon1 e.g. epsg:4326 42,10,43,12,39,13,38,9,42,10' """ - # print "I'm in "+sys._getframe().f_code.co_name + # print "I'm in "+sys._getframe().f_code.co_name - # provide the same functionality for input as for the cmd-line - # (to get around the url-notation for input) - if input_params.has_key('subset_x') and input_params['subset_x'] is not None and input_params['subset_x'].startswith('epsg') : + # provide the same functionality for input as for the cmd-line + # (to get around the url-notation for input) + if 'subset_x' in input_params and input_params['subset_x'] is not None and input_params['subset_x'].startswith( + 'epsg'): crs = input_params['subset_x'].split(':')[1].split(' ')[0] label = input_params['subset_x'].split(':')[1].split(' ')[1] coord = input_params['subset_x'].split(':')[1].split(' ')[2] -# out = label+','+crs_url+crs+'('+coord #@@ - out = label+'('+coord + # out = label+','+crs_url+crs+'('+coord #@@ + out = label + '(' + coord input_params['subset_x'] = out - elif input_params.has_key('subset_x') and input_params['subset_x'] is not None and (input_params['subset_x'].startswith('pix') or input_params['subset_x'].startswith('ori')): + elif 'subset_x' in input_params and input_params['subset_x'] is not None and ( + input_params['subset_x'].startswith('pix') or input_params['subset_x'].startswith('ori')): label = input_params['subset_x'].split(' ')[1] coord = input_params['subset_x'].split(' ')[2] - out = label+'('+coord + out = label + '(' + coord input_params['subset_x'] = out else: pass - if input_params.has_key('subset_y') and input_params['subset_y'] is not None and input_params['subset_y'].startswith('epsg'): + if 'subset_y' in input_params and input_params['subset_y'] is not None and input_params['subset_y'].startswith( + 'epsg'): crs = input_params['subset_y'].split(':')[1].split(' ')[0] label = input_params['subset_y'].split(':')[1].split(' ')[1] coord = input_params['subset_y'].split(':')[1].split(' ')[2] -# out = label+','+crs_url+crs+'('+coord #@@ - out = label+'('+coord + # out = label+','+crs_url+crs+'('+coord #@@ + out = label + '(' + coord input_params['subset_y'] = out - elif input_params.has_key('subset_y') and input_params['subset_y'] is not None and (input_params['subset_y'].startswith('pix') or input_params['subset_y'].startswith('ori')): + elif 'subset_y' in input_params and input_params['subset_y'] is not None and ( + input_params['subset_y'].startswith('pix') or input_params['subset_y'].startswith('ori')): label = input_params['subset_y'].split(' ')[1] coord = input_params['subset_y'].split(' ')[2] - out = label+'('+coord + out = label + '(' + coord input_params['subset_y'] = out else: pass - - if input_params.has_key('size_x') and input_params['size_x'] is not None: + if 'size_x' in input_params and input_params['size_x'] is not None: if input_params['size_x'].startswith('siz'): - out = "size="+input_params['size_x'].split(" ")[1]+"("+input_params['size_x'].split(" ")[2] + out = "size=" + input_params['size_x'].split(" ")[1] + "(" + input_params['size_x'].split(" ")[2] input_params['size_x'] = out elif input_params['size_x'].startswith('res'): - out = "resolution="+input_params['size_x'].split(" ")[1]+"("+input_params['size_x'].split(" ")[2] + out = "resolution=" + input_params['size_x'].split(" ")[1] + "(" + input_params['size_x'].split(" ")[2] input_params['size_x'] = out - if input_params.has_key('size_y') and input_params['size_y'] is not None: + if 'size_y' in input_params and input_params['size_y'] is not None: if input_params['size_y'].startswith('siz'): - out = "size="+input_params['size_y'].split(" ")[1]+"("+input_params['size_y'].split(" ")[2] + out = "size=" + input_params['size_y'].split(" ")[1] + "(" + input_params['size_y'].split(" ")[2] input_params['size_y'] = out elif input_params['size_y'].startswith('res'): - out = "resolution="+input_params['size_y'].split(" ")[1]+"("+input_params['size_y'].split(" ")[2] + out = "resolution=" + input_params['size_y'].split(" ")[1] + "(" + input_params['size_y'].split(" ")[2] input_params['size_y'] = out - procedure_dict = self._set_base_getcov() http_request = self._create_request(input_params, procedure_dict) @@ -569,10 +563,9 @@ def GetCoverage(self, input_params, use_wcs_GCo_call): return result - - #/************************************************************************/ - #/* parse_xml() */ - #/************************************************************************/ + # /************************************************************************/ + # /* parse_xml() */ + # /************************************************************************/ def _parse_xml(self, in_xml): """ Function to parse the request results of a DescribeEOCoverageSet @@ -583,18 +576,23 @@ def _parse_xml(self, in_xml): join_xml = ''.join(in_xml) tree = etree.fromstring(join_xml) try: - tag_ids = tree.xpath("wcs:CoverageDescriptions/wcs:CoverageDescription/wcs:CoverageId/text()", namespaces=tree.nsmap) - #print tag_ids + tag_ids = tree.xpath("wcs:CoverageDescriptions/wcs:CoverageDescription/wcs:CoverageId/text()", + namespaces=tree.nsmap) + # print tag_ids except etree.XPathEvalError: raise IndexError - axis_labels = tree.xpath("wcs:CoverageDescriptions/wcs:CoverageDescription/gml:boundedBy/gml:Envelope/@axisLabels|wcs:CoverageDescriptions/wcs:CoverageDescription/gml:boundedBy/gml:EnvelopeWithTimePeriod/@axisLabels", namespaces=tree.nsmap) - #print 'AxisLabels: ', type(axis_labels),len(axis_labels), axis_labels + axis_labels = tree.xpath( + "wcs:CoverageDescriptions/wcs:CoverageDescription/gml:boundedBy/gml:Envelope/@axisLabels|wcs:CoverageDescriptions/wcs:CoverageDescription/gml:boundedBy/gml:EnvelopeWithTimePeriod/@axisLabels", + namespaces=tree.nsmap) + # print 'AxisLabels: ', type(axis_labels),len(axis_labels), axis_labels axis_labels = axis_labels[0].encode().split(" ") - #print axis_labels - offered_crs = tree.xpath("wcs:CoverageDescriptions/wcs:CoverageDescription/gml:boundedBy/gml:Envelope/@srsName|wcs:CoverageDescriptions/wcs:CoverageDescription/gml:boundedBy/gml:EnvelopeWithTimePeriod/@srsName", namespaces=tree.nsmap) + # print axis_labels + offered_crs = tree.xpath( + "wcs:CoverageDescriptions/wcs:CoverageDescription/gml:boundedBy/gml:Envelope/@srsName|wcs:CoverageDescriptions/wcs:CoverageDescription/gml:boundedBy/gml:EnvelopeWithTimePeriod/@srsName", + namespaces=tree.nsmap) offered_crs = os.path.basename(offered_crs[0]) - #print offered_crs + # print offered_crs if len(axis_labels) == 0: axis_labels = ["", ""] if len(offered_crs) == 0: @@ -602,10 +600,9 @@ def _parse_xml(self, in_xml): return tag_ids, axis_labels[0:2], offered_crs - - #/************************************************************************/ - #/* _execute_xml_request() */ - #/************************************************************************/ + # /************************************************************************/ + # /* _execute_xml_request() */ + # /************************************************************************/ def _execute_xml_request(self, http_request, IDs_only=False): """ Executes the GetCapabilities, DescribeCoverage, DescribeEOCoverageSet @@ -613,55 +610,60 @@ def _execute_xml_request(self, http_request, IDs_only=False): Returns: either XML response document or a list of coverageIDs Output: prints out the submitted http_request or Error_XML in case of failure """ - # print "I'm in "+sys._getframe().f_code.co_name - print 'REQUEST: ',http_request #@@ + # print "I'm in "+sys._getframe().f_code.co_name + # fix_print_with_import + # fix_print_with_import + print('REQUEST: ', http_request) # @@ try: - # create a request object, - request_handle = urllib2.Request(http_request, headers={'User-Agent': 'Python-urllib/2.7,QgsWcsClient-plugin'}) - response = urllib2.urlopen(request_handle) + # create a request object, + request_handle = urllib.request.Request(http_request, + headers={'User-Agent': 'Python-urllib/2.7,QgsWcsClient-plugin'}) + response = urllib.request.urlopen(request_handle) xml_result = response.read() status = response.code - #headers = response.headers.dict - #print 'HEADERS ', headers - #print 'XML-ResponseStatus: ', status - + # headers = response.headers.dict + # print 'HEADERS ', headers + # print 'XML-ResponseStatus: ', status - - # extract only the CoverageIDs and provide them as a list for further usage + # extract only the CoverageIDs and provide them as a list for further usage if IDs_only == True: try: cids, axis_labels, offered_crs = self._parse_xml(xml_result) - # request_handle.close() + # request_handle.close() return cids, axis_labels, offered_crs except IndexError: raise IndexError else: return xml_result - except urllib2.URLError, url_ERROR: + except urllib.error.URLError as url_ERROR: if hasattr(url_ERROR, 'reason'): - print '\n', time.strftime("%Y-%m-%dT%H:%M:%S%Z"), "- ERROR: Server not accessible -" , url_ERROR.reason - err_msg=['ERROR', url_ERROR.read()] + # fix_print_with_import + print('\n', time.strftime("%Y-%m-%dT%H:%M:%S%Z"), "- ERROR: Server not accessible -", url_ERROR.reason) + err_msg = ['ERROR', url_ERROR.read()] return err_msg try: - print url_ERROR.read(), '\n' + # fix_print_with_import + print(url_ERROR.read(), '\n') except: pass elif hasattr(url_ERROR, 'code'): - print time.strftime("%Y-%m-%dT%H:%M:%S%Z"), "- ERROR: The server couldn\'t fulfill the request - Code returned: ", url_ERROR.code, url_ERROR.read() - err_msg = str(url_ERROR.code)+'--'+url_ERROR.read() + # fix_print_with_import + print(time.strftime("%Y-%m-%dT%H:%M:%S%Z"), + "- ERROR: The server couldn\'t fulfill the request - Code returned: ", url_ERROR.code, + url_ERROR.read()) + err_msg = str(url_ERROR.code) + '--' + url_ERROR.read() return err_msg return - - #/************************************************************************/ - #/* _execute_getcov_request() */ - #/************************************************************************/ + # /************************************************************************/ + # /* _execute_getcov_request() */ + # /************************************************************************/ def _execute_getcov_request(self, http_request, input_params): """ @@ -677,12 +679,14 @@ def _execute_getcov_request(self, http_request, input_params): saves Error-XML (-> access_error_"TimeStamp".xml) at output location (in case of failure) Returns: HttpCode (if success) """ - # print "I'm in "+sys._getframe().f_code.co_name - print 'REQUEST:', http_request + # print "I'm in "+sys._getframe().f_code.co_name + # fix_print_with_import + # fix_print_with_import + print('REQUEST:', http_request) now = time.strftime('_%Y%m%dT%H%M%S') - # set some common extension to a more 'useful' type + # set some common extension to a more 'useful' type if input_params['format'].find('/') != -1: out_format_ext = os.path.basename(input_params['format']) if out_format_ext == "tiff": @@ -698,24 +702,26 @@ def _execute_getcov_request(self, http_request, input_params): else: out_format_ext = input_params['format'] + out_coverageID = input_params['coverageID'] + now + '.' + out_format_ext # input_params['format'] - out_coverageID = input_params['coverageID']+now+'.'+out_format_ext # input_params['format'] - - if input_params.has_key('output') and input_params['output'] is not None: - outfile = input_params['output']+dsep+out_coverageID + if 'output' in input_params and input_params['output'] is not None: + outfile = input_params['output'] + dsep + out_coverageID else: - outfile = temp_storage+dsep+out_coverageID + outfile = temp_storage + dsep + out_coverageID - print 'REQUEST-GetCov: ',http_request #@@ + # fix_print_with_import + # fix_print_with_import + print('REQUEST-GetCov: ', http_request) # @@ try: - request_handle = urllib2.Request(http_request, headers={'User-Agent': 'Python-urllib/2.7,QgsWcsClient-plugin'}) - response = urllib2.urlopen(request_handle) + request_handle = urllib.request.Request(http_request, + headers={'User-Agent': 'Python-urllib/2.7,QgsWcsClient-plugin'}) + response = urllib.request.urlopen(request_handle) result = response.read() status = response.code - #headers = response.headers.dict - #print 'HEADERS ', headers - #print 'GCov-Status: ', status + # headers = response.headers.dict + # print 'HEADERS ', headers + # print 'GCov-Status: ', status try: file_getcov = open(outfile, 'w+b') @@ -726,46 +732,52 @@ def _execute_getcov_request(self, http_request, input_params): return status - except IOError as (errno, strerror): - print "I/O error({0}): {1}".format(errno, strerror) + except IOError as xxx_todo_changeme: + (errno, strerror) = xxx_todo_changeme.args + # fix_print_with_import + print("I/O error({0}): {1}".format(errno, strerror)) except: - print "Unexpected error:", sys.exc_info()[0] + # fix_print_with_import + print("Unexpected error:", sys.exc_info()[0]) raise - except urllib2.URLError as url_ERROR: + except urllib.error.URLError as url_ERROR: if hasattr(url_ERROR, 'reason'): - print '\n', time.strftime("%Y-%m-%dT%H:%M:%S%Z"), "- ERROR: Server not accessible -", url_ERROR.reason - # write out the servers return msg - errfile = outfile.rpartition(dsep)[0]+dsep+'access_error'+now+'.xml' + # fix_print_with_import + print('\n', time.strftime("%Y-%m-%dT%H:%M:%S%Z"), "- ERROR: Server not accessible -", url_ERROR.reason) + # write out the servers return msg + errfile = outfile.rpartition(dsep)[0] + dsep + 'access_error' + now + '.xml' access_err = open(errfile, 'w+b') access_err.write(url_ERROR.read()) access_err.flush() access_err.close() elif hasattr(url_ERROR, 'code'): - print time.strftime("%Y-%m-%dT%H:%M:%S%Z"), "- ERROR: The server couldn\'t fulfill the request - Code returned: ", url_ERROR.code, url_ERROR.read() - err_msg = str(url_ERROR.code)+'--'+url_ERROR.read() + # fix_print_with_import + print(time.strftime("%Y-%m-%dT%H:%M:%S%Z"), + "- ERROR: The server couldn\'t fulfill the request - Code returned: ", url_ERROR.code, + url_ERROR.read()) + err_msg = str(url_ERROR.code) + '--' + url_ERROR.read() return err_msg except TypeError: pass - return #status - + return # status - #/************************************************************************/ - #/* _merge_dicts() */ - #/************************************************************************/ + # /************************************************************************/ + # /* _merge_dicts() */ + # /************************************************************************/ def _merge_dicts(self, input_params, procedure_dict): """ Merge and harmonize the input_params-dict with the required request-dict e.g. the base_getcov-dict """ - #print "I'm in "+sys._getframe().f_code.co_name + # print "I'm in "+sys._getframe().f_code.co_name request_dict = {} - for k, v in input_params.iteritems(): - #print 'TTTT: ', k,' -- ',v - # make sure there is always a version set + for k, v in input_params.items(): + # print 'TTTT: ', k,' -- ',v + # make sure there is always a version set if k == 'version' and (v == '' or v == None): v = '2.0.0' # skip all keys with None or True values @@ -774,7 +786,7 @@ def _merge_dicts(self, input_params, procedure_dict): # create the request-dictionary but ensure there are no whitespaces left # (which got inserted for argparse() to handle negativ input values correctly) - request_dict[k] = str(procedure_dict[k])+str(v).strip() + request_dict[k] = str(procedure_dict[k]) + str(v).strip() # get the basic request settings base_request = self._set_base_request() @@ -782,80 +794,72 @@ def _merge_dicts(self, input_params, procedure_dict): return request_dict - - - #/************************************************************************/ - #/* _create_request() */ - #/************************************************************************/ + # /************************************************************************/ + # /* _create_request() */ + # /************************************************************************/ def _create_request(self, input_params, procedure_dict): """ Create the http-request according to the user selected Request-type """ - # print "I'm in "+sys._getframe().f_code.co_name + # print "I'm in "+sys._getframe().f_code.co_name request_dict = self._merge_dicts(input_params, procedure_dict) - #print 'Request_Dict: ', request_dict #@@ + # print 'Request_Dict: ', request_dict #@@ - # this doesn't look so nice, but this way I can control the order within the generated request + # this doesn't look so nice, but this way I can control the order within the generated request http_request = '' - if request_dict.has_key('server_url'): - http_request = http_request+request_dict.get('server_url') - if request_dict.has_key('service'): - http_request = http_request+request_dict.get('service') - if request_dict.has_key('version'): - http_request = http_request+request_dict.get('version') - if request_dict.has_key('request'): - http_request = http_request+request_dict.get('request') - if request_dict.has_key('coverageID'): - http_request = http_request+request_dict.get('coverageID') - if request_dict.has_key('subset_x'): - http_request = http_request+request_dict.get('subset_x')+')' - if request_dict.has_key('subset_y'): - http_request = http_request+request_dict.get('subset_y')+')' - if request_dict.has_key('format'): - http_request = http_request+request_dict.get('format') - if request_dict.has_key('rangesubset'): - http_request = http_request+request_dict.get('rangesubset') - if request_dict.has_key('outputcrs'): - http_request = http_request+request_dict.get('outputcrs') - if request_dict.has_key('interpolation'): - http_request = http_request+request_dict.get('interpolation') - if request_dict.has_key('mediatype'): - http_request = http_request+request_dict.get('mediatype') - if request_dict.has_key('size_x'): - http_request = http_request+request_dict.get('size_x')+')' - if request_dict.has_key('size_y'): - http_request = http_request+request_dict.get('size_y')+')' - if request_dict.has_key('mask'): - http_request = http_request+request_dict.get('mask')+')' - if request_dict.has_key('updateSequence'): - http_request = http_request+request_dict.get('updateSequence') - if request_dict.has_key('sections'): - http_request = http_request+request_dict.get('sections') - if request_dict.has_key('eoID'): - http_request = http_request+request_dict.get('eoID') - if request_dict.has_key('subset_lat'): - http_request = http_request+request_dict.get('subset_lat')+')' - if request_dict.has_key('subset_lon'): - http_request = http_request+request_dict.get('subset_lon')+')' - if request_dict.has_key('subset_time'): - http_request = http_request+request_dict.get('subset_time').split(',')[0] \ - +'%22,%22'+request_dict.get('subset_time').split(',')[1]+'%22)' - if request_dict.has_key('containment'): - http_request = http_request+request_dict.get('containment') - if request_dict.has_key('section'): - http_request = http_request+request_dict.get('section') - if request_dict.has_key('count'): - http_request = http_request+request_dict.get('count') - + if 'server_url' in request_dict: + http_request = http_request + request_dict.get('server_url') + if 'service' in request_dict: + http_request = http_request + request_dict.get('service') + if 'version' in request_dict: + http_request = http_request + request_dict.get('version') + if 'request' in request_dict: + http_request = http_request + request_dict.get('request') + if 'coverageID' in request_dict: + http_request = http_request + request_dict.get('coverageID') + if 'subset_x' in request_dict: + http_request = http_request + request_dict.get('subset_x') + ')' + if 'subset_y' in request_dict: + http_request = http_request + request_dict.get('subset_y') + ')' + if 'format' in request_dict: + http_request = http_request + request_dict.get('format') + if 'rangesubset' in request_dict: + http_request = http_request + request_dict.get('rangesubset') + if 'outputcrs' in request_dict: + http_request = http_request + request_dict.get('outputcrs') + if 'interpolation' in request_dict: + http_request = http_request + request_dict.get('interpolation') + if 'mediatype' in request_dict: + http_request = http_request + request_dict.get('mediatype') + if 'size_x' in request_dict: + http_request = http_request + request_dict.get('size_x') + ')' + if 'size_y' in request_dict: + http_request = http_request + request_dict.get('size_y') + ')' + if 'mask' in request_dict: + http_request = http_request + request_dict.get('mask') + ')' + if 'updateSequence' in request_dict: + http_request = http_request + request_dict.get('updateSequence') + if 'sections' in request_dict: + http_request = http_request + request_dict.get('sections') + if 'eoID' in request_dict: + http_request = http_request + request_dict.get('eoID') + if 'subset_lat' in request_dict: + http_request = http_request + request_dict.get('subset_lat') + ')' + if 'subset_lon' in request_dict: + http_request = http_request + request_dict.get('subset_lon') + ')' + if 'subset_time' in request_dict: + http_request = http_request + request_dict.get('subset_time').split(',')[0] \ + + '%22,%22' + request_dict.get('subset_time').split(',')[1] + '%22)' + if 'containment' in request_dict: + http_request = http_request + request_dict.get('containment') + if 'section' in request_dict: + http_request = http_request + request_dict.get('section') + if 'count' in request_dict: + http_request = http_request + request_dict.get('count') return http_request - -#/************************************************************************/ +# /************************************************************************/ # /* END OF: wcs_Client() */ -#/************************************************************************/ - - - - +# /************************************************************************/ diff --git a/__init__.py b/__init__.py index 32056a3..5f4296f 100644 --- a/__init__.py +++ b/__init__.py @@ -36,8 +36,9 @@ *********************************************************************************/ This script initializes the plugin, making it known to QGIS. """ +from __future__ import absolute_import def classFactory(iface): # load QgsWcsClient2 class from file QgsWcsClient2 - from qgswcsclient2 import QgsWcsClient2 + from .qgswcsclient2 import QgsWcsClient2 return QgsWcsClient2(iface) diff --git a/config.py b/config.py index 09d2785..4d279e0 100644 --- a/config.py +++ b/config.py @@ -36,6 +36,7 @@ *********************************************************************************/ configuration for the QgsWcsClient2 plugin """ +from __future__ import print_function # some global setttings settings = {} @@ -66,23 +67,54 @@ def read_srv_list(): # check if a insrvlst exists if not create a default one; this way we don't need to distribute a sepaerate file # and an already existing 'config_srvlist.pkl' doesn't get overwritten during the installation def chk_srvlist(insrvlst): - print 'Creating a default Server-list file' - f = open(insrvlst,'wb') - print >> f, "(dp0" - print >> f, "S'servers'" - print >> f, "p1" - print >> f, "(lp2" - print >> f, "(lp3" - print >> f, "VOGC: WCS 2.0/EO-WCS 1.0 - Reference Implemetation (EOxServer)" - print >> f, "p4" - print >> f, "aVhttp://ows.eox.at/cite/eoxserver/ows?" - print >> f, "p5" - print >> f, "aa(lp6" - print >> f, "VOGC: WCS 2.0 - Reference Implementation (MapServer)" - print >> f, "p7" - print >> f, "aVhttp://ows.eox.at/cite/mapserver/ows?" - print >> f, "p8" - print >> f, "aas.", + # fix_print_with_import + print('Creating a default Server-list file') + f = open(insrvlst,'w') + # fix_print_with_import + # fix_print_with_import + print("(dp0", file=f) + # fix_print_with_import + # fix_print_with_import + print("S'servers'", file=f) + # fix_print_with_import + # fix_print_with_import + print("p1", file=f) + # fix_print_with_import + # fix_print_with_import + print("(lp2", file=f) + # fix_print_with_import + # fix_print_with_import + print("(lp3", file=f) + # fix_print_with_import + # fix_print_with_import + print("VOGC: WCS 2.0/EO-WCS 1.0 - Reference Implemetation (EOxServer)", file=f) + # fix_print_with_import + # fix_print_with_import + print("p4", file=f) + # fix_print_with_import + # fix_print_with_import + print("aVhttp://ows.eox.at/cite/eoxserver/ows?", file=f) + # fix_print_with_import + # fix_print_with_import + print("p5", file=f) + # fix_print_with_import + # fix_print_with_import + print("aa(lp6", file=f) + # fix_print_with_import + # fix_print_with_import + print("VOGC: WCS 2.0 - Reference Implementation (MapServer)", file=f) + # fix_print_with_import + # fix_print_with_import + print("p7", file=f) + # fix_print_with_import + # fix_print_with_import + print("aVhttp://ows.eox.at/cite/mapserver/ows?", file=f) + # fix_print_with_import + # fix_print_with_import + print("p8", file=f) + # fix_print_with_import + # fix_print_with_import + print("aas.", end=' ', file=f) f.close() diff --git a/display_txt.py b/display_txt.py index 79983b6..cb134c2 100644 --- a/display_txt.py +++ b/display_txt.py @@ -2,45 +2,33 @@ # Form implementation generated from reading ui file 'display_txt.ui' # -# Created: Mon Apr 10 15:55:21 2017 -# by: PyQt4 UI code generator 4.10.4 +# Created by: PyQt5 UI code generator 5.15.9 # -# WARNING! All changes made in this file will be lost! +# WARNING: Any manual changes made to this file will be lost when pyuic5 is +# run again. Do not edit this file unless you know what you are doing. -from PyQt4 import QtCore, QtGui -try: - _fromUtf8 = QtCore.QString.fromUtf8 -except AttributeError: - def _fromUtf8(s): - return s +from PyQt5 import QtCore, QtGui, QtWidgets -try: - _encoding = QtGui.QApplication.UnicodeUTF8 - def _translate(context, text, disambig): - return QtGui.QApplication.translate(context, text, disambig, _encoding) -except AttributeError: - def _translate(context, text, disambig): - return QtGui.QApplication.translate(context, text, disambig) class Ui_Dialog_Disp(object): def setupUi(self, Dialog_Disp): - Dialog_Disp.setObjectName(_fromUtf8("Dialog_Disp")) + Dialog_Disp.setObjectName("Dialog_Disp") Dialog_Disp.resize(721, 610) - self.gridLayout = QtGui.QGridLayout(Dialog_Disp) - self.gridLayout.setObjectName(_fromUtf8("gridLayout")) - self.textBrowser_Disp = QtGui.QTextBrowser(Dialog_Disp) - self.textBrowser_Disp.setObjectName(_fromUtf8("textBrowser_Disp")) + self.gridLayout = QtWidgets.QGridLayout(Dialog_Disp) + self.gridLayout.setObjectName("gridLayout") + self.textBrowser_Disp = QtWidgets.QTextBrowser(Dialog_Disp) + self.textBrowser_Disp.setObjectName("textBrowser_Disp") self.gridLayout.addWidget(self.textBrowser_Disp, 0, 0, 1, 1) - self.pushButton_DIsp_Done = QtGui.QPushButton(Dialog_Disp) - self.pushButton_DIsp_Done.setObjectName(_fromUtf8("pushButton_DIsp_Done")) + self.pushButton_DIsp_Done = QtWidgets.QPushButton(Dialog_Disp) + self.pushButton_DIsp_Done.setObjectName("pushButton_DIsp_Done") self.gridLayout.addWidget(self.pushButton_DIsp_Done, 1, 0, 1, 1) self.retranslateUi(Dialog_Disp) - QtCore.QObject.connect(self.pushButton_DIsp_Done, QtCore.SIGNAL(_fromUtf8("clicked()")), Dialog_Disp.close) + self.pushButton_DIsp_Done.clicked.connect(Dialog_Disp.close) # type: ignore QtCore.QMetaObject.connectSlotsByName(Dialog_Disp) def retranslateUi(self, Dialog_Disp): - Dialog_Disp.setWindowTitle(_translate("Dialog_Disp", "Dialog", None)) - self.pushButton_DIsp_Done.setText(_translate("Dialog_Disp", "Done", None)) - + _translate = QtCore.QCoreApplication.translate + Dialog_Disp.setWindowTitle(_translate("Dialog_Disp", "Dialog")) + self.pushButton_DIsp_Done.setText(_translate("Dialog_Disp", "Done")) diff --git a/display_txtdialog.py b/display_txtdialog.py index 3dc26d5..a7a888d 100644 --- a/display_txtdialog.py +++ b/display_txtdialog.py @@ -37,19 +37,21 @@ a popoup window to display the full-version of XML-Response messages and Error as well as Error or other messages """ +from __future__ import absolute_import import os, pickle -#from PyQt4 import QtCore, QtGui -from PyQt4.QtGui import * -from PyQt4.QtCore import * -from PyQt4 import QtCore, QtGui -from ui_qgswcsclient2 import Ui_QgsWcsClient2 +#from PyQt5 import QtCore, QtGui +from PyQt5.QtGui import * +from PyQt5.QtCore import * +from PyQt5.QtWidgets import * +from qgis.PyQt import QtCore, QtGui +from .ui_qgswcsclient2 import Ui_QgsWcsClient2 # create the dialog for zoom to point -from display_txt import Ui_Dialog_Disp +from .display_txt import Ui_Dialog_Disp #global setttings and saved server list global config -import config +from . import config diff --git a/downloader.py b/downloader.py index 174cb15..7e76cb6 100644 --- a/downloader.py +++ b/downloader.py @@ -36,9 +36,11 @@ *********************************************************************************/ A donwload tool utilizing the QNetworkAccessManager instance """ +from __future__ import print_function -from PyQt4.QtCore import QCoreApplication, QFile, QUrl -from PyQt4.QtNetwork import QNetworkRequest, QNetworkReply +from builtins import str +from qgis.PyQt.QtCore import QCoreApplication, QFile, QUrl +from qgis.PyQt.QtNetwork import QNetworkRequest, QNetworkReply def download_url(manager, url, output_path, progress_dialog=None): @@ -65,8 +67,8 @@ def read_data(): xml_result.append(reply.readAll().data()) def read_data1(): - xml_result1 = [] global xml_result1 + xml_result1 = [] xml_result1.append(reply.readAll().data()) return xml_result1 @@ -126,6 +128,7 @@ def read_data1(): def progress_event(received, total): QCoreApplication.processEvents() + progress_dialog.setLabelText("%s / %s" % (received, total)) progress_dialog.setMaximum(total) progress_dialog.setValue(received) @@ -146,7 +149,9 @@ def cancel_action(): if reply.attribute(QNetworkRequest.RedirectionTargetAttribute): redir_url = reply.attribute(QNetworkRequest.RedirectionTargetAttribute).toString().split('?')[0]+'?' - print 'Redirection-Url:',redir_url, type(redir_url) + # fix_print_with_import + # fix_print_with_import + print('Redirection-Url:',redir_url, type(redir_url)) return True, None, 'Redirection-URL:\t'+redir_url if result == QNetworkReply.NoError: diff --git a/help/source/conf.py b/help/source/conf.py index 52378d1..e4abd22 100644 --- a/help/source/conf.py +++ b/help/source/conf.py @@ -25,7 +25,7 @@ # Add any Sphinx extension module names here, as strings. They can be extensions # coming with Sphinx (named 'sphinx.ext.*') or your custom ones. -extensions = ['sphinx.ext.todo', 'sphinx.ext.pngmath', 'sphinx.ext.viewcode'] +extensions = ['sphinx.ext.todo', 'sphinx.ext.imgmath', 'sphinx.ext.viewcode'] # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] diff --git a/metadata.txt b/metadata.txt index 757901d..25444d1 100644 --- a/metadata.txt +++ b/metadata.txt @@ -9,7 +9,7 @@ [general] name = QgsWcsClient2 -qgisMinimumVersion = 2.0 +qgisMinimumVersion = 3.0 description = A OGC WCS 2.0/EO-WCS Client; a tool to download (and subset in space and time) a time-series of raster data. version = version 0.3.2 diff --git a/plugin_upload.py b/plugin_upload.py index 595e941..fd64301 100755 --- a/plugin_upload.py +++ b/plugin_upload.py @@ -3,7 +3,11 @@ # # Author: A. Pasotti, V. Picavet -import xmlrpclib, sys, os +from __future__ import print_function +from future import standard_library +standard_library.install_aliases() +from builtins import input +import xmlrpc.client, sys, os import getpass from optparse import OptionParser @@ -17,24 +21,44 @@ def main(options, args): address = "%s://%s:%s@%s:%s%s" % (PROTOCOL, options.username, options.password, options.server, options.port, ENDPOINT) - print "Connecting to: %s" % hidepassword(address) + # fix_print_with_import + # fix_print_with_import + print("Connecting to: %s" % hidepassword(address)) - server = xmlrpclib.ServerProxy(address, verbose=VERBOSE) + server = xmlrpc.client.ServerProxy(address, verbose=VERBOSE) try: - plugin_id, version_id = server.plugin.upload(xmlrpclib.Binary(open(args[0]).read())) - print "Plugin ID: %s" % plugin_id - print "Version ID: %s" % version_id - except xmlrpclib.ProtocolError, err: - print "A protocol error occurred" - print "URL: %s" % hidepassword(err.url, 0) - print "HTTP/HTTPS headers: %s" % err.headers - print "Error code: %d" % err.errcode - print "Error message: %s" % err.errmsg - except xmlrpclib.Fault, err: - print "A fault occurred" - print "Fault code: %d" % err.faultCode - print "Fault string: %s" % err.faultString + plugin_id, version_id = server.plugin.upload(xmlrpc.client.Binary(open(args[0]).read())) + # fix_print_with_import + # fix_print_with_import + print("Plugin ID: %s" % plugin_id) + # fix_print_with_import + # fix_print_with_import + print("Version ID: %s" % version_id) + except xmlrpc.client.ProtocolError as err: + # fix_print_with_import + print("A protocol error occurred") + # fix_print_with_import + # fix_print_with_import + print("URL: %s" % hidepassword(err.url, 0)) + # fix_print_with_import + # fix_print_with_import + print("HTTP/HTTPS headers: %s" % err.headers) + # fix_print_with_import + # fix_print_with_import + print("Error code: %d" % err.errcode) + # fix_print_with_import + # fix_print_with_import + print("Error message: %s" % err.errmsg) + except xmlrpc.client.Fault as err: + # fix_print_with_import + print("A fault occurred") + # fix_print_with_import + # fix_print_with_import + print("Fault code: %d" % err.faultCode) + # fix_print_with_import + # fix_print_with_import + print("Fault string: %s" % err.faultString) def hidepassword(url, start=6): """Returns the http url with password part replaced with '*'.""" @@ -55,7 +79,8 @@ def hidepassword(url, start=6): help="Specify server name", metavar="plugins.qgis.org") (options, args) = parser.parse_args() if len(args) != 1: - print "Please specify zip file.\n" + # fix_print_with_import + print("Please specify zip file.\n") parser.print_help() sys.exit(1) if not options.server: @@ -65,8 +90,10 @@ def hidepassword(url, start=6): if not options.username: # interactive mode username = getpass.getuser() - print "Please enter user name [%s] :"%username, - res = raw_input() + # fix_print_with_import + # fix_print_with_import + print("Please enter user name [%s] :"%username, end=' ') + res = input() if res != "": options.username = res else: diff --git a/qgsnewhttpconnectionbase.py b/qgsnewhttpconnectionbase.py index 51ac8d8..8971fd8 100644 --- a/qgsnewhttpconnectionbase.py +++ b/qgsnewhttpconnectionbase.py @@ -2,62 +2,50 @@ # Form implementation generated from reading ui file 'qgsnewhttpconnectionbase.ui' # -# Created: Wed Mar 29 15:46:57 2017 -# by: PyQt4 UI code generator 4.10.4 +# Created by: PyQt5 UI code generator 5.15.9 # -# WARNING! All changes made in this file will be lost! +# WARNING: Any manual changes made to this file will be lost when pyuic5 is +# run again. Do not edit this file unless you know what you are doing. -from PyQt4 import QtCore, QtGui -try: - _fromUtf8 = QtCore.QString.fromUtf8 -except AttributeError: - def _fromUtf8(s): - return s +from PyQt5 import QtCore, QtGui, QtWidgets -try: - _encoding = QtGui.QApplication.UnicodeUTF8 - def _translate(context, text, disambig): - return QtGui.QApplication.translate(context, text, disambig, _encoding) -except AttributeError: - def _translate(context, text, disambig): - return QtGui.QApplication.translate(context, text, disambig) class Ui_qgsnewhttpconnectionbase(object): def setupUi(self, qgsnewhttpconnectionbase): - qgsnewhttpconnectionbase.setObjectName(_fromUtf8("qgsnewhttpconnectionbase")) + qgsnewhttpconnectionbase.setObjectName("qgsnewhttpconnectionbase") qgsnewhttpconnectionbase.resize(642, 153) - self.gridLayout = QtGui.QGridLayout(qgsnewhttpconnectionbase) - self.gridLayout.setObjectName(_fromUtf8("gridLayout")) - self.label_NewSrvName = QtGui.QLabel(qgsnewhttpconnectionbase) - self.label_NewSrvName.setObjectName(_fromUtf8("label_NewSrvName")) + self.gridLayout = QtWidgets.QGridLayout(qgsnewhttpconnectionbase) + self.gridLayout.setObjectName("gridLayout") + self.label_NewSrvName = QtWidgets.QLabel(qgsnewhttpconnectionbase) + self.label_NewSrvName.setObjectName("label_NewSrvName") self.gridLayout.addWidget(self.label_NewSrvName, 0, 0, 1, 1) - self.txt_NewSrvName = QtGui.QLineEdit(qgsnewhttpconnectionbase) + self.txt_NewSrvName = QtWidgets.QLineEdit(qgsnewhttpconnectionbase) self.txt_NewSrvName.setEnabled(True) self.txt_NewSrvName.setCursor(QtGui.QCursor(QtCore.Qt.IBeamCursor)) self.txt_NewSrvName.setFocusPolicy(QtCore.Qt.ClickFocus) - self.txt_NewSrvName.setObjectName(_fromUtf8("txt_NewSrvName")) + self.txt_NewSrvName.setObjectName("txt_NewSrvName") self.gridLayout.addWidget(self.txt_NewSrvName, 0, 1, 1, 1) - self.label_NewSrvUrl = QtGui.QLabel(qgsnewhttpconnectionbase) - self.label_NewSrvUrl.setObjectName(_fromUtf8("label_NewSrvUrl")) + self.label_NewSrvUrl = QtWidgets.QLabel(qgsnewhttpconnectionbase) + self.label_NewSrvUrl.setObjectName("label_NewSrvUrl") self.gridLayout.addWidget(self.label_NewSrvUrl, 1, 0, 1, 1) - self.txt_NewSrvUrl = QtGui.QLineEdit(qgsnewhttpconnectionbase) - self.txt_NewSrvUrl.setObjectName(_fromUtf8("txt_NewSrvUrl")) + self.txt_NewSrvUrl = QtWidgets.QLineEdit(qgsnewhttpconnectionbase) + self.txt_NewSrvUrl.setObjectName("txt_NewSrvUrl") self.gridLayout.addWidget(self.txt_NewSrvUrl, 1, 1, 1, 1) - self.buttonBox = QtGui.QDialogButtonBox(qgsnewhttpconnectionbase) + self.buttonBox = QtWidgets.QDialogButtonBox(qgsnewhttpconnectionbase) self.buttonBox.setFocusPolicy(QtCore.Qt.NoFocus) self.buttonBox.setOrientation(QtCore.Qt.Horizontal) - self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok) - self.buttonBox.setObjectName(_fromUtf8("buttonBox")) + self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok) + self.buttonBox.setObjectName("buttonBox") self.gridLayout.addWidget(self.buttonBox, 2, 1, 1, 1) self.retranslateUi(qgsnewhttpconnectionbase) - QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), qgsnewhttpconnectionbase.accept) - QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), qgsnewhttpconnectionbase.reject) + self.buttonBox.accepted.connect(qgsnewhttpconnectionbase.accept) # type: ignore + self.buttonBox.rejected.connect(qgsnewhttpconnectionbase.reject) # type: ignore QtCore.QMetaObject.connectSlotsByName(qgsnewhttpconnectionbase) def retranslateUi(self, qgsnewhttpconnectionbase): - qgsnewhttpconnectionbase.setWindowTitle(_translate("qgsnewhttpconnectionbase", "New WCS Server ", None)) - self.label_NewSrvName.setText(_translate("qgsnewhttpconnectionbase", "Server Name", None)) - self.label_NewSrvUrl.setText(_translate("qgsnewhttpconnectionbase", "Server URL", None)) - + _translate = QtCore.QCoreApplication.translate + qgsnewhttpconnectionbase.setWindowTitle(_translate("qgsnewhttpconnectionbase", "New WCS Server ")) + self.label_NewSrvName.setText(_translate("qgsnewhttpconnectionbase", "Server Name")) + self.label_NewSrvUrl.setText(_translate("qgsnewhttpconnectionbase", "Server URL")) diff --git a/qgsnewhttpconnectionbasedialog.py b/qgsnewhttpconnectionbasedialog.py index fdeec83..3be6475 100644 --- a/qgsnewhttpconnectionbasedialog.py +++ b/qgsnewhttpconnectionbasedialog.py @@ -36,21 +36,26 @@ *********************************************************************************/ Function for the Server / Url setup dialog """ +from __future__ import absolute_import +from builtins import str +from builtins import zip import os, pickle -from PyQt4.QtGui import * -from PyQt4.QtCore import * -from PyQt4 import QtCore, QtGui -from ui_qgswcsclient2 import Ui_QgsWcsClient2 -from qgsnewhttpconnectionbase import Ui_qgsnewhttpconnectionbase - - -#global setttings and saved server list +from PyQt5.QtGui import * +from PyQt5.QtWidgets import * +from PyQt5.QtCore import * +from qgis.PyQt import QtCore, QtGui +from .ui_qgswcsclient2 import Ui_QgsWcsClient2 +from .qgsnewhttpconnectionbase import Ui_qgsnewhttpconnectionbase + +# global setttings and saved server list global config -import config +from . import config + srvlst = [] -class qgsnewhttpconnectionbase(QDialog, QObject, Ui_qgsnewhttpconnectionbase): + +class qgsnewhttpconnectionbase(QDialog, QObject, Ui_qgsnewhttpconnectionbase): MSG_BOX_TITLE = "WCS2.0/EO-WCS Client" def __init__(self, parent, fl, toEdit, choice): @@ -61,8 +66,7 @@ def __init__(self, parent, fl, toEdit, choice): self.flags = fl self.setupUi(self) self.txt_NewSrvName.setFocus(True) - self.setWindowTitle('WCS2.0/EO-WCS Client') # +version()) - + self.setWindowTitle('WCS2.0/EO-WCS Client') # +version()) def accept(self): global config @@ -70,10 +74,10 @@ def accept(self): srv_name = self.txt_NewSrvName.text() srv_url = self.txt_NewSrvUrl.text() - # fix to enable changing of url without changing servername + # fix to enable changing of url without changing servername if str(self.idx_sel).isdigit(): if srv_name == srvlst[self.idx_sel][0] and srv_url != srvlst[self.idx_sel][1]: - srv_name +=' ' + srv_name += ' ' # verify that URL starts with http:// if not srv_url.startswith("http://") and not srv_url.startswith("https://"): @@ -83,14 +87,14 @@ def accept(self): if self.toEdit is False: try: - idx = zip(*config.srv_list['servers'])[0].index(srv_name) + idx = list(zip(*config.srv_list['servers']))[0].index(srv_name) while idx is not None: - self.txt_NewSrvName.setText(srv_name+'_1') + self.txt_NewSrvName.setText(srv_name + '_1') self.txt_NewSrvUrl.setText(srv_url) msg = "Sorry, but the 'Server Name' has to be unique.\n A '_1' has been added to the name." self.warning_msg(msg) srv_name = self.txt_NewSrvName.text() - idx = zip(*config.srv_list['servers'])[0].index(srv_name) + idx = list(zip(*config.srv_list['servers']))[0].index(srv_name) except ValueError: @@ -98,27 +102,25 @@ def accept(self): if self.toEdit is True: try: - idx = zip(*config.srv_list['servers'])[0].index(srv_name) + idx = list(zip(*config.srv_list['servers']))[0].index(srv_name) except ValueError: idx = self.idx_sel srvlst.pop(idx) - srvlst.insert(idx,[srv_name, srv_url]) + srvlst.insert(idx, [srv_name, srv_url]) - config.srv_list = {'servers': srvlst } + config.srv_list = {'servers': srvlst} if (len(srv_name) > 0 and len(srv_url) > 10): self.parent.write_srv_list() self.parent.updateServerListing() else: - msg = "Sorry, the provided 'Server Name' "+str(srv_name)+" or the provided 'Server URL '"+srv_url+" is not valid" + msg = "Sorry, the provided 'Server Name' " + str( + srv_name) + " or the provided 'Server URL '" + srv_url + " is not valid" self.warning_msg(msg) self.close() - def warning_msg(self, msg): - msgBox = QtGui.QMessageBox() + msgBox = QMessageBox() msgBox.setText(msg) - msgBox.addButton(QtGui.QPushButton('OK'), QtGui.QMessageBox.YesRole) + msgBox.addButton(QPushButton('OK'), QMessageBox.YesRole) msgBox.exec_() - - diff --git a/qgswcsclient2.py b/qgswcsclient2.py index 46ac5e7..f7c0efb 100644 --- a/qgswcsclient2.py +++ b/qgswcsclient2.py @@ -36,31 +36,33 @@ *********************************************************************************/ initialisation, etc. of the QgsWcsClient2 plugin """ - # Import the PyQt and QGIS libraries -from PyQt4.QtCore import * -from PyQt4.QtGui import * +from __future__ import absolute_import +# Import the PyQt and QGIS libraries +from builtins import object +from PyQt5.QtCore import * +from PyQt5.QtGui import * +from PyQt5.QtWidgets import * from qgis.core import * - # Initialize Qt resources from file resources.py -import resources_rc - # Import the code for the dialog(s) -from qgswcsclient2dialog import QgsWcsClient2Dialog -from qgsnewhttpconnectionbase import Ui_qgsnewhttpconnectionbase -from EOxWCSClient.wcs_client import wcsClient +# Initialize Qt resources from file resources.py +# Import the code for the dialog(s) +from .qgswcsclient2dialog import QgsWcsClient2Dialog +from .qgsnewhttpconnectionbase import Ui_qgsnewhttpconnectionbase +from .EOxWCSClient.wcs_client import wcsClient import os.path - # global setttings and saved server list +# global setttings and saved server list global config -import config +from . import config -class QgsWcsClient2: +class QgsWcsClient2(object): def __init__(self, iface): global config - # Save reference to the QGIS interface + # Save reference to the QGIS interface self.iface = iface - # initialize locale + # initialize locale locale = QSettings().value("locale/userLocale")[0:2] localePath = os.path.join(config.plugin_dir, 'i18n', 'qgswcsclient2_{}.qm'.format(locale)) @@ -74,38 +76,32 @@ def __init__(self, iface): # Create the dialog (after translation) and keep reference self.dlg = QgsWcsClient2Dialog(iface) - def initGui(self): - # Create action that will start plugin configuration + # Create action that will start plugin configuration self.action = QAction( QIcon(":/plugins/qgswcsclient2/icon.png"), u"WCS 2.0/EO-WCS Client", self.iface.mainWindow()) - # connect the action to the run method + # connect the action to the run method self.action.triggered.connect(self.run) - # Add toolbar button and menu item + # Add toolbar button and menu item self.iface.addToolBarIcon(self.action) self.iface.addPluginToMenu(u"&WcsClient2", self.action) def unload(self): - # Remove the plugin menu item and icon + # Remove the plugin menu item and icon self.iface.removePluginMenu(u"&WcsClient2", self.action) self.iface.removeToolBarIcon(self.action) # run method that performs all the real work + def run(self): - # show the dialog + # show the dialog self.dlg.show() - # Run the dialog event loop + # Run the dialog event loop result = self.dlg.exec_() - # See if OK was pressed + # See if OK was pressed if result == 1: - # do something useful (delete the line containing pass and - # substitute with your code) + # do something useful (delete the line containing pass and + # substitute with your code) pass - - - - - - diff --git a/qgswcsclient2dialog.py b/qgswcsclient2dialog.py index 157d35d..b439720 100644 --- a/qgswcsclient2dialog.py +++ b/qgswcsclient2dialog.py @@ -36,36 +36,37 @@ *********************************************************************************/ The main QgsWcsClient2 Plugin Application -- an OGC WCS 2.0/EO-WCS Client """ +from __future__ import print_function +from __future__ import absolute_import - - +from builtins import str +from builtins import range import os, sys, pickle from lxml import etree from glob import glob -from itertools import izip_longest +from itertools import zip_longest from qgis.core import * from qgis.gui import * -from PyQt4 import QtCore, QtGui -from PyQt4.QtCore import * -from PyQt4.QtGui import QProgressDialog, QDialog, QMessageBox, QFileDialog, QApplication, QCursor -from PyQt4.QtNetwork import QNetworkRequest, QNetworkAccessManager -from PyQt4 import QtXml - -from ui_qgswcsclient2 import Ui_QgsWcsClient2 -from qgsnewhttpconnectionbasedialog import qgsnewhttpconnectionbase -from display_txtdialog import display_txt -from downloader import download_url -from EOxWCSClient.wcs_client import wcsClient - - - -#global setttings and saved server list +from qgis.PyQt import QtCore, QtWidgets +from PyQt5.QtCore import * +from PyQt5.QtWidgets import * +from PyQt5.QtNetwork import * +from qgis.PyQt.QtWidgets import QProgressDialog, QDialog, QMessageBox, QFileDialog, QApplication +from qgis.PyQt.QtGui import QCursor +from qgis.PyQt.QtNetwork import QNetworkRequest +from qgis.PyQt import QtXml + +from .ui_qgswcsclient2 import Ui_QgsWcsClient2 +from .qgsnewhttpconnectionbasedialog import qgsnewhttpconnectionbase +from .display_txtdialog import display_txt +from .downloader import download_url +from .EOxWCSClient.wcs_client import wcsClient + +# global setttings and saved server list global config -import config - - +from . import config try: _fromUtf8 = QtCore.QString.fromUtf8 @@ -74,21 +75,24 @@ def _fromUtf8(s): return s try: - _encoding = QtGui.QApplication.UnicodeUTF8 + _encoding = QtWidgets.QApplication.UnicodeUTF8 + + def _translate(context, text, disambig): - return QtGui.QApplication.translate(context, text, disambig, _encoding) + return QtWidgets.QApplication.translate(context, text, disambig, _encoding) except AttributeError: def _translate(context, text, disambig): - return QtGui.QApplication.translate(context, text, disambig) + return QtWidgets.QApplication.translate(context, text, disambig) -#--------------- - # running clock icon +# --------------- +# running clock icon def mouse_busy(function): """ set the mouse icon to show clock """ - #def new_function(self): + + # def new_function(self): def new_function(*args, **kwargs): """ set the mouse icon to show clock @@ -97,7 +101,7 @@ def new_function(*args, **kwargs): QApplication.processEvents() try: - #function(self) + # function(self) return function(*args, **kwargs) except Exception as e: raise e @@ -109,49 +113,50 @@ def new_function(*args, **kwargs): return new_function -#--------------- - # provide a pop-up warning message +# --------------- +# provide a pop-up warning message def warning_msg(msg): """ present a message in a popup dialog-box """ - msgBox = QtGui.QMessageBox() + msgBox = QtWidgets.QMessageBox() msgBox.setText(msg) - msgBox.addButton(QtGui.QPushButton('OK'), QtGui.QMessageBox.YesRole) + msgBox.addButton(QtWidgets.QPushButton('OK'), QtWidgets.QMessageBox.YesRole) msgBox.exec_() -#--------------- +# --------------- ## ====== Main Class ====== -class QgsWcsClient2Dialog(QtGui.QDialog, Ui_QgsWcsClient2): +class QgsWcsClient2Dialog(QDialog, Ui_QgsWcsClient2): """ main QGis-WCS plugin dialog """ + def __init__(self, iface): global config - #print "I'm in "+sys._getframe().f_code.co_name - QtGui.QDialog.__init__(self) + # print "I'm in "+sys._getframe().f_code.co_name + QDialog.__init__(self) self.setupUi(self) self.iface = iface - # if server information is already available, activate the Edit-Button, and the update the - # selectionBar + # if server information is already available, activate the Edit-Button, and the update the + # selectionBar if len(config.srv_list['servers']) > 0: self.btnEdit_Serv.setEnabled(True) self.btnDelete_Serv.setEnabled(True) self.updateServerListing() - # creating progress dialog for download + # creating progress dialog for download self.progress_dialog = QProgressDialog(self) self.progress_dialog.setAutoClose(True) # False # was set originally title = self.tr("WSC-2.0/EO-WCS Downloader") self.progress_dialog.setWindowTitle(title) - # instantiate the wcsClient + # instantiate the wcsClient self.myWCS = wcsClient() self.treeWidget_GCa.itemClicked.connect(self.on_GCa_clicked) @@ -159,34 +164,31 @@ def __init__(self, iface): self.treeWidget_DCS.itemClicked.connect(self.on_DCS_clicked) self.treeWidget_GCov.itemClicked.connect(self.on_GCov_clicked) -#--------------- - # remove all 'keys' which are set to 'None' from the request-parameter dictionary + # --------------- + # remove all 'keys' which are set to 'None' from the request-parameter dictionary def clear_req_params(self, req_params): - #print "I'm in "+sys._getframe().f_code.co_name + # print "I'm in "+sys._getframe().f_code.co_name - for k, v in req_params.items(): + for k, v in list(req_params.items()): if v is None: req_params.pop(k) return req_params + ## ====== Beginning Server Tab-section ====== - -## ====== Beginning Server Tab-section ====== - -#--------------- - # add a new server to the list + # --------------- + # add a new server to the list def newServer(self): global config - #print 'btnNew: I am adding a New ServerName/URL' + # print 'btnNew: I am adding a New ServerName/URL' flags = Qt.WindowTitleHint | Qt.WindowSystemMenuHint | Qt.WindowMinimizeButtonHint | Qt.WindowMaximizeButtonHint dlgNew = qgsnewhttpconnectionbase(self, flags, toEdit=False, choice='') dlgNew.show() self.btnConnectServer_Serv.setFocus(True) - -#--------------- - # read the selected server/url params + # --------------- + # read the selected server/url params def get_serv_url(self): global serv @@ -195,18 +197,19 @@ def get_serv_url(self): sel_url = config.srv_list['servers'][idx][1] return sel_serv, sel_url - -#--------------- - # modify a server entry + # --------------- + # modify a server entry def editServer(self): global config - #print "btnEdit: here we are editing... " + # print "btnEdit: here we are editing... " flags = Qt.WindowTitleHint | Qt.WindowSystemMenuHint | Qt.WindowMinimizeButtonHint | Qt.WindowMaximizeButtonHint idx = self.cmbConnections_Serv.currentIndex() select_serv = config.srv_list['servers'][idx] - print "Editing: ", idx, " -- ", select_serv, " -- Check: ", serv[idx] + # fix_print_with_import + # fix_print_with_import + print("Editing: ", idx, " -- ", select_serv, " -- Check: ", serv[idx]) dlgEdit = qgsnewhttpconnectionbase(self, flags, toEdit=True, choice=idx) dlgEdit.txt_NewSrvName.setText(select_serv[0]) @@ -214,25 +217,27 @@ def editServer(self): dlgEdit.show() self.btnConnectServer_Serv.setFocus(True) -#--------------- - # delete a server entry + # --------------- + # delete a server entry def deleteServer(self): global config - #print "btnDelete: here we are deleting...." + # print "btnDelete: here we are deleting...." idx = self.cmbConnections_Serv.currentIndex() - print "Deleting: ", serv[idx]," -- ",config.srv_list['servers'][idx] + # fix_print_with_import + # fix_print_with_import + print("Deleting: ", serv[idx], " -- ", config.srv_list['servers'][idx]) config.srv_list['servers'].pop(idx) self.write_srv_list() self.updateServerListing() self.btnConnectServer_Serv.setFocus(True) -#--------------- - #sort the server list alphabetically + # --------------- + # sort the server list alphabetically def sortServerListing(self): - #print "btnSort_Serv: here we are sorting...." + # print "btnSort_Serv: here we are sorting...." config.srv_list = config.read_srv_list() config.srv_list['servers'].sort() @@ -240,13 +245,13 @@ def sortServerListing(self): self.updateServerListing() self.btnConnectServer_Serv.setFocus(True) -#--------------- - # update the server-listing shown in the selectionBar + # --------------- + # update the server-listing shown in the selectionBar def updateServerListing(self): global serv global config - #print "btnUpdateServerListing: here we are updating the ServerList...." + # print "btnUpdateServerListing: here we are updating the ServerList...." serv = [] config.srv_list = config.read_srv_list() idx = self.cmbConnections_Serv.currentIndex() @@ -257,69 +262,70 @@ def updateServerListing(self): self.cmbConnections_Serv.clear() self.cmbConnections_Serv.addItems(serv) -#--------------- - # write the sever names/urls to a file + # --------------- + # write the sever names/urls to a file @mouse_busy def write_srv_list(self): - #print "btnwriteServerListing: here we are writing the ServerList...." + # print "btnwriteServerListing: here we are writing the ServerList...." plugin_dir = os.path.dirname(os.path.realpath(__file__)) outsrvlst = os.path.join(plugin_dir, 'config_srvlist.pkl') fo = open(outsrvlst, 'wb') pickle.dump(config.srv_list, fo, 0) fo.close() -#--------------- - # import WCS Names & Urls from the antive Qgis-settings location + # --------------- + # import WCS Names & Urls from the antive Qgis-settings location @mouse_busy - def importQgis_ServList(self): + def importQgis_ServList(self, *args): global config - from PyQt4.QtCore import QSettings + from qgis.PyQt.QtCore import QSettings - #print "btnImport_QgsWcsUrls: here we are importing the Qgis-WCS ServerList...." + # print "btnImport_QgsWcsUrls: here we are importing the Qgis-WCS ServerList...." qgs_settings = QSettings(QSettings.NativeFormat, QSettings.UserScope, 'QGIS', 'QGIS2') qgis_wcs_urls = [] for elem in qgs_settings.allKeys(): if elem.startswith('Qgis/connections-wcs') and elem.endswith('url'): - print 'Importing WCS-Url: ', str.rsplit(str(elem),'/',2)[-2], qgs_settings.value(elem) - qgis_wcs_urls.append([str.rsplit(str(elem),'/',2)[-2], str(qgs_settings.value(elem))]) + # fix_print_with_import + print('Importing WCS-Url: ', str.rsplit(str(elem), '/', 2)[-2], qgs_settings.value(elem)) + qgis_wcs_urls.append([str.rsplit(str(elem), '/', 2)[-2], str(qgs_settings.value(elem))]) # append qgis_wcs_urls to the QgsWcsClient2 plugin settings config.srv_list = config.read_srv_list() for elem in qgis_wcs_urls: - config.srv_list['servers'].append((unicode(elem[0]), elem[1])) + config.srv_list['servers'].append((str(elem[0]), elem[1])) # write the imported settings to the QgsWcsClient2 plugin settings file self.write_srv_list() self.updateServerListing() self.btnConnectServer_Serv.setFocus(True) - -#--------------- - # get the path where the downloaded datasets shall be stored + # --------------- + # get the path where the downloaded datasets shall be stored @mouse_busy - def get_outputLoc(self): + def get_outputLoc(self, *args): global req_outputLoc start_dir = os.getenv("HOME") req_outputLoc = QFileDialog.getExistingDirectory(self, "Select Output Path", start_dir) if len(req_outputLoc) > 0: if not req_outputLoc.endswith(os.sep): - req_outputLoc = req_outputLoc+os.sep + req_outputLoc = req_outputLoc + os.sep self.lineEdit_Serv_OutputLoc.setText(str(req_outputLoc)) - -#--------------- - # check if the url exist and if we get a respond to a simple OWS request + # --------------- + # check if the url exist and if we get a respond to a simple OWS request @mouse_busy - def connectServer(self): + def connectServer(self, *args): global config global serv FGCa_sect = False selected_serv, selected_url = self.get_serv_url() - print 'You choose: ', selected_serv, "URL:", selected_url + # fix_print_with_import + # fix_print_with_import + print('You choose: ', selected_serv, "URL:", selected_url) if self.tab_GCa.isEnabled(): self.tab_GCa.setEnabled(False) @@ -335,58 +341,61 @@ def connectServer(self): self.checkBox_DCSFull.setChecked(False) url_base = selected_url - # request only §ions=ServiceMetadata -- this makes if faster (especially on large sites), - # but some Servers don't provide/accept it, so there is a fallback implemented + # request only §ions=ServiceMetadata -- this makes if faster (especially on large sites), + # but some Servers don't provide/accept it, so there is a fallback implemented url_ext1 = "service=WCS&request=GetCapabilities§ions=ServiceMetadata,ServiceIdentification" url_ext2 = "service=WCS&request=GetCapabilities" myUrl = url_base + url_ext1 myUrl2 = url_base + url_ext2 - msg = "Your choice: "+selected_serv.encode()+"\n" - msg = msg+"URL: "+selected_url.encode()+"\n" + msg = "Your choice: " + selected_serv + "\n" + msg = msg + "URL: " + selected_url + "\n" srv_valid = QUrl(myUrl).isValid() - if srv_valid is True: - msg = msg+"Server address is valid \n" - msg = msg+"Now testing the connection and response.....\n " - msg = msg+" this may take some time (depending on the server and the volume of its offering)\n" + if srv_valid is True: + msg = msg + "Server address is valid \n" + msg = msg + "Now testing the connection and response.....\n " + msg = msg + " this may take some time (depending on the server and the volume of its offering)\n" self.textBrowser_Serv.setText(msg) self.progress_dialog.done(QDialog.Accepted) self.progress_dialog.cancel() self.progress_dialog.show() - #after changing a server connection --> reset all fields (at least the combo-boxes) + # after changing a server connection --> reset all fields (at least the combo-boxes) self.reset_comboboxes() req_qgsmng = QNetworkAccessManager(self) - # start the download + # start the download response = download_url(req_qgsmng, myUrl, None, self.progress_dialog) - #print 'myUrl: ', response[0:1] , type(response[1]) - #print 'Payload: ',response[2] + # print 'myUrl: ', response[0:1] , type(response[1]) + # print 'Payload: ',response[2] - # check if response is valid and useful, else try the fallback or issue an error + # check if response is valid and useful, else try the fallback or issue an error if response[0] is not True: response = download_url(req_qgsmng, myUrl2, None, self.progress_dialog) - #print 'myUrl2',response[0:1] + # print 'myUrl2',response[0:1] if response[0] is not True: - msg = msg+"Response: An Error occurred: --> "+str(response[1])+"\n HTTP-Code received: "+str(response[0])+"\n" + msg = msg + "Response: An Error occurred: --> " + str(response[1]) + "\n HTTP-Code received: " + str( + response[0]) + "\n" self.progress_dialog.close() else: msg = self.eval_response(response, msg) - elif response[0] is True and ((type(response[2]) is unicode or type(response[2]) is str) and response[2].startswith('Redirection-URL:')): - msg = msg+"\n\t**** ATTENTION! ****\nThe server you selected:\n\t"+selected_serv +"\nresponded with a:\n\t"+response[2]+"\n" - msg = msg+"Please VERIFY(!) URL and change your Server-List accordingly." + elif response[0] is True and ( + (type(response[2]) is str or type(response[2]) is str) and response[2].startswith('Redirection-URL:')): + msg = msg + "\n\t**** ATTENTION! ****\nThe server you selected:\n\t" + selected_serv + "\nresponded with a:\n\t" + \ + response[2] + "\n" + msg = msg + "Please VERIFY(!) URL and change your Server-List accordingly." self.progress_dialog.close() elif response[0] is True and ((response[2] is not None or len(response[2]) == 0)): FGCa_sect = True msg = self.eval_response(response, msg) else: - msg = msg+"Response: An Error occurred: --> "+str(response[1])+"\n HTTP-Code received: "+str(response[0])+"\n" + msg = msg + "Response: An Error occurred: --> " + str(response[1]) + "\n HTTP-Code received: " + str( + response[0]) + "\n" self.progress_dialog.close() - self.textBrowser_Serv.setText(msg) if FGCa_sect is True: @@ -396,12 +405,11 @@ def connectServer(self): self.checkBox_GCaDaSerSum.setChecked(False) self.checkBox_GCaCovSum.setChecked(False) - -#--------------- - # reset content of combo-boxes and tree-widgets + # --------------- + # reset content of combo-boxes and tree-widgets def reset_comboboxes(self): global config - #print 'Config.Interpol: ', config.default_interpol + # print 'Config.Interpol: ', config.default_interpol self.treeWidget_GCa.clear() self.treeWidget_DC.clear() @@ -414,17 +422,17 @@ def reset_comboboxes(self): for elem in range(0, 3): self.comboBox_GCovInterpol.addItem(_fromUtf8("")) - self.comboBox_GCovInterpol.setItemText(elem, _translate("QgsWcsClient2", config.default_interpol[elem], None)) - + self.comboBox_GCovInterpol.setItemText(elem, + _translate("QgsWcsClient2", config.default_interpol[elem], None)) -#--------------- - # evaluate a valid response and enable settings in the tabs + # --------------- + # evaluate a valid response and enable settings in the tabs def eval_response(self, response, msg): - msg = msg+"Response: Server OK\n" + msg = msg + "Response: Server OK\n" ret_msg = self.parse_first_xml(response[2]) if ret_msg is not None: - msg = msg + "\n"+ret_msg + msg = msg + "\n" + ret_msg self.treeWidget_GCa.clear() self.treeWidget_DC.clear() self.treeWidget_DCS.clear() @@ -432,8 +440,8 @@ def eval_response(self, response, msg): self.progress_dialog.close() - # all tabs (except Server/Help/About) are disabled until server connection is OK - # once server connection is verifyed, activate all other tabs + # all tabs (except Server/Help/About) are disabled until server connection is OK + # once server connection is verifyed, activate all other tabs if not self.tab_GCa.isEnabled(): self.tab_GCa.setEnabled(True) if not self.tab_DC.isEnabled(): @@ -475,96 +483,96 @@ def eval_response(self, response, msg): return msg - -#--------------- - # get a mapping of the namespaces + # --------------- + # get a mapping of the namespaces def get_namespace(self, result_xml): - my_nsp=result_xml.getroot().nsmap + my_nsp = result_xml.getroot().nsmap return my_nsp -#--------------- - # get a listing of interpoation methods offered + # --------------- + # get a listing of interpoation methods offered def getlist_interpol(self, result_xml, my_nsp): - interpol=[] - for k,v in my_nsp.iteritems(): + interpol = [] + for k, v in my_nsp.items(): if 'int' in k: - prefix = './/' +k+ ':' - #print prefix + prefix = './/' + k + ':' + # print prefix - for elem in (result_xml.findall(prefix+'InterpolationSupported', my_nsp)): + for elem in (result_xml.findall(prefix + 'InterpolationSupported', my_nsp)): interpol.append(os.path.basename(elem.text)) if len(interpol) == 0: - for elem in (result_xml.findall(prefix+'interpolationSupported', my_nsp)): - interpol.append(elem.text.rsplit('/',1)[1]) + for elem in (result_xml.findall(prefix + 'interpolationSupported', my_nsp)): + interpol.append(elem.text.rsplit('/', 1)[1]) if len(interpol) == 0: interpol = config.default_interpol return interpol -#--------------- - # get a listing of CRSs offered + # --------------- + # get a listing of CRSs offered def getlist_crs(self, result_xml, my_nsp): - crs=[] - for k,v in my_nsp.iteritems(): + crs = [] + for k, v in my_nsp.items(): if 'crs' in k: - prefix = './/' +k+ ':' - #print prefix + prefix = './/' + k + ':' + # print prefix - for elem in (result_xml.findall(prefix+'crsSupported', my_nsp)): - #print elem.text + for elem in (result_xml.findall(prefix + 'crsSupported', my_nsp)): + # print elem.text crs.append(os.path.basename(elem.text)) if 'wcscrs' in k: - prefix = './/' +k+ ':' - #print prefix + prefix = './/' + k + ':' + # print prefix - for elem in (result_xml.findall(prefix+'crsSupported', my_nsp)): - #print elem.text + for elem in (result_xml.findall(prefix + 'crsSupported', my_nsp)): + # print elem.text crs.append(os.path.basename(elem.text)) return crs -#--------------- - # get a listing of fromats offered + # --------------- + # get a listing of fromats offered def getlist_formats(self, result_xml, my_nsp): - formats=[] - for k,v in my_nsp.iteritems(): + formats = [] + for k, v in my_nsp.items(): if 'wcs' in k: - prefix = './/' +k+ ':' - #print prefix + prefix = './/' + k + ':' + # print prefix - for elem in (result_xml.findall(prefix+'formatSupported', my_nsp)): - #print elem.text + for elem in (result_xml.findall(prefix + 'formatSupported', my_nsp)): + # print elem.text formats.append(elem.text) return formats -#--------------- - # parse the response issued during "Server Connect" and set some parameters + # --------------- + # parse the response issued during "Server Connect" and set some parameters def parse_first_xml(self, in_xml): global offered_version global config global use_wcs_GCo_call use_wcs_GCo_call = 0 - join_xml = ''.join(in_xml) + join_xml = b''.join(in_xml) - #fix by hkristen + # fix by hkristen tree1 = etree.XML(join_xml) offered_version = tree1.attrib['version'] - print 'WCS-Version: ', offered_version + # fix_print_with_import + # fix_print_with_import + print('WCS-Version: ', offered_version) - # since this is for plugin WCS >2.0 and EO-WCS, we skip the WCS 1.x and issue an error + # since this is for plugin WCS >2.0 and EO-WCS, we skip the WCS 1.x and issue an error if offered_version.startswith('1'): msg = "WARNING: \nThe selected Site doesn't support WCS 2.0 or above. \n\n" - msg = msg+"The server responded with supported version: "+ offered_version +"\n" - msg = msg+" (Hint: try to use the QGis internal WCS for this site)" + msg = msg + "The server responded with supported version: " + offered_version + "\n" + msg = msg + " (Hint: try to use the QGis internal WCS for this site)" self.progress_dialog.close() warning_msg(msg) return msg - # check which additional profiles are offered # especially for the "WCS_service-extension_crs/1.0/conf/crs" profile, since this one changes the request syntax target_profile = "WCS_service-extension_crs/1.0/conf/crs" @@ -572,11 +580,11 @@ def parse_first_xml(self, in_xml): res_prof = [x for x in profiles if (target_profile in x)] if res_prof.__len__() > 0: - # set global parameter for WCS-GetCoverage call selection + # set global parameter for WCS-GetCoverage call selection use_wcs_GCo_call = 1 my_nsp = self.get_namespace(tree1.getroottree()) - #print 'MY_NSP: ',my_nsp + # print 'MY_NSP: ',my_nsp interpol = self.getlist_interpol(tree1, my_nsp) outcrs = self.getlist_crs(tree1, my_nsp) @@ -587,20 +595,20 @@ def parse_first_xml(self, in_xml): interpol_num = len(interpol) support_outcrs = [] support_interpol = [] - #print 'INT-1: ', interpol - #print 'INT-1a: ', outcrs + # print 'INT-1: ', interpol + # print 'INT-1a: ', outcrs - # set the output-crs, output-format, and interpolation possibilities - # in the corresponding combo-boxes + # set the output-crs, output-format, and interpolation possibilities + # in the corresponding combo-boxes for elem in outcrs: support_outcrs.append(os.path.basename(elem)) for elem in interpol: support_interpol.append(os.path.basename(elem)) - #print 'supported_format: ',oformat_num, type(outformat), outformat - #print 'supported_outcrs: ',ocrs_num, type(outcrs), outcrs - #print 'supported_interpol: ', interpol_num, type(interpol), interpol + # print 'supported_format: ',oformat_num, type(outformat), outformat + # print 'supported_outcrs: ',ocrs_num, type(outcrs), outcrs + # print 'supported_interpol: ', interpol_num, type(interpol), interpol for elem in range(0, oformat_num): self.comboBox_GCOvOutFormat.addItem(_fromUtf8("")) @@ -615,14 +623,11 @@ def parse_first_xml(self, in_xml): self.comboBox_GCovInterpol.addItem(_fromUtf8("")) self.comboBox_GCovInterpol.setItemText(elem, _translate("QgsWcsClient2", support_interpol[elem], None)) + ## ====== End of Server Tab-section ====== - -## ====== End of Server Tab-section ====== - - -#--------------- + # --------------- @mouse_busy - def exeGetCapabilities(self): + def exeGetCapabilities(self, *args): """ read-out params from the GetCapabilities Tab, execute the request and show results """ @@ -670,56 +675,57 @@ def exeGetCapabilities(self): # basic request setting req_params = {'request': 'GetCapabilities', - 'server_url': selected_url, - 'updateSequence': req_updateDate, - 'sections' : req_sections} + 'server_url': selected_url, + 'updateSequence': req_updateDate, + 'sections': req_sections} req_params = self.clear_req_params(req_params) - #print 'GCa: ',req_params + # print 'GCa: ',req_params - # issue the WCS request + # issue the WCS request GCa_result = self.myWCS.GetCapabilities(req_params) - #print "GCa_result: ", type(GCa_result), GCa_result[0], GCa_result[1], GCa_result - if type(GCa_result) is list and GCa_result[0] == 'ERROR': - self.textBrowser_Serv.setText(GCa_result[0]+'\n'+GCa_result[1]+'\n HINT: Select only the "All" setting or select none') - warning_msg(GCa_result[0]+'\n'+GCa_result[1]+'\n HINT: Select only the All setting or select none') + # print "GCa_result: ", type(GCa_result), GCa_result[0], GCa_result[1], GCa_result + if type(GCa_result) is list and GCa_result[0] == 'ERROR': + self.textBrowser_Serv.setText(GCa_result[0] + '\n' + GCa_result[ + 1].decode() + '\n HINT: Select only the "All" setting or select none') + warning_msg(GCa_result[0] + '\n' + GCa_result[ + 1].decode() + '\n HINT: Select only the All setting or select none') return - - #print 'RESULT: ',GCa_result + # print 'RESULT: ',GCa_result if req_full_GCa is False: - # parse the results and place them in the crespective widgets - try: - cov_ids, dss_ids, dss_begin, dss_end, cov_lcorn, cov_ucorn, dss_lcorn, dss_ucorn = self.parse_GCa_xml(GCa_result) - except TypeError: - self.textBrowser_Serv.setText("No usable results received"+'\n HINT: Select only the "All" setting or select none') - warning_msg("No usable results received"+'\n HINT: Select only the All setting or select none') - return - - # TODO -- add the coverage extension (BoundingBox) information to the respective Tabs + # parse the results and place them in the crespective widgets + # try: + cov_ids, dss_ids, dss_begin, dss_end, cov_lcorn, cov_ucorn, dss_lcorn, dss_ucorn = self.parse_GCa_xml( + GCa_result) + # except TypeError: + # self.textBrowser_Serv.setText("No usable results received"+'\n HINT: Select only the "All" setting or select none') + # warning_msg("No usable results received"+'\n HINT: Select only the All setting or select none') + # return + + # TODO -- add the coverage extension (BoundingBox) information to the respective Tabs if len(cov_ids) > 0: - for ids, uc, lc, in izip_longest(cov_ids, cov_ucorn, cov_lcorn, fillvalue = ""): + for ids, uc, lc, in zip_longest(cov_ids, cov_ucorn, cov_lcorn, fillvalue=""): inlist = (ids, "", "", uc, lc, "C") - item = QtGui.QTreeWidgetItem(self.treeWidget_GCa, inlist) + item = QtWidgets.QTreeWidgetItem(self.treeWidget_GCa, inlist) if len(dss_ids) > 0: - for a, b, c, d, e in izip_longest(dss_ids, dss_begin, dss_end, dss_ucorn, dss_lcorn, fillvalue = ""): + for a, b, c, d, e in zip_longest(dss_ids, dss_begin, dss_end, dss_ucorn, dss_lcorn, fillvalue=""): inlist = (a, b, c, d, e, "S") - item = QtGui.QTreeWidgetItem(self.treeWidget_GCa, inlist) - + item = QtWidgets.QTreeWidgetItem(self.treeWidget_GCa, inlist) self.treeWidget_GCa.resizeColumnToContents(0) else: myDisplay_txt = display_txt(self) - myDisplay_txt.textBrowser_Disp.setText(GCa_result) + myDisplay_txt.textBrowser_Disp.setText(GCa_result.decode()) myDisplay_txt.show() if self.checkBox_GCaFull.isChecked(): self.checkBox_GCaFull.setChecked(False) QApplication.changeOverrideCursor(Qt.ArrowCursor) -#--------------- - # GetCapabilities button + # --------------- + # GetCapabilities button def on_GCa_clicked(self): global cov_ids global dss_ids @@ -729,23 +735,25 @@ def on_GCa_clicked(self): self.treeWidget_DCS.clear() self.treeWidget_GCov.clear() - # place selected items also in the DescribeCoverage, DescribeEOCoverageSet, GetCoverage Tab widgets + # place selected items also in the DescribeCoverage, DescribeEOCoverageSet, GetCoverage Tab widgets for elem in sel_GCa_items: - # covID BeginTime EndTime UpperCorner LowerCorner [C]/[S] - print 'Selected Item: ', elem.data(0, 0), elem.data(1, 0), elem.data(2, 0), elem.data(3, 0), elem.data(4, 0), elem.data(5, 0) + # covID BeginTime EndTime UpperCorner LowerCorner [C]/[S] + # fix_print_with_import + print('Selected Item: ', elem.data(0, 0), elem.data(1, 0), elem.data(2, 0), elem.data(3, 0), + elem.data(4, 0), elem.data(5, 0)) if elem.data(0, 0) in cov_ids: - item = QtGui.QTreeWidgetItem(self.treeWidget_DC, (elem.data(0, 0), )) - item2 = QtGui.QTreeWidgetItem(self.treeWidget_GCov, (elem.data(0, 0), )) + item = QtWidgets.QTreeWidgetItem(self.treeWidget_DC, (elem.data(0, 0),)) + item2 = QtWidgets.QTreeWidgetItem(self.treeWidget_GCov, (elem.data(0, 0),)) elif elem.data(0, 0) in dss_ids: - item1 = QtGui.QTreeWidgetItem(self.treeWidget_DCS, (elem.data(0, 0), elem.data(1, 0), elem.data(2, 0), elem.data(3, 0), elem.data(4, 0))) + item1 = QtWidgets.QTreeWidgetItem(self.treeWidget_DCS, ( + elem.data(0, 0), elem.data(1, 0), elem.data(2, 0), elem.data(3, 0), elem.data(4, 0))) self.treeWidget_DC.resizeColumnToContents(0) self.treeWidget_DCS.resizeColumnToContents(0) self.treeWidget_GCov.resizeColumnToContents(0) - -#--------------- - # updateDate field + # --------------- + # updateDate field def updateDateChanged(self): if self.dateEdit_GCaDocUpdate.isEnabled(): @@ -753,78 +761,83 @@ def updateDateChanged(self): else: self.dateEdit_GCaDocUpdate.setEnabled(True) - -#--------------- - # parse GetCapabilities XML-response + # --------------- + # parse GetCapabilities XML-response def parse_GCa_xml(self, GCa_result): + tree = etree.fromstring(GCa_result).getroottree() + nsmap = tree.getroot().nsmap - join_xml = ''.join(GCa_result) - tree = etree.fromstring(join_xml).getroottree() - nsmap=tree.getroot().nsmap - - if len(tree.xpath("wcs:Contents", namespaces=nsmap)) == 0: + if len(tree.xpath("wcs20:Contents", namespaces=nsmap)) == 0: return # Coverages ID try: - coverage_ids = tree.xpath("wcs:Contents/wcs:CoverageSummary/wcs:CoverageId/text()", namespaces=nsmap) + coverage_ids = tree.xpath("wcs20:Contents/wcs20:CoverageSummary/wcs20:CoverageId/text()", namespaces=nsmap) except etree.XPathEvalError: coverage_ids = [] # Coverages ID - Corner Coordinates try: - cov_lower_corner = tree.xpath("wcs:Contents/wcs:CoverageSummary/ows:WGS84BoundingBox/ows:LowerCorner/text()", namespaces=nsmap) + cov_lower_corner = tree.xpath( + "wcs20:Contents/wcs20:CoverageSummary/ows:WGS84BoundingBox/ows:LowerCorner/text()", namespaces=nsmap) except etree.XPathEvalError: cov_lower_corner = [] try: - cov_upper_corner = tree.xpath("wcs:Contents/wcs:CoverageSummary/ows:WGS84BoundingBox/ows:UpperCorner/text()", namespaces=nsmap) + cov_upper_corner = tree.xpath( + "wcs20:Contents/wcs20:CoverageSummary/ows:WGS84BoundingBox/ows:UpperCorner/text()", namespaces=nsmap) except etree.XPathEvalError: cov_upper_corner = [] - # DatasetSeries ID try: - datasetseries_ids = tree.xpath("wcs:Contents/wcs:Extension/wcseo:DatasetSeriesSummary/wcseo:DatasetSeriesId/text()", namespaces=nsmap) + datasetseries_ids = tree.xpath( + "wcs20:Contents/wcs20:Extension/wcseo:DatasetSeriesSummary/wcseo:DatasetSeriesId/text()", + namespaces=nsmap) except etree.XPathEvalError: datasetseries_ids = [] # DatasetSeries - Time Period try: - datasetseries_timeBegin = tree.xpath("wcs:Contents/wcs:Extension/wcseo:DatasetSeriesSummary/gml:TimePeriod/gml:beginPosition/text()", namespaces=nsmap) + datasetseries_timeBegin = tree.xpath( + "wcs20:Contents/wcs20:Extension/wcseo:DatasetSeriesSummary/gml:TimePeriod/gml:beginPosition/text()", + namespaces=nsmap) except etree.XPathEvalError: datasetseries_ids = [] datasetseries_timeBegin = [] try: - datasetseries_timeEnd = tree.xpath("wcs:Contents/wcs:Extension/wcseo:DatasetSeriesSummary/gml:TimePeriod/gml:endPosition/text()", namespaces=nsmap) + datasetseries_timeEnd = tree.xpath( + "wcs20:Contents/wcs20:Extension/wcseo:DatasetSeriesSummary/gml:TimePeriod/gml:endPosition/text()", + namespaces=nsmap) except etree.XPathEvalError: datasetseries_timeEnd = [] # DatasetSeries - Corner Coordinates try: - datasetseries_lower_corner = tree.xpath("wcs:Contents/wcs:Extension/wcseo:DatasetSeriesSummary/ows:WGS84BoundingBox/ows:LowerCorner/text()", namespaces=nsmap) + datasetseries_lower_corner = tree.xpath( + "wcs20:Contents/wcs20:Extension/wcseo:DatasetSeriesSummary/ows:WGS84BoundingBox/ows:LowerCorner/text()", + namespaces=nsmap) except etree.XPathEvalError: datasetseries_lower_corner = [] try: - datasetseries_upper_corner = tree.xpath("wcs:Contents/wcs:Extension/wcseo:DatasetSeriesSummary/ows:WGS84BoundingBox/ows:UpperCorner/text()", namespaces=nsmap) + datasetseries_upper_corner = tree.xpath( + "wcs20:Contents/wcs20:Extension/wcseo:DatasetSeriesSummary/ows:WGS84BoundingBox/ows:UpperCorner/text()", + namespaces=nsmap) except etree.XPathEvalError: datasetseries_upper_corner = [] - return coverage_ids, datasetseries_ids, datasetseries_timeBegin, datasetseries_timeEnd, cov_lower_corner, cov_upper_corner, datasetseries_lower_corner, datasetseries_upper_corner + ## ====== End of GetCapabilities section ====== -## ====== End of GetCapabilities section ====== - - -## ====== Beginning DescribeCoverage section ====== - # read-out the DescribeCoverage Tab, execute a DescribeCoverage request and display response - # in a general purpose window + ## ====== Beginning DescribeCoverage section ====== + # read-out the DescribeCoverage Tab, execute a DescribeCoverage request and display response + # in a general purpose window @mouse_busy - def exeDescribeCoverage(self): + def exeDescribeCoverage(self, *args): global selected_covid global offered_crs global offered_version @@ -832,32 +845,34 @@ def exeDescribeCoverage(self): selected_serv, selected_url = self.get_serv_url() try: - # a basic DescribeCoverage request + # a basic DescribeCoverage request req_params = {'version': offered_version, - 'request': 'DescribeCoverage', - 'server_url': selected_url, - 'coverageID': selected_covid } + 'request': 'DescribeCoverage', + 'server_url': selected_url, + 'coverageID': selected_covid} except NameError: msg = "Error: You need to select a CoverageID first!\n (see also GetCapabilities TAB)" warning_msg(msg) return - req_params = self.clear_req_params(req_params) - #print "DC: ", req_params + # print "DC: ", req_params DC_result = self.myWCS.DescribeCoverage(req_params) - # also read out the gml:Envelope axisLabels - use only first returned entry - # TODO - associate the right axisLabe / CRS etc. with each cooverage - join_xml = ''.join(DC_result) - tree = etree.fromstring(join_xml) - axis_labels = tree.xpath("wcs:CoverageDescription/gml:boundedBy/gml:Envelope/@axisLabels|wcs:CoverageDescription/gml:boundedBy/gml:EnvelopeWithTimePeriod/@axisLabels", namespaces=tree.nsmap) - axis_labels = axis_labels[0].encode().split(" ") - #print 'AxisLabels: ',axis_labels - offered_crs = tree.xpath("wcs:CoverageDescription/gml:boundedBy/gml:Envelope/@srsName|wcs:CoverageDescription/gml:boundedBy/gml:EnvelopeWithTimePeriod/@srsName", namespaces=tree.nsmap) + # also read out the gml:Envelope axisLabels - use only first returned entry + # TODO - associate the right axisLabe / CRS etc. with each cooverage + tree = etree.fromstring(DC_result) + axis_labels = tree.xpath( + "wcs:CoverageDescription/gml:boundedBy/gml:Envelope/@axisLabels|wcs:CoverageDescription/gml:boundedBy/gml:EnvelopeWithTimePeriod/@axisLabels", + namespaces=tree.nsmap) + axis_labels = axis_labels[0].split(" ") + # print 'AxisLabels: ',axis_labels + offered_crs = tree.xpath( + "wcs:CoverageDescription/gml:boundedBy/gml:Envelope/@srsName|wcs:CoverageDescription/gml:boundedBy/gml:EnvelopeWithTimePeriod/@srsName", + namespaces=tree.nsmap) offered_crs = os.path.basename(offered_crs[0]) - #print 'Offered CRS: ',offered_crs - # set a default if AxisdLabels, offered_crs are not presented + # print 'Offered CRS: ',offered_crs + # set a default if AxisdLabels, offered_crs are not presented if len(axis_labels) == 0: axis_labels = ["", ""] if len(offered_crs) == 0: @@ -878,41 +893,35 @@ def exeDescribeCoverage(self): else: self.comboBox_GCovOutCRS.setCurrentIndex(combo_idx) - # open a new window to display the returned DescribeCoverage-Response XMl myDisplay_txt = display_txt(self) - myDisplay_txt.textBrowser_Disp.setText(DC_result) + myDisplay_txt.textBrowser_Disp.setText(DC_result.decode()) myDisplay_txt.show() QApplication.changeOverrideCursor(Qt.ArrowCursor) - -#--------------- - # the DescribeCoverage Button + # --------------- + # the DescribeCoverage Button def on_DC_clicked(self): global selected_covid sel_DC_items = self.treeWidget_DC.selectedItems() - selected_covid = sel_DC_items[0].data(0, 0).encode() - + selected_covid = sel_DC_items[0].data(0, 0) -#--------------- - # parse DescribeCoverage XML-response -# def parse_DC_xml(self, DC_result): -# -# #print "I'm in "+sys._getframe().f_code.co_name -# join_xml = ''.join(DC_result) + # --------------- + # parse DescribeCoverage XML-response + # def parse_DC_xml(self, DC_result): + # + # #print "I'm in "+sys._getframe().f_code.co_name + # join_xml = ''.join(DC_result) + ## ====== End of DescribeCoverage section ====== - -## ====== End of DescribeCoverage section ====== - - -## ====== Beginning DescribeEOCoverageSet section ====== - # read-out the DescribeEOCoverageSet Tab, execute a DescribeEOCoverageSet request and display response - # in the GetCoverage Tab (for further selection and execution) + ## ====== Beginning DescribeEOCoverageSet section ====== + # read-out the DescribeEOCoverageSet Tab, execute a DescribeEOCoverageSet request and display response + # in the GetCoverage Tab (for further selection and execution) @mouse_busy - def exeDescribeEOCoverageSet(self): + def exeDescribeEOCoverageSet(self, *args): global selected_eoid global offered_crs global offered_version @@ -956,57 +965,55 @@ def exeDescribeEOCoverageSet(self): if len(min_x) == 0 or len(max_x) == 0: req_lon = None else: - req_lon = str(min_x+","+max_x) + req_lon = str(min_x + "," + max_x) if len(min_y) == 0 or len(max_y) == 0: req_lat = None else: - req_lat = str(min_y+","+max_y) + req_lat = str(min_y + "," + max_y) if self.checkBox_DCS_ActiveDate.isChecked(): beginTime = self.dateTimeEdit_DCSBegin.text() endTime = self.dateTimeEdit_DCSEnd.text() - # check if begin is before end; otherwise err_msg + # check if begin is before end; otherwise err_msg if beginTime > endTime: - msg="Dates entered: End-Time before Start-Time\nPlease correct the Dates" + msg = "Dates entered: End-Time before Start-Time\nPlease correct the Dates" warning_msg(msg) return - req_toi = str(beginTime.strip()+","+endTime.strip()) + req_toi = str(beginTime.strip() + "," + endTime.strip()) else: req_toi = None - try: - # a basic DescribeEOCoverageSet request + # a basic DescribeEOCoverageSet request if type(selected_eoid) is list: selected_eoid = ','.join(selected_eoid) req_params = {'version': offered_version, - 'request': 'DescribeEOCoverageSet', - 'server_url': selected_url, - 'eoID': selected_eoid, - 'subset_lon': req_lon, - 'subset_lat': req_lat, - 'subset_time': req_toi, - 'containment' : req_contain, - 'count' : req_count, - 'sections' : req_sections, - 'IDs_only': req_IDs_only} - #print 'req_params: ', req_params - except NameError: + 'request': 'DescribeEOCoverageSet', + 'server_url': selected_url, + 'eoID': selected_eoid, + 'subset_lon': req_lon, + 'subset_lat': req_lat, + 'subset_time': req_toi, + 'containment': req_contain, + 'count': req_count, + 'sections': req_sections, + 'IDs_only': req_IDs_only} + # print 'req_params: ', req_params + except NameError as e: msg = "Error: You need to select an DatasetSeriesID (eoID) first!\n (see also GetCapabilities TAB)" warning_msg(msg) return - req_params = self.clear_req_params(req_params) - #print "DCS: ",req_params + # print "DCS: ",req_params - if req_params.has_key('IDs_only') and req_params['IDs_only'] == True: + if 'IDs_only' in req_params and req_params['IDs_only'] == True: try: DCS_result, axis_labels, offered_crs = self.myWCS.DescribeEOCoverageSet(req_params) except IndexError: - msg='Sorry, it seems that there are no datasets for the chosen parameters.' + msg = 'Sorry, it seems that there are no datasets for the chosen parameters.' warning_msg(msg) return @@ -1033,30 +1040,27 @@ def exeDescribeEOCoverageSet(self): else: DCS_result = self.myWCS.DescribeEOCoverageSet(req_params) - # get only the IDs to be used thereafter in the GetCoverage Tab & Request if req_params['IDs_only'] == True: self.treeWidget_GCov.clear() for elem in DCS_result: - item = QtGui.QTreeWidgetItem(self.treeWidget_GCov, [elem]) + item = QtWidgets.QTreeWidgetItem(self.treeWidget_GCov, [elem]) # once results are available - put 'Focus' on --> tab_GCov self.tabWidget_EOWcsClient2.setCurrentIndex(4) self.treeWidget_GCov.resizeColumnToContents(0) else: - # just display full result with a text-viewer + # just display full result with a text-viewer myDisplay_txt = display_txt(self) myDisplay_txt.textBrowser_Disp.setText(DCS_result) myDisplay_txt.show() - self.treeWidget_DCS.resizeColumnToContents(0) QApplication.changeOverrideCursor(Qt.ArrowCursor) - -#--------------- - # activate the 2 Date-Subsetting selection fields + # --------------- + # activate the 2 Date-Subsetting selection fields def enableDCS_ActiveDate(self): if self.dateTimeEdit_DCSBegin.isEnabled(): self.dateTimeEdit_DCSBegin.setEnabled(False) @@ -1065,53 +1069,50 @@ def enableDCS_ActiveDate(self): self.dateTimeEdit_DCSBegin.setEnabled(True) self.dateTimeEdit_DCSEnd.setEnabled(True) - -#--------------- - # activate the Count field + # --------------- + # activate the Count field def enableDCS_ActiveCount(self): if self.spinBox_DCSCount.isEnabled(): self.spinBox_DCSCount.setEnabled(False) else: self.spinBox_DCSCount.setEnabled(True) - -#--------------- - # DescribeEOCoverageSet Button + # --------------- + # DescribeEOCoverageSet Button def on_DCS_clicked(self): global selected_eoid selected_eoid = [] sel_DCS_items = self.treeWidget_DCS.selectedItems() for elem in sel_DCS_items: selected_eoid.append(elem.data(0, 0).encode()) - print "Selected EO-Series: ", selected_eoid #, type(selected_eoid) #, sel_DC_items[0].data(0,0) - item2 = QtGui.QTreeWidgetItem(self.treeWidget_GCov, elem) - + # fix_print_with_import + # fix_print_with_import + print("Selected EO-Series: ", selected_eoid) # , type(selected_eoid) #, sel_DC_items[0].data(0,0) + item2 = QtWidgets.QTreeWidgetItem(self.treeWidget_GCov, elem) -## ====== End of DescribeEOCoverageSet section ====== + ## ====== End of DescribeEOCoverageSet section ====== - -## ====== Beginning GetCoverage section ====== - # read-out the GetCoverage Tab and execute the GetCoverage request + ## ====== Beginning GetCoverage section ====== + # read-out the GetCoverage Tab and execute the GetCoverage request @mouse_busy - def exeGetCoverage(self): + def exeGetCoverage(self, *args): global selected_gcovid global req_outputLoc global offered_crs global offered_version global use_wcs_GCo_call - selected_serv, selected_url = self.get_serv_url() req_format = self.comboBox_GCOvOutFormat.currentText() req_interpolation = self.comboBox_GCovInterpol.currentText() req_outputcrs = self.comboBox_GCovOutCRS.currentText() - #print 'REQ-INT: ', req_interpolation - #print 'REQ-CRS: ', req_outputcrs - #print 'REQ-FORMAT: ', req_format + # print 'REQ-INT: ', req_interpolation + # print 'REQ-CRS: ', req_outputcrs + # print 'REQ-FORMAT: ', req_format - if req_interpolation.encode().startswith("nearest"): + if req_interpolation.encode().startswith(b"nearest"): req_interpolation = None req_rangesubset = self.lineEdit_GCovBands.text() @@ -1123,25 +1124,24 @@ def exeGetCoverage(self): if self.radioButton_GCovXSize.isChecked(): req_xsize = self.lineEdit_GCovXSize.text() - req_size_x = "size "+str(req_x_label)+" "+str(req_xsize) + req_size_x = "size " + str(req_x_label) + " " + str(req_xsize) if self.radioButton_GCovXRes.isChecked(): req_xsize = self.lineEdit_GCovXSize.text() - req_size_x = "resolution "+str(req_x_label)+" "+str(req_xsize) + req_size_x = "resolution " + str(req_x_label) + " " + str(req_xsize) if self.radioButton_GCovYSize.isChecked(): req_ysize = self.lineEdit_GCovYSize.text() - req_size_y = "size "+str(req_y_label)+" "+str(req_ysize) + req_size_y = "size " + str(req_y_label) + " " + str(req_ysize) if self.radioButton_GCovYRes.isChecked(): req_ysize = self.lineEdit_GCovYSize.text() - req_size_y = "resolution "+str(req_y_label)+" "+str(req_ysize) + req_size_y = "resolution " + str(req_y_label) + " " + str(req_ysize) if self.radioButton_GCov_OutSizeOrig.isChecked(): req_size_x = None req_size_y = None - # check if a coverage has been selected try: selected_gcovid @@ -1151,10 +1151,10 @@ def exeGetCoverage(self): return if self.radioButton_GCovSubOrig.isChecked(): - req_subsetCRS = "epsg:"+offered_crs + req_subsetCRS = "epsg:" + offered_crs if self.radioButton_GCovSubCRS.isChecked(): epsg_no = self.lineEdit_GCovSubEPSG.text() - req_subsetCRS = "epsg:"+str(epsg_no).strip() + req_subsetCRS = "epsg:" + str(epsg_no).strip() if self.radioButton_GCovSubPixel.isChecked(): req_subsetCRS = "pix" @@ -1166,18 +1166,17 @@ def exeGetCoverage(self): if len(min_x) == 0 or len(max_x) == 0: req_lon = None else: - req_lon = req_subsetCRS+" "+req_x_label+" "+str(min_x+","+max_x) + req_lon = req_subsetCRS + " " + req_x_label + " " + str(min_x + "," + max_x) if len(min_y) == 0 or len(max_y) == 0: req_lat = None else: - req_lat = req_subsetCRS+" "+req_y_label+" "+str(min_y+","+max_y) - + req_lat = req_subsetCRS + " " + req_y_label + " " + str(min_y + "," + max_y) if not "req_outputLoc" in globals(): msg = "Error: For downloading coverages you need to supply a Local Storage Path --> see TAB Server / Storage" QMessageBox.critical(self, "Error", msg, QMessageBox.Ok) - # put focus on Server/STorage Tab to allow provision of Output Location + # put focus on Server/STorage Tab to allow provision of Output Location self.tabWidget_EOWcsClient2.setCurrentIndex(0) self.get_outputLoc() elif len(req_outputLoc) == 0: @@ -1186,153 +1185,145 @@ def exeGetCoverage(self): else: req_outputLoc = self.lineEdit_Serv_OutputLoc.text() - try: - # a basic GetCoverage request + # a basic GetCoverage request for gcov_elem in selected_gcovid: req_params = {'version': offered_version, - 'request': 'GetCoverage', - 'server_url': selected_url, - 'coverageID': gcov_elem, - 'format': req_format, - 'subset_x': req_lat, - 'subset_y': req_lon, - 'rangesubset': req_rangesubset, - 'outputcrs': req_outputcrs, - 'interpolation': req_interpolation, - 'size_x': req_size_x, - 'size_y': req_size_y, - 'output': req_outputLoc} + 'request': 'GetCoverage', + 'server_url': selected_url, + 'coverageID': gcov_elem, + 'format': req_format, + 'subset_x': req_lat, + 'subset_y': req_lon, + 'rangesubset': req_rangesubset, + 'outputcrs': req_outputcrs, + 'interpolation': req_interpolation, + 'size_x': req_size_x, + 'size_y': req_size_y, + 'output': req_outputLoc} if req_params['format'].startswith('application/gml'): if req_params['format'].count('+') != -1: - req_params['format'] = req_params['format'].replace('+','%2B') + req_params['format'] = req_params['format'].replace('+', '%2B') req_params['mediatype'] = 'multipart/related' - try: - # send the request - #print req_params + # send the request + # print req_params req_params = self.clear_req_params(req_params) - #print "req_params-2:", req_params + # print "req_params-2:", req_params GCov_result = self.myWCS.GetCoverage(req_params, use_wcs_GCo_call) - print "GCov_result / HTTP-Code: ", GCov_result - except IOError, TypeError: + # fix_print_with_import + # fix_print_with_import + print("GCov_result / HTTP-Code: ", GCov_result) + except IOError as TypeError: return - - -## TODO -- mediatype & mask --> not yet implemented; but mask is not standard anyway - # 'mask': '&mask=polygon,'+crs_url, + ## TODO -- mediatype & mask --> not yet implemented; but mask is not standard anyway + # 'mask': '&mask=polygon,'+crs_url, if GCov_result == 200: - #Register the downloaded datsets with QGis MapCanvas -> load and show + # Register the downloaded datsets with QGis MapCanvas -> load and show self.add_to_map(req_params) - # reset the cursur + # reset the cursur QApplication.changeOverrideCursor(Qt.ArrowCursor) else: msg = "There is no loadable/viewable Coverage available ! \nMaybe it wasn't an image format you choose ? \n" - msg = msg+"Please check you output-location. \n" - msg = msg+"But maybe another error occurred. \nPlease check you output-location for 'access_error_xxxx.xml' files" + msg = msg + "Please check you output-location. \n" + msg = msg + "But maybe another error occurred. \nPlease check you output-location for 'access_error_xxxx.xml' files" warning_msg(msg) except NameError as EEE: - print 'NameError: ', EEE + # fix_print_with_import + print('NameError: ', EEE) msg = "Error: You need to select one or more CoverageIDs first!\n " warning_msg(msg) return - -#--------------- - # GetCoverage Button + # --------------- + # GetCoverage Button def on_GCov_clicked(self): global selected_gcovid selected_gcovid = [] sel_GCov_items = self.treeWidget_GCov.selectedItems() for elem in sel_GCov_items: - selected_gcovid.append(elem.data(0, 0).encode()) - print "Selected CoverageID: ", selected_gcovid - # to allow a DescribeCoverage request for a Coverage comeing from a DescribeEOCoverageSet request - # we add the selected Coverage to the DescribeCoverage window - # to avoid duplicat entries we have to check if the entry already exists - DC_treeContent = self.treeWidget_DC.findItems(elem.data(0, 0).encode(), Qt.MatchStartsWith, 0) + selected_gcovid.append(elem.data(0, 0)) + # fix_print_with_import + # fix_print_with_import + print("Selected CoverageID: ", selected_gcovid) + # to allow a DescribeCoverage request for a Coverage comeing from a DescribeEOCoverageSet request + # we add the selected Coverage to the DescribeCoverage window + # to avoid duplicat entries we have to check if the entry already exists + DC_treeContent = self.treeWidget_DC.findItems(elem.data(0, 0), Qt.MatchStartsWith, 0) if len(DC_treeContent) == 0: - item = QtGui.QTreeWidgetItem(self.treeWidget_DC, (elem.data(0, 0).encode(),)) + item = QtWidgets.QTreeWidgetItem(self.treeWidget_DC, (elem.data(0, 0),)) - -#--------------- - # activate the SubsetCRS setting and field - def enableGCov_SubCRS(self): + # --------------- + # activate the SubsetCRS setting and field + def enableGCov_SubCRS(self, *args): if self.radioButton_GCovSubCRS.isChecked(): self.radioButton_GCovSubOrig.setChecked(False) self.radioButton_GCovSubPixel.setChecked(False) self.lineEdit_GCovSubEPSG.setEnabled(True) - -#--------------- - # activate the SubsetPixel setting - def enableGCov_SubPixel(self): + # --------------- + # activate the SubsetPixel setting + def enableGCov_SubPixel(self, *args): if self.radioButton_GCovSubPixel.isChecked(): self.radioButton_GCovSubCRS.setChecked(False) self.radioButton_GCovSubOrig.setChecked(False) self.lineEdit_GCovSubEPSG.setEnabled(False) - -#--------------- - # activate the OriginalCRS setting - def enableGCov_SubOrig(self): + # --------------- + # activate the OriginalCRS setting + def enableGCov_SubOrig(self, *args): if self.radioButton_GCovSubOrig.isChecked(): self.radioButton_GCovSubCRS.setChecked(False) self.radioButton_GCovSubPixel.setChecked(False) self.lineEdit_GCovSubEPSG.setEnabled(False) - -#--------------- - # enabele scaling X-Size - def enableGCov_XSize(self): + # --------------- + # enabele scaling X-Size + def enableGCov_XSize(self, *args): if self.radioButton_GCovXSize.isChecked(): self.radioButton_GCov_OutSizeOrig.setChecked(False) self.lineEdit_GCovXAxisLabel.setEnabled(True) self.lineEdit_GCovXSize.setEnabled(True) self.radioButton_GCovXRes.setChecked(False) - -#--------------- - # enabele scaling X-Resolution - def enableGCov_XResolution(self): + # --------------- + # enabele scaling X-Resolution + def enableGCov_XResolution(self, *args): if self.radioButton_GCovXRes.isChecked(): self.radioButton_GCov_OutSizeOrig.setChecked(False) self.radioButton_GCovXSize.setChecked(False) self.lineEdit_GCovXAxisLabel.setEnabled(True) self.lineEdit_GCovXSize.setEnabled(True) - -#--------------- - # enabele scaling Y-Size - def enableGCov_YSize(self): + # --------------- + # enabele scaling Y-Size + def enableGCov_YSize(self, *args): if self.radioButton_GCovYSize.isChecked(): self.radioButton_GCov_OutSizeOrig.setChecked(False) self.lineEdit_GCovYAxisLabel.setEnabled(True) self.lineEdit_GCovYSize.setEnabled(True) self.radioButton_GCovYRes.setChecked(False) - -#--------------- - # enabele scaling Y-Resolution - def enableGCov_YResolution(self): + # --------------- + # enabele scaling Y-Resolution + def enableGCov_YResolution(self, *args): if self.radioButton_GCovYRes.isChecked(): self.radioButton_GCov_OutSizeOrig.setChecked(False) self.radioButton_GCovYSize.setChecked(False) self.lineEdit_GCovYAxisLabel.setEnabled(True) self.lineEdit_GCovYSize.setEnabled(True) - -#--------------- - # reset scaling to original size/resolution - def disableGCov_OutSize(self): + # --------------- + # reset scaling to original size/resolution + def disableGCov_OutSize(self, *args): if self.radioButton_GCov_OutSizeOrig.isChecked(): self.lineEdit_GCovXAxisLabel.setEnabled(False) self.lineEdit_GCovXSize.setEnabled(False) @@ -1343,38 +1334,35 @@ def disableGCov_OutSize(self): self.radioButton_GCovYSize.setChecked(False) self.radioButton_GCovYRes.setChecked(False) -## ====== End of GetCoverage section ====== - + ## ====== End of GetCoverage section ====== -## ====== Add data to Map Canvas ====== - # read the the downloaded datasets, register them and show them in the QGis MapCanvas + ## ====== Add data to Map Canvas ====== + # read the the downloaded datasets, register them and show them in the QGis MapCanvas def add_to_map(self, req_params): self.canvas = self.iface.mapCanvas() - coverageID = req_params['output']+os.sep+req_params['coverageID']+'*' + coverageID = req_params['output'] + os.sep + req_params['coverageID'] + '*' disp_coverage = glob(coverageID) - # check if there is a loadable coverage availabel (and not eg. an multipart/related gml) or an error occurred + # check if there is a loadable coverage availabel (and not eg. an multipart/related gml) or an error occurred if len(disp_coverage) > 0: covInfo = QFileInfo(disp_coverage[-1]) - cov_baseName = disp_coverage[-1].rsplit('/',1)[-1] - cov_layer = QgsRasterLayer(disp_coverage[-1], cov_baseName.encode()) + cov_baseName = disp_coverage[-1].rsplit('/', 1)[-1] + cov_layer = QgsRasterLayer(disp_coverage[-1], cov_baseName) if not cov_layer.isValid(): warning_msg("Layer failed to load!") - #print 'CC1: ', disp_coverage - #print 'CC2: ', help(covInfo) - #print 'CC3: ', cov_baseName - #print 'CC4: ', covInfo.baseName(), covInfo.bundleName, covInfo.completeBaseName + # print 'CC1: ', disp_coverage + # print 'CC2: ', help(covInfo) + # print 'CC3: ', cov_baseName + # print 'CC4: ', covInfo.baseName(), covInfo.bundleName, covInfo.completeBaseName else: msg = "There is no loadable/viewable Coverage available ! \nMaybe it wasn't an image format you choose ? \n" - msg = msg+"But maybe another error occurred. \nPlease check your output-location for 'access_error_xxxx.xml' files" + msg = msg + "But maybe another error occurred. \nPlease check your output-location for 'access_error_xxxx.xml' files" warning_msg(msg) - - QgsMapLayerRegistry.instance().addMapLayer(cov_layer) - + QgsProject.instance().addMapLayer(cov_layer) ## ====== End of Add data to Map Canvas ====== diff --git a/resources_rc.py b/resources_rc.py index 3892304..65fbe6e 100644 --- a/resources_rc.py +++ b/resources_rc.py @@ -2,14 +2,13 @@ # Resource object code # -# Created: Fri Jul 18 16:43:37 2014 -# by: The Resource Compiler for PyQt (Qt v4.8.6) +# Created by: The Resource Compiler for PyQt5 (Qt v5.15.8) # # WARNING! All changes made in this file will be lost! -from PyQt4 import QtCore +from PyQt5 import QtCore -qt_resource_data = "\ +qt_resource_data = b"\ \x00\x00\x03\xb8\ \x89\ \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ @@ -74,7 +73,7 @@ \x45\x4e\x44\xae\x42\x60\x82\ " -qt_resource_name = "\ +qt_resource_name = b"\ \x00\x07\ \x07\x3b\xe0\xb3\ \x00\x70\ @@ -89,17 +88,36 @@ \x00\x63\x00\x6f\x00\x6e\x00\x2e\x00\x70\x00\x6e\x00\x67\ " -qt_resource_struct = "\ +qt_resource_struct_v1 = b"\ \x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ \x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x02\ \x00\x00\x00\x14\x00\x02\x00\x00\x00\x01\x00\x00\x00\x03\ \x00\x00\x00\x34\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ " +qt_resource_struct_v2 = b"\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x02\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x14\x00\x02\x00\x00\x00\x01\x00\x00\x00\x03\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x34\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x01\x8d\x0e\x97\x14\x65\ +" + +qt_version = [int(v) for v in QtCore.qVersion().split('.')] +if qt_version < [5, 8, 0]: + rcc_version = 1 + qt_resource_struct = qt_resource_struct_v1 +else: + rcc_version = 2 + qt_resource_struct = qt_resource_struct_v2 + def qInitResources(): - QtCore.qRegisterResourceData(0x01, qt_resource_struct, qt_resource_name, qt_resource_data) + QtCore.qRegisterResourceData(rcc_version, qt_resource_struct, qt_resource_name, qt_resource_data) def qCleanupResources(): - QtCore.qUnregisterResourceData(0x01, qt_resource_struct, qt_resource_name, qt_resource_data) + QtCore.qUnregisterResourceData(rcc_version, qt_resource_struct, qt_resource_name, qt_resource_data) qInitResources() diff --git a/ui_qgswcsclient2.py b/ui_qgswcsclient2.py index e35069f..aa1ef43 100644 --- a/ui_qgswcsclient2.py +++ b/ui_qgswcsclient2.py @@ -2,250 +2,238 @@ # Form implementation generated from reading ui file 'ui_qgswcsclient2.ui' # -# Created: Fri Jun 22 19:44:12 2018 -# by: PyQt4 UI code generator 4.10.4 +# Created by: PyQt5 UI code generator 5.15.9 # -# WARNING! All changes made in this file will be lost! +# WARNING: Any manual changes made to this file will be lost when pyuic5 is +# run again. Do not edit this file unless you know what you are doing. -from PyQt4 import QtCore, QtGui -try: - _fromUtf8 = QtCore.QString.fromUtf8 -except AttributeError: - def _fromUtf8(s): - return s +from PyQt5 import QtCore, QtGui, QtWidgets -try: - _encoding = QtGui.QApplication.UnicodeUTF8 - def _translate(context, text, disambig): - return QtGui.QApplication.translate(context, text, disambig, _encoding) -except AttributeError: - def _translate(context, text, disambig): - return QtGui.QApplication.translate(context, text, disambig) class Ui_QgsWcsClient2(object): def setupUi(self, QgsWcsClient2): - QgsWcsClient2.setObjectName(_fromUtf8("QgsWcsClient2")) + QgsWcsClient2.setObjectName("QgsWcsClient2") QgsWcsClient2.resize(830, 748) - self.verticalLayout_6 = QtGui.QVBoxLayout(QgsWcsClient2) - self.verticalLayout_6.setObjectName(_fromUtf8("verticalLayout_6")) - self.tabWidget_EOWcsClient2 = QtGui.QTabWidget(QgsWcsClient2) + self.verticalLayout_6 = QtWidgets.QVBoxLayout(QgsWcsClient2) + self.verticalLayout_6.setObjectName("verticalLayout_6") + self.tabWidget_EOWcsClient2 = QtWidgets.QTabWidget(QgsWcsClient2) self.tabWidget_EOWcsClient2.setEnabled(True) self.tabWidget_EOWcsClient2.setLocale(QtCore.QLocale(QtCore.QLocale.English, QtCore.QLocale.UnitedStates)) - self.tabWidget_EOWcsClient2.setObjectName(_fromUtf8("tabWidget_EOWcsClient2")) - self.tab_Serv = QtGui.QWidget() - self.tab_Serv.setObjectName(_fromUtf8("tab_Serv")) - self.verticalLayout_11 = QtGui.QVBoxLayout(self.tab_Serv) - self.verticalLayout_11.setObjectName(_fromUtf8("verticalLayout_11")) - self.GroupBox_9 = QtGui.QGroupBox(self.tab_Serv) - self.GroupBox_9.setObjectName(_fromUtf8("GroupBox_9")) - self.verticalLayout_15 = QtGui.QVBoxLayout(self.GroupBox_9) - self.verticalLayout_15.setObjectName(_fromUtf8("verticalLayout_15")) - self.label_6 = QtGui.QLabel(self.GroupBox_9) - self.label_6.setObjectName(_fromUtf8("label_6")) + self.tabWidget_EOWcsClient2.setObjectName("tabWidget_EOWcsClient2") + self.tab_Serv = QtWidgets.QWidget() + self.tab_Serv.setObjectName("tab_Serv") + self.verticalLayout_11 = QtWidgets.QVBoxLayout(self.tab_Serv) + self.verticalLayout_11.setObjectName("verticalLayout_11") + self.GroupBox_9 = QtWidgets.QGroupBox(self.tab_Serv) + self.GroupBox_9.setObjectName("GroupBox_9") + self.verticalLayout_15 = QtWidgets.QVBoxLayout(self.GroupBox_9) + self.verticalLayout_15.setObjectName("verticalLayout_15") + self.label_6 = QtWidgets.QLabel(self.GroupBox_9) + self.label_6.setObjectName("label_6") self.verticalLayout_15.addWidget(self.label_6) - self.cmbConnections_Serv = QtGui.QComboBox(self.GroupBox_9) - self.cmbConnections_Serv.setObjectName(_fromUtf8("cmbConnections_Serv")) + self.cmbConnections_Serv = QtWidgets.QComboBox(self.GroupBox_9) + self.cmbConnections_Serv.setObjectName("cmbConnections_Serv") self.verticalLayout_15.addWidget(self.cmbConnections_Serv) - self.horizontalLayout_21 = QtGui.QHBoxLayout() - self.horizontalLayout_21.setObjectName(_fromUtf8("horizontalLayout_21")) - self.btnConnectServer_Serv = QtGui.QPushButton(self.GroupBox_9) + self.horizontalLayout_21 = QtWidgets.QHBoxLayout() + self.horizontalLayout_21.setObjectName("horizontalLayout_21") + self.btnConnectServer_Serv = QtWidgets.QPushButton(self.GroupBox_9) self.btnConnectServer_Serv.setEnabled(True) - self.btnConnectServer_Serv.setObjectName(_fromUtf8("btnConnectServer_Serv")) + self.btnConnectServer_Serv.setObjectName("btnConnectServer_Serv") self.horizontalLayout_21.addWidget(self.btnConnectServer_Serv) - self.btnNew_Serv = QtGui.QPushButton(self.GroupBox_9) + self.btnNew_Serv = QtWidgets.QPushButton(self.GroupBox_9) self.btnNew_Serv.setAutoDefault(False) - self.btnNew_Serv.setObjectName(_fromUtf8("btnNew_Serv")) + self.btnNew_Serv.setObjectName("btnNew_Serv") self.horizontalLayout_21.addWidget(self.btnNew_Serv) - self.btnEdit_Serv = QtGui.QPushButton(self.GroupBox_9) + self.btnEdit_Serv = QtWidgets.QPushButton(self.GroupBox_9) self.btnEdit_Serv.setEnabled(False) self.btnEdit_Serv.setAutoDefault(False) - self.btnEdit_Serv.setObjectName(_fromUtf8("btnEdit_Serv")) + self.btnEdit_Serv.setObjectName("btnEdit_Serv") self.horizontalLayout_21.addWidget(self.btnEdit_Serv) - self.btnDelete_Serv = QtGui.QPushButton(self.GroupBox_9) + self.btnDelete_Serv = QtWidgets.QPushButton(self.GroupBox_9) self.btnDelete_Serv.setEnabled(False) self.btnDelete_Serv.setAutoDefault(False) - self.btnDelete_Serv.setObjectName(_fromUtf8("btnDelete_Serv")) + self.btnDelete_Serv.setObjectName("btnDelete_Serv") self.horizontalLayout_21.addWidget(self.btnDelete_Serv) - spacerItem = QtGui.QSpacerItem(258, 27, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) + spacerItem = QtWidgets.QSpacerItem(258, 27, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_21.addItem(spacerItem) - self.btnSort_Serv = QtGui.QPushButton(self.GroupBox_9) - self.btnSort_Serv.setObjectName(_fromUtf8("btnSort_Serv")) + self.btnSort_Serv = QtWidgets.QPushButton(self.GroupBox_9) + self.btnSort_Serv.setObjectName("btnSort_Serv") self.horizontalLayout_21.addWidget(self.btnSort_Serv) - self.btnImport_QgsWcsUrls = QtGui.QPushButton(self.GroupBox_9) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed) + self.btnImport_QgsWcsUrls = QtWidgets.QPushButton(self.GroupBox_9) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.btnImport_QgsWcsUrls.sizePolicy().hasHeightForWidth()) self.btnImport_QgsWcsUrls.setSizePolicy(sizePolicy) self.btnImport_QgsWcsUrls.setAutoDefault(False) - self.btnImport_QgsWcsUrls.setObjectName(_fromUtf8("btnImport_QgsWcsUrls")) + self.btnImport_QgsWcsUrls.setObjectName("btnImport_QgsWcsUrls") self.horizontalLayout_21.addWidget(self.btnImport_QgsWcsUrls) self.verticalLayout_15.addLayout(self.horizontalLayout_21) self.verticalLayout_11.addWidget(self.GroupBox_9) - self.verticalLayout_4 = QtGui.QVBoxLayout() - self.verticalLayout_4.setObjectName(_fromUtf8("verticalLayout_4")) - self.label_2 = QtGui.QLabel(self.tab_Serv) + self.verticalLayout_4 = QtWidgets.QVBoxLayout() + self.verticalLayout_4.setObjectName("verticalLayout_4") + self.label_2 = QtWidgets.QLabel(self.tab_Serv) font = QtGui.QFont() font.setBold(True) font.setItalic(True) font.setWeight(75) self.label_2.setFont(font) - self.label_2.setObjectName(_fromUtf8("label_2")) + self.label_2.setObjectName("label_2") self.verticalLayout_4.addWidget(self.label_2) - self.textBrowser_Serv = QtGui.QTextBrowser(self.tab_Serv) - self.textBrowser_Serv.setObjectName(_fromUtf8("textBrowser_Serv")) + self.textBrowser_Serv = QtWidgets.QTextBrowser(self.tab_Serv) + self.textBrowser_Serv.setObjectName("textBrowser_Serv") self.verticalLayout_4.addWidget(self.textBrowser_Serv) self.verticalLayout_11.addLayout(self.verticalLayout_4) - self.groupBox = QtGui.QGroupBox(self.tab_Serv) + self.groupBox = QtWidgets.QGroupBox(self.tab_Serv) font = QtGui.QFont() font.setBold(False) font.setWeight(50) self.groupBox.setFont(font) - self.groupBox.setObjectName(_fromUtf8("groupBox")) - self.verticalLayout_5 = QtGui.QVBoxLayout(self.groupBox) - self.verticalLayout_5.setObjectName(_fromUtf8("verticalLayout_5")) - self.horizontalLayout = QtGui.QHBoxLayout() - self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout")) - self.lineEdit_Serv_OutputLoc = QtGui.QLineEdit(self.groupBox) - self.lineEdit_Serv_OutputLoc.setObjectName(_fromUtf8("lineEdit_Serv_OutputLoc")) + self.groupBox.setObjectName("groupBox") + self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.groupBox) + self.verticalLayout_5.setObjectName("verticalLayout_5") + self.horizontalLayout = QtWidgets.QHBoxLayout() + self.horizontalLayout.setObjectName("horizontalLayout") + self.lineEdit_Serv_OutputLoc = QtWidgets.QLineEdit(self.groupBox) + self.lineEdit_Serv_OutputLoc.setObjectName("lineEdit_Serv_OutputLoc") self.horizontalLayout.addWidget(self.lineEdit_Serv_OutputLoc) - self.toolButton_Serv_OutputLoc = QtGui.QToolButton(self.groupBox) - self.toolButton_Serv_OutputLoc.setObjectName(_fromUtf8("toolButton_Serv_OutputLoc")) + self.toolButton_Serv_OutputLoc = QtWidgets.QToolButton(self.groupBox) + self.toolButton_Serv_OutputLoc.setObjectName("toolButton_Serv_OutputLoc") self.horizontalLayout.addWidget(self.toolButton_Serv_OutputLoc) self.verticalLayout_5.addLayout(self.horizontalLayout) - self.horizontalLayout_17 = QtGui.QHBoxLayout() - self.horizontalLayout_17.setObjectName(_fromUtf8("horizontalLayout_17")) - spacerItem1 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) + self.horizontalLayout_17 = QtWidgets.QHBoxLayout() + self.horizontalLayout_17.setObjectName("horizontalLayout_17") + spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_17.addItem(spacerItem1) - self.btnClose_Serv = QtGui.QPushButton(self.groupBox) - self.btnClose_Serv.setObjectName(_fromUtf8("btnClose_Serv")) + self.btnClose_Serv = QtWidgets.QPushButton(self.groupBox) + self.btnClose_Serv.setObjectName("btnClose_Serv") self.horizontalLayout_17.addWidget(self.btnClose_Serv) self.verticalLayout_5.addLayout(self.horizontalLayout_17) self.verticalLayout_11.addWidget(self.groupBox) - self.tabWidget_EOWcsClient2.addTab(self.tab_Serv, _fromUtf8("")) - self.tab_GCa = QtGui.QWidget() + self.tabWidget_EOWcsClient2.addTab(self.tab_Serv, "") + self.tab_GCa = QtWidgets.QWidget() self.tab_GCa.setEnabled(False) self.tab_GCa.setMouseTracking(False) self.tab_GCa.setFocusPolicy(QtCore.Qt.NoFocus) - self.tab_GCa.setObjectName(_fromUtf8("tab_GCa")) - self.verticalLayout_8 = QtGui.QVBoxLayout(self.tab_GCa) - self.verticalLayout_8.setObjectName(_fromUtf8("verticalLayout_8")) - self.GroupBox_4 = QtGui.QGroupBox(self.tab_GCa) - self.GroupBox_4.setObjectName(_fromUtf8("GroupBox_4")) - self.verticalLayout_9 = QtGui.QVBoxLayout(self.GroupBox_4) - self.verticalLayout_9.setObjectName(_fromUtf8("verticalLayout_9")) - self.label = QtGui.QLabel(self.GroupBox_4) - self.label.setObjectName(_fromUtf8("label")) + self.tab_GCa.setObjectName("tab_GCa") + self.verticalLayout_8 = QtWidgets.QVBoxLayout(self.tab_GCa) + self.verticalLayout_8.setObjectName("verticalLayout_8") + self.GroupBox_4 = QtWidgets.QGroupBox(self.tab_GCa) + self.GroupBox_4.setObjectName("GroupBox_4") + self.verticalLayout_9 = QtWidgets.QVBoxLayout(self.GroupBox_4) + self.verticalLayout_9.setObjectName("verticalLayout_9") + self.label = QtWidgets.QLabel(self.GroupBox_4) + self.label.setObjectName("label") self.verticalLayout_9.addWidget(self.label) - self.gridLayout_5 = QtGui.QGridLayout() - self.gridLayout_5.setObjectName(_fromUtf8("gridLayout_5")) - self.checkBox_GCaDaSerSum = QtGui.QCheckBox(self.GroupBox_4) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Fixed) + self.gridLayout_5 = QtWidgets.QGridLayout() + self.gridLayout_5.setObjectName("gridLayout_5") + self.checkBox_GCaDaSerSum = QtWidgets.QCheckBox(self.GroupBox_4) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.checkBox_GCaDaSerSum.sizePolicy().hasHeightForWidth()) self.checkBox_GCaDaSerSum.setSizePolicy(sizePolicy) - self.checkBox_GCaDaSerSum.setObjectName(_fromUtf8("checkBox_GCaDaSerSum")) + self.checkBox_GCaDaSerSum.setObjectName("checkBox_GCaDaSerSum") self.gridLayout_5.addWidget(self.checkBox_GCaDaSerSum, 1, 0, 1, 1) - self.checkBox_GCaCovSum = QtGui.QCheckBox(self.GroupBox_4) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Fixed) + self.checkBox_GCaCovSum = QtWidgets.QCheckBox(self.GroupBox_4) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.checkBox_GCaCovSum.sizePolicy().hasHeightForWidth()) self.checkBox_GCaCovSum.setSizePolicy(sizePolicy) - self.checkBox_GCaCovSum.setObjectName(_fromUtf8("checkBox_GCaCovSum")) + self.checkBox_GCaCovSum.setObjectName("checkBox_GCaCovSum") self.gridLayout_5.addWidget(self.checkBox_GCaCovSum, 2, 0, 1, 1) - self.checkBox_GCaServProv = QtGui.QCheckBox(self.GroupBox_4) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Fixed) + self.checkBox_GCaServProv = QtWidgets.QCheckBox(self.GroupBox_4) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.checkBox_GCaServProv.sizePolicy().hasHeightForWidth()) self.checkBox_GCaServProv.setSizePolicy(sizePolicy) - self.checkBox_GCaServProv.setObjectName(_fromUtf8("checkBox_GCaServProv")) + self.checkBox_GCaServProv.setObjectName("checkBox_GCaServProv") self.gridLayout_5.addWidget(self.checkBox_GCaServProv, 1, 1, 1, 1) - self.checkBox_GCaAll = QtGui.QCheckBox(self.GroupBox_4) - self.checkBox_GCaAll.setObjectName(_fromUtf8("checkBox_GCaAll")) + self.checkBox_GCaAll = QtWidgets.QCheckBox(self.GroupBox_4) + self.checkBox_GCaAll.setObjectName("checkBox_GCaAll") self.gridLayout_5.addWidget(self.checkBox_GCaAll, 0, 0, 1, 1) - self.checkBox_GCaServId = QtGui.QCheckBox(self.GroupBox_4) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Fixed) + self.checkBox_GCaServId = QtWidgets.QCheckBox(self.GroupBox_4) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.checkBox_GCaServId.sizePolicy().hasHeightForWidth()) self.checkBox_GCaServId.setSizePolicy(sizePolicy) - self.checkBox_GCaServId.setObjectName(_fromUtf8("checkBox_GCaServId")) + self.checkBox_GCaServId.setObjectName("checkBox_GCaServId") self.gridLayout_5.addWidget(self.checkBox_GCaServId, 0, 1, 1, 1) - self.checkBox_GCaLang = QtGui.QCheckBox(self.GroupBox_4) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Fixed) + self.checkBox_GCaLang = QtWidgets.QCheckBox(self.GroupBox_4) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.checkBox_GCaLang.sizePolicy().hasHeightForWidth()) self.checkBox_GCaLang.setSizePolicy(sizePolicy) - self.checkBox_GCaLang.setObjectName(_fromUtf8("checkBox_GCaLang")) + self.checkBox_GCaLang.setObjectName("checkBox_GCaLang") self.gridLayout_5.addWidget(self.checkBox_GCaLang, 2, 2, 1, 1) - self.checkBox_GCaCont = QtGui.QCheckBox(self.GroupBox_4) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Fixed) + self.checkBox_GCaCont = QtWidgets.QCheckBox(self.GroupBox_4) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.checkBox_GCaCont.sizePolicy().hasHeightForWidth()) self.checkBox_GCaCont.setSizePolicy(sizePolicy) - self.checkBox_GCaCont.setObjectName(_fromUtf8("checkBox_GCaCont")) + self.checkBox_GCaCont.setObjectName("checkBox_GCaCont") self.gridLayout_5.addWidget(self.checkBox_GCaCont, 1, 2, 1, 1) - self.checkBox_GCaOpMeta = QtGui.QCheckBox(self.GroupBox_4) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Fixed) + self.checkBox_GCaOpMeta = QtWidgets.QCheckBox(self.GroupBox_4) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.checkBox_GCaOpMeta.sizePolicy().hasHeightForWidth()) self.checkBox_GCaOpMeta.setSizePolicy(sizePolicy) - self.checkBox_GCaOpMeta.setObjectName(_fromUtf8("checkBox_GCaOpMeta")) + self.checkBox_GCaOpMeta.setObjectName("checkBox_GCaOpMeta") self.gridLayout_5.addWidget(self.checkBox_GCaOpMeta, 0, 2, 1, 1) - self.checkBox_GCaServMeta = QtGui.QCheckBox(self.GroupBox_4) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Fixed) + self.checkBox_GCaServMeta = QtWidgets.QCheckBox(self.GroupBox_4) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.checkBox_GCaServMeta.sizePolicy().hasHeightForWidth()) self.checkBox_GCaServMeta.setSizePolicy(sizePolicy) - self.checkBox_GCaServMeta.setObjectName(_fromUtf8("checkBox_GCaServMeta")) + self.checkBox_GCaServMeta.setObjectName("checkBox_GCaServMeta") self.gridLayout_5.addWidget(self.checkBox_GCaServMeta, 2, 1, 1, 1) self.verticalLayout_9.addLayout(self.gridLayout_5) self.verticalLayout_8.addWidget(self.GroupBox_4) - self.GroupBox_5 = QtGui.QGroupBox(self.tab_GCa) + self.GroupBox_5 = QtWidgets.QGroupBox(self.tab_GCa) self.GroupBox_5.setMinimumSize(QtCore.QSize(431, 50)) - self.GroupBox_5.setTitle(_fromUtf8("")) + self.GroupBox_5.setTitle("") self.GroupBox_5.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop) - self.GroupBox_5.setObjectName(_fromUtf8("GroupBox_5")) - self.horizontalLayout_2 = QtGui.QHBoxLayout(self.GroupBox_5) - self.horizontalLayout_2.setSpacing(20) + self.GroupBox_5.setObjectName("GroupBox_5") + self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.GroupBox_5) self.horizontalLayout_2.setContentsMargins(-1, 0, -1, 0) - self.horizontalLayout_2.setObjectName(_fromUtf8("horizontalLayout_2")) - self.label_GCaInfo1 = QtGui.QLabel(self.GroupBox_5) + self.horizontalLayout_2.setSpacing(20) + self.horizontalLayout_2.setObjectName("horizontalLayout_2") + self.label_GCaInfo1 = QtWidgets.QLabel(self.GroupBox_5) font = QtGui.QFont() font.setBold(True) font.setWeight(75) self.label_GCaInfo1.setFont(font) - self.label_GCaInfo1.setObjectName(_fromUtf8("label_GCaInfo1")) + self.label_GCaInfo1.setObjectName("label_GCaInfo1") self.horizontalLayout_2.addWidget(self.label_GCaInfo1) - self.checkBox_GCa_ActiveDate = QtGui.QCheckBox(self.GroupBox_5) + self.checkBox_GCa_ActiveDate = QtWidgets.QCheckBox(self.GroupBox_5) self.checkBox_GCa_ActiveDate.setEnabled(False) - self.checkBox_GCa_ActiveDate.setText(_fromUtf8("")) - self.checkBox_GCa_ActiveDate.setObjectName(_fromUtf8("checkBox_GCa_ActiveDate")) + self.checkBox_GCa_ActiveDate.setText("") + self.checkBox_GCa_ActiveDate.setObjectName("checkBox_GCa_ActiveDate") self.horizontalLayout_2.addWidget(self.checkBox_GCa_ActiveDate) - self.dateEdit_GCaDocUpdate = QtGui.QDateEdit(self.GroupBox_5) + self.dateEdit_GCaDocUpdate = QtWidgets.QDateEdit(self.GroupBox_5) self.dateEdit_GCaDocUpdate.setEnabled(False) self.dateEdit_GCaDocUpdate.setDate(QtCore.QDate(2017, 1, 1)) self.dateEdit_GCaDocUpdate.setMinimumDateTime(QtCore.QDateTime(QtCore.QDate(1900, 1, 1), QtCore.QTime(0, 0, 0))) self.dateEdit_GCaDocUpdate.setMaximumTime(QtCore.QTime(23, 59, 59)) - self.dateEdit_GCaDocUpdate.setCurrentSection(QtGui.QDateTimeEdit.YearSection) + self.dateEdit_GCaDocUpdate.setCurrentSection(QtWidgets.QDateTimeEdit.YearSection) self.dateEdit_GCaDocUpdate.setCalendarPopup(True) - self.dateEdit_GCaDocUpdate.setObjectName(_fromUtf8("dateEdit_GCaDocUpdate")) + self.dateEdit_GCaDocUpdate.setObjectName("dateEdit_GCaDocUpdate") self.horizontalLayout_2.addWidget(self.dateEdit_GCaDocUpdate) - spacerItem2 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) + spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_2.addItem(spacerItem2) self.verticalLayout_8.addWidget(self.GroupBox_5) - self.verticalLayout_10 = QtGui.QVBoxLayout() - self.verticalLayout_10.setObjectName(_fromUtf8("verticalLayout_10")) - self.label_3 = QtGui.QLabel(self.tab_GCa) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred) + self.verticalLayout_10 = QtWidgets.QVBoxLayout() + self.verticalLayout_10.setObjectName("verticalLayout_10") + self.label_3 = QtWidgets.QLabel(self.tab_GCa) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.label_3.sizePolicy().hasHeightForWidth()) @@ -257,49 +245,49 @@ def setupUi(self, QgsWcsClient2): font.setWeight(75) self.label_3.setFont(font) self.label_3.setWordWrap(True) - self.label_3.setObjectName(_fromUtf8("label_3")) + self.label_3.setObjectName("label_3") self.verticalLayout_10.addWidget(self.label_3) - self.label_7 = QtGui.QLabel(self.tab_GCa) + self.label_7 = QtWidgets.QLabel(self.tab_GCa) self.label_7.setIndent(15) - self.label_7.setObjectName(_fromUtf8("label_7")) + self.label_7.setObjectName("label_7") self.verticalLayout_10.addWidget(self.label_7) - self.treeWidget_GCa = QtGui.QTreeWidget(self.tab_GCa) - self.treeWidget_GCa.setEditTriggers(QtGui.QAbstractItemView.DoubleClicked) + self.treeWidget_GCa = QtWidgets.QTreeWidget(self.tab_GCa) + self.treeWidget_GCa.setEditTriggers(QtWidgets.QAbstractItemView.DoubleClicked) self.treeWidget_GCa.setAlternatingRowColors(False) - self.treeWidget_GCa.setSelectionMode(QtGui.QAbstractItemView.MultiSelection) - self.treeWidget_GCa.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows) + self.treeWidget_GCa.setSelectionMode(QtWidgets.QAbstractItemView.MultiSelection) + self.treeWidget_GCa.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectRows) self.treeWidget_GCa.setAutoExpandDelay(-1) self.treeWidget_GCa.setIndentation(4) self.treeWidget_GCa.setColumnCount(6) - self.treeWidget_GCa.setObjectName(_fromUtf8("treeWidget_GCa")) + self.treeWidget_GCa.setObjectName("treeWidget_GCa") self.treeWidget_GCa.header().setDefaultSectionSize(220) self.treeWidget_GCa.header().setMinimumSectionSize(70) self.treeWidget_GCa.header().setStretchLastSection(True) self.verticalLayout_10.addWidget(self.treeWidget_GCa) self.verticalLayout_8.addLayout(self.verticalLayout_10) - self.horizontalLayout_3 = QtGui.QHBoxLayout() - self.horizontalLayout_3.setObjectName(_fromUtf8("horizontalLayout_3")) - self.checkBox_GCaFull = QtGui.QCheckBox(self.tab_GCa) + self.horizontalLayout_3 = QtWidgets.QHBoxLayout() + self.horizontalLayout_3.setObjectName("horizontalLayout_3") + self.checkBox_GCaFull = QtWidgets.QCheckBox(self.tab_GCa) font = QtGui.QFont() font.setBold(True) font.setWeight(75) self.checkBox_GCaFull.setFont(font) self.checkBox_GCaFull.setLayoutDirection(QtCore.Qt.RightToLeft) - self.checkBox_GCaFull.setObjectName(_fromUtf8("checkBox_GCaFull")) + self.checkBox_GCaFull.setObjectName("checkBox_GCaFull") self.horizontalLayout_3.addWidget(self.checkBox_GCaFull) - spacerItem3 = QtGui.QSpacerItem(68, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) + spacerItem3 = QtWidgets.QSpacerItem(68, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_3.addItem(spacerItem3) - self.btnClose_GCa = QtGui.QPushButton(self.tab_GCa) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + self.btnClose_GCa = QtWidgets.QPushButton(self.tab_GCa) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.btnClose_GCa.sizePolicy().hasHeightForWidth()) self.btnClose_GCa.setSizePolicy(sizePolicy) self.btnClose_GCa.setMinimumSize(QtCore.QSize(85, 27)) - self.btnClose_GCa.setObjectName(_fromUtf8("btnClose_GCa")) + self.btnClose_GCa.setObjectName("btnClose_GCa") self.horizontalLayout_3.addWidget(self.btnClose_GCa) - self.pushButton_GCa = QtGui.QPushButton(self.tab_GCa) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + self.pushButton_GCa = QtWidgets.QPushButton(self.tab_GCa) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.pushButton_GCa.sizePolicy().hasHeightForWidth()) @@ -309,56 +297,56 @@ def setupUi(self, QgsWcsClient2): font.setBold(True) font.setWeight(75) self.pushButton_GCa.setFont(font) - self.pushButton_GCa.setObjectName(_fromUtf8("pushButton_GCa")) + self.pushButton_GCa.setObjectName("pushButton_GCa") self.horizontalLayout_3.addWidget(self.pushButton_GCa) self.verticalLayout_8.addLayout(self.horizontalLayout_3) - self.tabWidget_EOWcsClient2.addTab(self.tab_GCa, _fromUtf8("")) - self.tab_DC = QtGui.QWidget() + self.tabWidget_EOWcsClient2.addTab(self.tab_GCa, "") + self.tab_DC = QtWidgets.QWidget() self.tab_DC.setEnabled(False) - self.tab_DC.setObjectName(_fromUtf8("tab_DC")) - self.verticalLayout_7 = QtGui.QVBoxLayout(self.tab_DC) - self.verticalLayout_7.setObjectName(_fromUtf8("verticalLayout_7")) - self.verticalLayout_13 = QtGui.QVBoxLayout() - self.verticalLayout_13.setObjectName(_fromUtf8("verticalLayout_13")) - self.label_DCInfo1 = QtGui.QLabel(self.tab_DC) + self.tab_DC.setObjectName("tab_DC") + self.verticalLayout_7 = QtWidgets.QVBoxLayout(self.tab_DC) + self.verticalLayout_7.setObjectName("verticalLayout_7") + self.verticalLayout_13 = QtWidgets.QVBoxLayout() + self.verticalLayout_13.setObjectName("verticalLayout_13") + self.label_DCInfo1 = QtWidgets.QLabel(self.tab_DC) font = QtGui.QFont() font.setBold(True) font.setWeight(75) self.label_DCInfo1.setFont(font) - self.label_DCInfo1.setObjectName(_fromUtf8("label_DCInfo1")) + self.label_DCInfo1.setObjectName("label_DCInfo1") self.verticalLayout_13.addWidget(self.label_DCInfo1) - self.label_DCInfo2 = QtGui.QLabel(self.tab_DC) - self.label_DCInfo2.setObjectName(_fromUtf8("label_DCInfo2")) + self.label_DCInfo2 = QtWidgets.QLabel(self.tab_DC) + self.label_DCInfo2.setObjectName("label_DCInfo2") self.verticalLayout_13.addWidget(self.label_DCInfo2) - self.label_4 = QtGui.QLabel(self.tab_DC) + self.label_4 = QtWidgets.QLabel(self.tab_DC) font = QtGui.QFont() font.setBold(True) font.setItalic(True) font.setWeight(75) self.label_4.setFont(font) - self.label_4.setObjectName(_fromUtf8("label_4")) + self.label_4.setObjectName("label_4") self.verticalLayout_13.addWidget(self.label_4) - self.treeWidget_DC = QtGui.QTreeWidget(self.tab_DC) + self.treeWidget_DC = QtWidgets.QTreeWidget(self.tab_DC) self.treeWidget_DC.setAlternatingRowColors(False) - self.treeWidget_DC.setSelectionMode(QtGui.QAbstractItemView.SingleSelection) + self.treeWidget_DC.setSelectionMode(QtWidgets.QAbstractItemView.SingleSelection) self.treeWidget_DC.setColumnCount(1) - self.treeWidget_DC.setObjectName(_fromUtf8("treeWidget_DC")) + self.treeWidget_DC.setObjectName("treeWidget_DC") self.verticalLayout_13.addWidget(self.treeWidget_DC) self.verticalLayout_7.addLayout(self.verticalLayout_13) - self.horizontalLayout_4 = QtGui.QHBoxLayout() - self.horizontalLayout_4.setObjectName(_fromUtf8("horizontalLayout_4")) - spacerItem4 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) + self.horizontalLayout_4 = QtWidgets.QHBoxLayout() + self.horizontalLayout_4.setObjectName("horizontalLayout_4") + spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_4.addItem(spacerItem4) - self.btnClose_DC = QtGui.QPushButton(self.tab_DC) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + self.btnClose_DC = QtWidgets.QPushButton(self.tab_DC) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(85) sizePolicy.setVerticalStretch(27) sizePolicy.setHeightForWidth(self.btnClose_DC.sizePolicy().hasHeightForWidth()) self.btnClose_DC.setSizePolicy(sizePolicy) - self.btnClose_DC.setObjectName(_fromUtf8("btnClose_DC")) + self.btnClose_DC.setObjectName("btnClose_DC") self.horizontalLayout_4.addWidget(self.btnClose_DC) - self.pushButton_DC = QtGui.QPushButton(self.tab_DC) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + self.pushButton_DC = QtWidgets.QPushButton(self.tab_DC) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.pushButton_DC.sizePolicy().hasHeightForWidth()) @@ -368,95 +356,95 @@ def setupUi(self, QgsWcsClient2): font.setBold(True) font.setWeight(75) self.pushButton_DC.setFont(font) - self.pushButton_DC.setObjectName(_fromUtf8("pushButton_DC")) + self.pushButton_DC.setObjectName("pushButton_DC") self.horizontalLayout_4.addWidget(self.pushButton_DC) self.verticalLayout_7.addLayout(self.horizontalLayout_4) - self.tabWidget_EOWcsClient2.addTab(self.tab_DC, _fromUtf8("")) - self.tab_DCS = QtGui.QWidget() + self.tabWidget_EOWcsClient2.addTab(self.tab_DC, "") + self.tab_DCS = QtWidgets.QWidget() self.tab_DCS.setEnabled(False) - self.tab_DCS.setObjectName(_fromUtf8("tab_DCS")) - self.verticalLayout_14 = QtGui.QVBoxLayout(self.tab_DCS) - self.verticalLayout_14.setObjectName(_fromUtf8("verticalLayout_14")) - self.verticalLayout_17 = QtGui.QVBoxLayout() - self.verticalLayout_17.setObjectName(_fromUtf8("verticalLayout_17")) - self.label_DCSInfo1 = QtGui.QLabel(self.tab_DCS) + self.tab_DCS.setObjectName("tab_DCS") + self.verticalLayout_14 = QtWidgets.QVBoxLayout(self.tab_DCS) + self.verticalLayout_14.setObjectName("verticalLayout_14") + self.verticalLayout_17 = QtWidgets.QVBoxLayout() + self.verticalLayout_17.setObjectName("verticalLayout_17") + self.label_DCSInfo1 = QtWidgets.QLabel(self.tab_DCS) font = QtGui.QFont() font.setBold(True) font.setWeight(75) self.label_DCSInfo1.setFont(font) - self.label_DCSInfo1.setObjectName(_fromUtf8("label_DCSInfo1")) + self.label_DCSInfo1.setObjectName("label_DCSInfo1") self.verticalLayout_17.addWidget(self.label_DCSInfo1) - self.label_DCSInfo2 = QtGui.QLabel(self.tab_DCS) - self.label_DCSInfo2.setObjectName(_fromUtf8("label_DCSInfo2")) + self.label_DCSInfo2 = QtWidgets.QLabel(self.tab_DCS) + self.label_DCSInfo2.setObjectName("label_DCSInfo2") self.verticalLayout_17.addWidget(self.label_DCSInfo2) - self.label_5 = QtGui.QLabel(self.tab_DCS) + self.label_5 = QtWidgets.QLabel(self.tab_DCS) font = QtGui.QFont() font.setBold(True) font.setItalic(True) font.setWeight(75) self.label_5.setFont(font) - self.label_5.setObjectName(_fromUtf8("label_5")) + self.label_5.setObjectName("label_5") self.verticalLayout_17.addWidget(self.label_5) - self.treeWidget_DCS = QtGui.QTreeWidget(self.tab_DCS) + self.treeWidget_DCS = QtWidgets.QTreeWidget(self.tab_DCS) self.treeWidget_DCS.setMinimumSize(QtCore.QSize(0, 200)) self.treeWidget_DCS.setIndentation(4) self.treeWidget_DCS.setColumnCount(5) - self.treeWidget_DCS.setObjectName(_fromUtf8("treeWidget_DCS")) + self.treeWidget_DCS.setObjectName("treeWidget_DCS") self.treeWidget_DCS.header().setDefaultSectionSize(197) self.treeWidget_DCS.header().setMinimumSectionSize(70) self.verticalLayout_17.addWidget(self.treeWidget_DCS) self.verticalLayout_14.addLayout(self.verticalLayout_17) - self.horizontalLayout_20 = QtGui.QHBoxLayout() - self.horizontalLayout_20.setObjectName(_fromUtf8("horizontalLayout_20")) - self.gridLayout_2 = QtGui.QGridLayout() + self.horizontalLayout_20 = QtWidgets.QHBoxLayout() + self.horizontalLayout_20.setObjectName("horizontalLayout_20") + self.gridLayout_2 = QtWidgets.QGridLayout() self.gridLayout_2.setSpacing(6) - self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2")) - self.GroupBox_10 = QtGui.QGroupBox(self.tab_DCS) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) + self.gridLayout_2.setObjectName("gridLayout_2") + self.GroupBox_10 = QtWidgets.QGroupBox(self.tab_DCS) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.GroupBox_10.sizePolicy().hasHeightForWidth()) self.GroupBox_10.setSizePolicy(sizePolicy) self.GroupBox_10.setMinimumSize(QtCore.QSize(450, 62)) - self.GroupBox_10.setObjectName(_fromUtf8("GroupBox_10")) - self.gridLayoutWidget_5 = QtGui.QWidget(self.GroupBox_10) + self.GroupBox_10.setObjectName("GroupBox_10") + self.gridLayoutWidget_5 = QtWidgets.QWidget(self.GroupBox_10) self.gridLayoutWidget_5.setGeometry(QtCore.QRect(10, 23, 441, 24)) - self.gridLayoutWidget_5.setObjectName(_fromUtf8("gridLayoutWidget_5")) - self.horizontalLayout_13 = QtGui.QHBoxLayout(self.gridLayoutWidget_5) - self.horizontalLayout_13.setMargin(0) - self.horizontalLayout_13.setObjectName(_fromUtf8("horizontalLayout_13")) - spacerItem5 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) + self.gridLayoutWidget_5.setObjectName("gridLayoutWidget_5") + self.horizontalLayout_13 = QtWidgets.QHBoxLayout(self.gridLayoutWidget_5) + self.horizontalLayout_13.setContentsMargins(0, 0, 0, 0) + self.horizontalLayout_13.setObjectName("horizontalLayout_13") + spacerItem5 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_13.addItem(spacerItem5) - self.checkBox_DCSAll = QtGui.QCheckBox(self.gridLayoutWidget_5) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Fixed) + self.checkBox_DCSAll = QtWidgets.QCheckBox(self.gridLayoutWidget_5) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.checkBox_DCSAll.sizePolicy().hasHeightForWidth()) self.checkBox_DCSAll.setSizePolicy(sizePolicy) - self.checkBox_DCSAll.setObjectName(_fromUtf8("checkBox_DCSAll")) + self.checkBox_DCSAll.setObjectName("checkBox_DCSAll") self.horizontalLayout_13.addWidget(self.checkBox_DCSAll) - self.checkBox_DCSDatSerDesc = QtGui.QCheckBox(self.gridLayoutWidget_5) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Fixed) + self.checkBox_DCSDatSerDesc = QtWidgets.QCheckBox(self.gridLayoutWidget_5) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.checkBox_DCSDatSerDesc.sizePolicy().hasHeightForWidth()) self.checkBox_DCSDatSerDesc.setSizePolicy(sizePolicy) - self.checkBox_DCSDatSerDesc.setObjectName(_fromUtf8("checkBox_DCSDatSerDesc")) + self.checkBox_DCSDatSerDesc.setObjectName("checkBox_DCSDatSerDesc") self.horizontalLayout_13.addWidget(self.checkBox_DCSDatSerDesc) - self.checkBox_DCSCovDesc = QtGui.QCheckBox(self.gridLayoutWidget_5) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Fixed) + self.checkBox_DCSCovDesc = QtWidgets.QCheckBox(self.gridLayoutWidget_5) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.checkBox_DCSCovDesc.sizePolicy().hasHeightForWidth()) self.checkBox_DCSCovDesc.setSizePolicy(sizePolicy) - self.checkBox_DCSCovDesc.setObjectName(_fromUtf8("checkBox_DCSCovDesc")) + self.checkBox_DCSCovDesc.setObjectName("checkBox_DCSCovDesc") self.horizontalLayout_13.addWidget(self.checkBox_DCSCovDesc) - self.label_8 = QtGui.QLabel(self.GroupBox_10) + self.label_8 = QtWidgets.QLabel(self.GroupBox_10) self.label_8.setGeometry(QtCore.QRect(95, 43, 181, 17)) - self.label_8.setObjectName(_fromUtf8("label_8")) + self.label_8.setObjectName("label_8") self.gridLayout_2.addWidget(self.GroupBox_10, 0, 0, 1, 2) - self.groupBox_21 = QtGui.QGroupBox(self.tab_DCS) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) + self.groupBox_21 = QtWidgets.QGroupBox(self.tab_DCS) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.groupBox_21.sizePolicy().hasHeightForWidth()) @@ -466,19 +454,19 @@ def setupUi(self, QgsWcsClient2): font.setBold(True) font.setWeight(75) self.groupBox_21.setFont(font) - self.groupBox_21.setObjectName(_fromUtf8("groupBox_21")) - self.layoutWidget_5 = QtGui.QWidget(self.groupBox_21) + self.groupBox_21.setObjectName("groupBox_21") + self.layoutWidget_5 = QtWidgets.QWidget(self.groupBox_21) self.layoutWidget_5.setGeometry(QtCore.QRect(10, 25, 441, 164)) - self.layoutWidget_5.setObjectName(_fromUtf8("layoutWidget_5")) - self.verticalLayout_18 = QtGui.QVBoxLayout(self.layoutWidget_5) - self.verticalLayout_18.setMargin(0) - self.verticalLayout_18.setObjectName(_fromUtf8("verticalLayout_18")) - self.horizontalLayout_8 = QtGui.QHBoxLayout() - self.horizontalLayout_8.setObjectName(_fromUtf8("horizontalLayout_8")) - spacerItem6 = QtGui.QSpacerItem(148, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) + self.layoutWidget_5.setObjectName("layoutWidget_5") + self.verticalLayout_18 = QtWidgets.QVBoxLayout(self.layoutWidget_5) + self.verticalLayout_18.setContentsMargins(0, 0, 0, 0) + self.verticalLayout_18.setObjectName("verticalLayout_18") + self.horizontalLayout_8 = QtWidgets.QHBoxLayout() + self.horizontalLayout_8.setObjectName("horizontalLayout_8") + spacerItem6 = QtWidgets.QSpacerItem(148, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_8.addItem(spacerItem6) - self.label_DCSMaxLat = QtGui.QLabel(self.layoutWidget_5) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Preferred) + self.label_DCSMaxLat = QtWidgets.QLabel(self.layoutWidget_5) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.label_DCSMaxLat.sizePolicy().hasHeightForWidth()) @@ -489,17 +477,17 @@ def setupUi(self, QgsWcsClient2): self.label_DCSMaxLat.setFont(font) self.label_DCSMaxLat.setLayoutDirection(QtCore.Qt.LeftToRight) self.label_DCSMaxLat.setAlignment(QtCore.Qt.AlignCenter) - self.label_DCSMaxLat.setObjectName(_fromUtf8("label_DCSMaxLat")) + self.label_DCSMaxLat.setObjectName("label_DCSMaxLat") self.horizontalLayout_8.addWidget(self.label_DCSMaxLat) - spacerItem7 = QtGui.QSpacerItem(158, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) + spacerItem7 = QtWidgets.QSpacerItem(158, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_8.addItem(spacerItem7) self.verticalLayout_18.addLayout(self.horizontalLayout_8) - self.horizontalLayout_9 = QtGui.QHBoxLayout() - self.horizontalLayout_9.setObjectName(_fromUtf8("horizontalLayout_9")) - spacerItem8 = QtGui.QSpacerItem(128, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) + self.horizontalLayout_9 = QtWidgets.QHBoxLayout() + self.horizontalLayout_9.setObjectName("horizontalLayout_9") + spacerItem8 = QtWidgets.QSpacerItem(128, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_9.addItem(spacerItem8) - self.lineEdit_DCSMaxLat = QtGui.QLineEdit(self.layoutWidget_5) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Fixed) + self.lineEdit_DCSMaxLat = QtWidgets.QLineEdit(self.layoutWidget_5) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lineEdit_DCSMaxLat.sizePolicy().hasHeightForWidth()) @@ -508,15 +496,15 @@ def setupUi(self, QgsWcsClient2): font.setBold(False) font.setWeight(50) self.lineEdit_DCSMaxLat.setFont(font) - self.lineEdit_DCSMaxLat.setObjectName(_fromUtf8("lineEdit_DCSMaxLat")) + self.lineEdit_DCSMaxLat.setObjectName("lineEdit_DCSMaxLat") self.horizontalLayout_9.addWidget(self.lineEdit_DCSMaxLat) - spacerItem9 = QtGui.QSpacerItem(148, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) + spacerItem9 = QtWidgets.QSpacerItem(148, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_9.addItem(spacerItem9) self.verticalLayout_18.addLayout(self.horizontalLayout_9) - self.horizontalLayout_10 = QtGui.QHBoxLayout() - self.horizontalLayout_10.setObjectName(_fromUtf8("horizontalLayout_10")) - self.label_DCSMinLon = QtGui.QLabel(self.layoutWidget_5) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Preferred) + self.horizontalLayout_10 = QtWidgets.QHBoxLayout() + self.horizontalLayout_10.setObjectName("horizontalLayout_10") + self.label_DCSMinLon = QtWidgets.QLabel(self.layoutWidget_5) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.label_DCSMinLon.sizePolicy().hasHeightForWidth()) @@ -526,10 +514,10 @@ def setupUi(self, QgsWcsClient2): font.setWeight(50) self.label_DCSMinLon.setFont(font) self.label_DCSMinLon.setAlignment(QtCore.Qt.AlignCenter) - self.label_DCSMinLon.setObjectName(_fromUtf8("label_DCSMinLon")) + self.label_DCSMinLon.setObjectName("label_DCSMinLon") self.horizontalLayout_10.addWidget(self.label_DCSMinLon) - self.lineEdit_DCSMinLon = QtGui.QLineEdit(self.layoutWidget_5) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Fixed) + self.lineEdit_DCSMinLon = QtWidgets.QLineEdit(self.layoutWidget_5) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lineEdit_DCSMinLon.sizePolicy().hasHeightForWidth()) @@ -538,10 +526,10 @@ def setupUi(self, QgsWcsClient2): font.setBold(False) font.setWeight(50) self.lineEdit_DCSMinLon.setFont(font) - self.lineEdit_DCSMinLon.setObjectName(_fromUtf8("lineEdit_DCSMinLon")) + self.lineEdit_DCSMinLon.setObjectName("lineEdit_DCSMinLon") self.horizontalLayout_10.addWidget(self.lineEdit_DCSMinLon) - self.lineEdit_DCSMaxLon = QtGui.QLineEdit(self.layoutWidget_5) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Fixed) + self.lineEdit_DCSMaxLon = QtWidgets.QLineEdit(self.layoutWidget_5) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lineEdit_DCSMaxLon.sizePolicy().hasHeightForWidth()) @@ -550,10 +538,10 @@ def setupUi(self, QgsWcsClient2): font.setBold(False) font.setWeight(50) self.lineEdit_DCSMaxLon.setFont(font) - self.lineEdit_DCSMaxLon.setObjectName(_fromUtf8("lineEdit_DCSMaxLon")) + self.lineEdit_DCSMaxLon.setObjectName("lineEdit_DCSMaxLon") self.horizontalLayout_10.addWidget(self.lineEdit_DCSMaxLon) - self.label_DCSMaxLon = QtGui.QLabel(self.layoutWidget_5) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Preferred) + self.label_DCSMaxLon = QtWidgets.QLabel(self.layoutWidget_5) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.label_DCSMaxLon.sizePolicy().hasHeightForWidth()) @@ -564,15 +552,15 @@ def setupUi(self, QgsWcsClient2): self.label_DCSMaxLon.setFont(font) self.label_DCSMaxLon.setScaledContents(False) self.label_DCSMaxLon.setAlignment(QtCore.Qt.AlignCenter) - self.label_DCSMaxLon.setObjectName(_fromUtf8("label_DCSMaxLon")) + self.label_DCSMaxLon.setObjectName("label_DCSMaxLon") self.horizontalLayout_10.addWidget(self.label_DCSMaxLon) self.verticalLayout_18.addLayout(self.horizontalLayout_10) - self.horizontalLayout_11 = QtGui.QHBoxLayout() - self.horizontalLayout_11.setObjectName(_fromUtf8("horizontalLayout_11")) - spacerItem10 = QtGui.QSpacerItem(128, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) + self.horizontalLayout_11 = QtWidgets.QHBoxLayout() + self.horizontalLayout_11.setObjectName("horizontalLayout_11") + spacerItem10 = QtWidgets.QSpacerItem(128, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_11.addItem(spacerItem10) - self.lineEdit_DCSMinLat = QtGui.QLineEdit(self.layoutWidget_5) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Fixed) + self.lineEdit_DCSMinLat = QtWidgets.QLineEdit(self.layoutWidget_5) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lineEdit_DCSMinLat.sizePolicy().hasHeightForWidth()) @@ -581,17 +569,17 @@ def setupUi(self, QgsWcsClient2): font.setBold(False) font.setWeight(50) self.lineEdit_DCSMinLat.setFont(font) - self.lineEdit_DCSMinLat.setObjectName(_fromUtf8("lineEdit_DCSMinLat")) + self.lineEdit_DCSMinLat.setObjectName("lineEdit_DCSMinLat") self.horizontalLayout_11.addWidget(self.lineEdit_DCSMinLat) - spacerItem11 = QtGui.QSpacerItem(148, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) + spacerItem11 = QtWidgets.QSpacerItem(148, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_11.addItem(spacerItem11) self.verticalLayout_18.addLayout(self.horizontalLayout_11) - self.horizontalLayout_12 = QtGui.QHBoxLayout() - self.horizontalLayout_12.setObjectName(_fromUtf8("horizontalLayout_12")) - spacerItem12 = QtGui.QSpacerItem(158, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) + self.horizontalLayout_12 = QtWidgets.QHBoxLayout() + self.horizontalLayout_12.setObjectName("horizontalLayout_12") + spacerItem12 = QtWidgets.QSpacerItem(158, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_12.addItem(spacerItem12) - self.label_DCSMinLat = QtGui.QLabel(self.layoutWidget_5) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Preferred) + self.label_DCSMinLat = QtWidgets.QLabel(self.layoutWidget_5) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.label_DCSMinLat.sizePolicy().hasHeightForWidth()) @@ -601,14 +589,14 @@ def setupUi(self, QgsWcsClient2): font.setWeight(50) self.label_DCSMinLat.setFont(font) self.label_DCSMinLat.setAlignment(QtCore.Qt.AlignCenter) - self.label_DCSMinLat.setObjectName(_fromUtf8("label_DCSMinLat")) + self.label_DCSMinLat.setObjectName("label_DCSMinLat") self.horizontalLayout_12.addWidget(self.label_DCSMinLat) - spacerItem13 = QtGui.QSpacerItem(158, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) + spacerItem13 = QtWidgets.QSpacerItem(158, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_12.addItem(spacerItem13) self.verticalLayout_18.addLayout(self.horizontalLayout_12) self.gridLayout_2.addWidget(self.groupBox_21, 3, 0, 1, 2) - self.groupBox_12 = QtGui.QGroupBox(self.tab_DCS) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) + self.groupBox_12 = QtWidgets.QGroupBox(self.tab_DCS) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.groupBox_12.sizePolicy().hasHeightForWidth()) @@ -618,24 +606,24 @@ def setupUi(self, QgsWcsClient2): font.setBold(True) font.setWeight(75) self.groupBox_12.setFont(font) - self.groupBox_12.setObjectName(_fromUtf8("groupBox_12")) - self.layoutWidget = QtGui.QWidget(self.groupBox_12) + self.groupBox_12.setObjectName("groupBox_12") + self.layoutWidget = QtWidgets.QWidget(self.groupBox_12) self.layoutWidget.setGeometry(QtCore.QRect(7, 33, 431, 64)) - self.layoutWidget.setObjectName(_fromUtf8("layoutWidget")) - self.horizontalLayout_7 = QtGui.QHBoxLayout(self.layoutWidget) - self.horizontalLayout_7.setMargin(0) - self.horizontalLayout_7.setObjectName(_fromUtf8("horizontalLayout_7")) - spacerItem14 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) + self.layoutWidget.setObjectName("layoutWidget") + self.horizontalLayout_7 = QtWidgets.QHBoxLayout(self.layoutWidget) + self.horizontalLayout_7.setContentsMargins(0, 0, 0, 0) + self.horizontalLayout_7.setObjectName("horizontalLayout_7") + spacerItem14 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_7.addItem(spacerItem14) - self.checkBox_DCS_ActiveDate = QtGui.QCheckBox(self.layoutWidget) + self.checkBox_DCS_ActiveDate = QtWidgets.QCheckBox(self.layoutWidget) self.checkBox_DCS_ActiveDate.setEnabled(False) - self.checkBox_DCS_ActiveDate.setText(_fromUtf8("")) + self.checkBox_DCS_ActiveDate.setText("") self.checkBox_DCS_ActiveDate.setCheckable(True) - self.checkBox_DCS_ActiveDate.setObjectName(_fromUtf8("checkBox_DCS_ActiveDate")) + self.checkBox_DCS_ActiveDate.setObjectName("checkBox_DCS_ActiveDate") self.horizontalLayout_7.addWidget(self.checkBox_DCS_ActiveDate) - self.gridLayout_3 = QtGui.QGridLayout() - self.gridLayout_3.setObjectName(_fromUtf8("gridLayout_3")) - self.dateTimeEdit_DCSEnd = QtGui.QDateTimeEdit(self.layoutWidget) + self.gridLayout_3 = QtWidgets.QGridLayout() + self.gridLayout_3.setObjectName("gridLayout_3") + self.dateTimeEdit_DCSEnd = QtWidgets.QDateTimeEdit(self.layoutWidget) font = QtGui.QFont() font.setBold(False) font.setWeight(50) @@ -645,12 +633,12 @@ def setupUi(self, QgsWcsClient2): self.dateTimeEdit_DCSEnd.setTime(QtCore.QTime(22, 59, 59)) self.dateTimeEdit_DCSEnd.setMinimumDateTime(QtCore.QDateTime(QtCore.QDate(1899, 12, 30), QtCore.QTime(23, 0, 0))) self.dateTimeEdit_DCSEnd.setMaximumTime(QtCore.QTime(22, 59, 59)) - self.dateTimeEdit_DCSEnd.setCurrentSection(QtGui.QDateTimeEdit.YearSection) + self.dateTimeEdit_DCSEnd.setCurrentSection(QtWidgets.QDateTimeEdit.YearSection) self.dateTimeEdit_DCSEnd.setCalendarPopup(True) self.dateTimeEdit_DCSEnd.setTimeSpec(QtCore.Qt.UTC) - self.dateTimeEdit_DCSEnd.setObjectName(_fromUtf8("dateTimeEdit_DCSEnd")) + self.dateTimeEdit_DCSEnd.setObjectName("dateTimeEdit_DCSEnd") self.gridLayout_3.addWidget(self.dateTimeEdit_DCSEnd, 1, 1, 1, 1) - self.dateTimeEdit_DCSBegin = QtGui.QDateTimeEdit(self.layoutWidget) + self.dateTimeEdit_DCSBegin = QtWidgets.QDateTimeEdit(self.layoutWidget) font = QtGui.QFont() font.setBold(False) font.setWeight(50) @@ -662,50 +650,50 @@ def setupUi(self, QgsWcsClient2): self.dateTimeEdit_DCSBegin.setMinimumTime(QtCore.QTime(23, 0, 0)) self.dateTimeEdit_DCSBegin.setCalendarPopup(True) self.dateTimeEdit_DCSBegin.setTimeSpec(QtCore.Qt.UTC) - self.dateTimeEdit_DCSBegin.setObjectName(_fromUtf8("dateTimeEdit_DCSBegin")) + self.dateTimeEdit_DCSBegin.setObjectName("dateTimeEdit_DCSBegin") self.gridLayout_3.addWidget(self.dateTimeEdit_DCSBegin, 0, 1, 1, 1) - self.label_DCSEnd = QtGui.QLabel(self.layoutWidget) - self.label_DCSEnd.setObjectName(_fromUtf8("label_DCSEnd")) + self.label_DCSEnd = QtWidgets.QLabel(self.layoutWidget) + self.label_DCSEnd.setObjectName("label_DCSEnd") self.gridLayout_3.addWidget(self.label_DCSEnd, 1, 0, 1, 1) - self.label_DCSBegin = QtGui.QLabel(self.layoutWidget) - self.label_DCSBegin.setObjectName(_fromUtf8("label_DCSBegin")) + self.label_DCSBegin = QtWidgets.QLabel(self.layoutWidget) + self.label_DCSBegin.setObjectName("label_DCSBegin") self.gridLayout_3.addWidget(self.label_DCSBegin, 0, 0, 1, 1) self.horizontalLayout_7.addLayout(self.gridLayout_3) - spacerItem15 = QtGui.QSpacerItem(118, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) + spacerItem15 = QtWidgets.QSpacerItem(118, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_7.addItem(spacerItem15) self.gridLayout_2.addWidget(self.groupBox_12, 1, 0, 1, 1) self.gridLayout_2.setRowStretch(0, 1) self.gridLayout_2.setRowStretch(1, 2) self.gridLayout_2.setRowStretch(2, 4) self.horizontalLayout_20.addLayout(self.gridLayout_2) - self.verticalLayout_2 = QtGui.QVBoxLayout() - self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2")) - self.gridLayout_6 = QtGui.QGridLayout() + self.verticalLayout_2 = QtWidgets.QVBoxLayout() + self.verticalLayout_2.setObjectName("verticalLayout_2") + self.gridLayout_6 = QtWidgets.QGridLayout() self.gridLayout_6.setContentsMargins(139, -1, -1, -1) - self.gridLayout_6.setObjectName(_fromUtf8("gridLayout_6")) - self.groupBox_14 = QtGui.QGroupBox(self.tab_DCS) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Maximum) + self.gridLayout_6.setObjectName("gridLayout_6") + self.groupBox_14 = QtWidgets.QGroupBox(self.tab_DCS) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Maximum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.groupBox_14.sizePolicy().hasHeightForWidth()) self.groupBox_14.setSizePolicy(sizePolicy) self.groupBox_14.setMinimumSize(QtCore.QSize(180, 70)) - self.groupBox_14.setObjectName(_fromUtf8("groupBox_14")) - self.spinBox_DCSCount = QtGui.QSpinBox(self.groupBox_14) + self.groupBox_14.setObjectName("groupBox_14") + self.spinBox_DCSCount = QtWidgets.QSpinBox(self.groupBox_14) self.spinBox_DCSCount.setEnabled(False) self.spinBox_DCSCount.setGeometry(QtCore.QRect(55, 30, 101, 27)) self.spinBox_DCSCount.setMinimum(1) self.spinBox_DCSCount.setMaximum(9999) self.spinBox_DCSCount.setProperty("value", 10) - self.spinBox_DCSCount.setObjectName(_fromUtf8("spinBox_DCSCount")) - self.checkBox_DCS_ActiveCount = QtGui.QCheckBox(self.groupBox_14) + self.spinBox_DCSCount.setObjectName("spinBox_DCSCount") + self.checkBox_DCS_ActiveCount = QtWidgets.QCheckBox(self.groupBox_14) self.checkBox_DCS_ActiveCount.setGeometry(QtCore.QRect(22, 33, 31, 22)) - self.checkBox_DCS_ActiveCount.setText(_fromUtf8("")) + self.checkBox_DCS_ActiveCount.setText("") self.checkBox_DCS_ActiveCount.setChecked(True) - self.checkBox_DCS_ActiveCount.setObjectName(_fromUtf8("checkBox_DCS_ActiveCount")) + self.checkBox_DCS_ActiveCount.setObjectName("checkBox_DCS_ActiveCount") self.gridLayout_6.addWidget(self.groupBox_14, 2, 0, 1, 1) - self.groupBox_13 = QtGui.QGroupBox(self.tab_DCS) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + self.groupBox_13 = QtWidgets.QGroupBox(self.tab_DCS) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.groupBox_13.sizePolicy().hasHeightForWidth()) @@ -713,21 +701,21 @@ def setupUi(self, QgsWcsClient2): self.groupBox_13.setMinimumSize(QtCore.QSize(180, 90)) self.groupBox_13.setLayoutDirection(QtCore.Qt.LeftToRight) self.groupBox_13.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) - self.groupBox_13.setObjectName(_fromUtf8("groupBox_13")) - self.radioButton_ContOver = QtGui.QRadioButton(self.groupBox_13) + self.groupBox_13.setObjectName("groupBox_13") + self.radioButton_ContOver = QtWidgets.QRadioButton(self.groupBox_13) self.radioButton_ContOver.setGeometry(QtCore.QRect(13, 28, 87, 22)) self.radioButton_ContOver.setChecked(True) self.radioButton_ContOver.setAutoExclusive(True) - self.radioButton_ContOver.setObjectName(_fromUtf8("radioButton_ContOver")) - self.radioButton_ContCont = QtGui.QRadioButton(self.groupBox_13) + self.radioButton_ContOver.setObjectName("radioButton_ContOver") + self.radioButton_ContCont = QtWidgets.QRadioButton(self.groupBox_13) self.radioButton_ContCont.setGeometry(QtCore.QRect(13, 59, 87, 22)) - self.radioButton_ContCont.setObjectName(_fromUtf8("radioButton_ContCont")) + self.radioButton_ContCont.setObjectName("radioButton_ContCont") self.gridLayout_6.addWidget(self.groupBox_13, 1, 0, 1, 1) self.verticalLayout_2.addLayout(self.gridLayout_6) - spacerItem16 = QtGui.QSpacerItem(20, 128, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.MinimumExpanding) + spacerItem16 = QtWidgets.QSpacerItem(20, 128, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.MinimumExpanding) self.verticalLayout_2.addItem(spacerItem16) - self.checkBox_DCSFull = QtGui.QCheckBox(self.tab_DCS) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + self.checkBox_DCSFull = QtWidgets.QCheckBox(self.tab_DCS) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.checkBox_DCSFull.sizePolicy().hasHeightForWidth()) @@ -739,24 +727,24 @@ def setupUi(self, QgsWcsClient2): self.checkBox_DCSFull.setFont(font) self.checkBox_DCSFull.setLayoutDirection(QtCore.Qt.RightToLeft) self.checkBox_DCSFull.setIconSize(QtCore.QSize(16, 16)) - self.checkBox_DCSFull.setObjectName(_fromUtf8("checkBox_DCSFull")) + self.checkBox_DCSFull.setObjectName("checkBox_DCSFull") self.verticalLayout_2.addWidget(self.checkBox_DCSFull) - self.horizontalLayout_6 = QtGui.QHBoxLayout() - self.horizontalLayout_6.setSpacing(5) + self.horizontalLayout_6 = QtWidgets.QHBoxLayout() self.horizontalLayout_6.setContentsMargins(41, 2, 0, 0) - self.horizontalLayout_6.setObjectName(_fromUtf8("horizontalLayout_6")) - self.btnClose_DCS = QtGui.QPushButton(self.tab_DCS) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + self.horizontalLayout_6.setSpacing(5) + self.horizontalLayout_6.setObjectName("horizontalLayout_6") + self.btnClose_DCS = QtWidgets.QPushButton(self.tab_DCS) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.btnClose_DCS.sizePolicy().hasHeightForWidth()) self.btnClose_DCS.setSizePolicy(sizePolicy) self.btnClose_DCS.setMinimumSize(QtCore.QSize(85, 27)) self.btnClose_DCS.setBaseSize(QtCore.QSize(40, 30)) - self.btnClose_DCS.setObjectName(_fromUtf8("btnClose_DCS")) + self.btnClose_DCS.setObjectName("btnClose_DCS") self.horizontalLayout_6.addWidget(self.btnClose_DCS) - self.pushButton_DCS = QtGui.QPushButton(self.tab_DCS) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + self.pushButton_DCS = QtWidgets.QPushButton(self.tab_DCS) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.pushButton_DCS.sizePolicy().hasHeightForWidth()) @@ -767,51 +755,51 @@ def setupUi(self, QgsWcsClient2): font.setWeight(75) self.pushButton_DCS.setFont(font) self.pushButton_DCS.setLayoutDirection(QtCore.Qt.LeftToRight) - self.pushButton_DCS.setObjectName(_fromUtf8("pushButton_DCS")) + self.pushButton_DCS.setObjectName("pushButton_DCS") self.horizontalLayout_6.addWidget(self.pushButton_DCS) self.horizontalLayout_6.setStretch(0, 1) self.horizontalLayout_6.setStretch(1, 1) self.verticalLayout_2.addLayout(self.horizontalLayout_6) self.horizontalLayout_20.addLayout(self.verticalLayout_2) self.verticalLayout_14.addLayout(self.horizontalLayout_20) - self.tabWidget_EOWcsClient2.addTab(self.tab_DCS, _fromUtf8("")) - self.tab_GCov = QtGui.QWidget() + self.tabWidget_EOWcsClient2.addTab(self.tab_DCS, "") + self.tab_GCov = QtWidgets.QWidget() self.tab_GCov.setEnabled(False) - self.tab_GCov.setObjectName(_fromUtf8("tab_GCov")) - self.verticalLayout_27 = QtGui.QVBoxLayout(self.tab_GCov) - self.verticalLayout_27.setObjectName(_fromUtf8("verticalLayout_27")) - self.verticalLayout_26 = QtGui.QVBoxLayout() - self.verticalLayout_26.setObjectName(_fromUtf8("verticalLayout_26")) - self.verticalLayout_24 = QtGui.QVBoxLayout() - self.verticalLayout_24.setObjectName(_fromUtf8("verticalLayout_24")) - self.label_GCovInfo1 = QtGui.QLabel(self.tab_GCov) + self.tab_GCov.setObjectName("tab_GCov") + self.verticalLayout_27 = QtWidgets.QVBoxLayout(self.tab_GCov) + self.verticalLayout_27.setObjectName("verticalLayout_27") + self.verticalLayout_26 = QtWidgets.QVBoxLayout() + self.verticalLayout_26.setObjectName("verticalLayout_26") + self.verticalLayout_24 = QtWidgets.QVBoxLayout() + self.verticalLayout_24.setObjectName("verticalLayout_24") + self.label_GCovInfo1 = QtWidgets.QLabel(self.tab_GCov) font = QtGui.QFont() font.setBold(True) font.setWeight(75) self.label_GCovInfo1.setFont(font) - self.label_GCovInfo1.setObjectName(_fromUtf8("label_GCovInfo1")) + self.label_GCovInfo1.setObjectName("label_GCovInfo1") self.verticalLayout_24.addWidget(self.label_GCovInfo1) - self.label_GCOvInfo2 = QtGui.QLabel(self.tab_GCov) + self.label_GCOvInfo2 = QtWidgets.QLabel(self.tab_GCov) font = QtGui.QFont() font.setBold(True) font.setItalic(True) font.setWeight(75) self.label_GCOvInfo2.setFont(font) - self.label_GCOvInfo2.setObjectName(_fromUtf8("label_GCOvInfo2")) + self.label_GCOvInfo2.setObjectName("label_GCOvInfo2") self.verticalLayout_24.addWidget(self.label_GCOvInfo2) - self.treeWidget_GCov = QtGui.QTreeWidget(self.tab_GCov) - self.treeWidget_GCov.setSelectionMode(QtGui.QAbstractItemView.MultiSelection) + self.treeWidget_GCov = QtWidgets.QTreeWidget(self.tab_GCov) + self.treeWidget_GCov.setSelectionMode(QtWidgets.QAbstractItemView.MultiSelection) self.treeWidget_GCov.setColumnCount(1) - self.treeWidget_GCov.setObjectName(_fromUtf8("treeWidget_GCov")) + self.treeWidget_GCov.setObjectName("treeWidget_GCov") self.treeWidget_GCov.header().setDefaultSectionSize(200) self.verticalLayout_24.addWidget(self.treeWidget_GCov) self.verticalLayout_26.addLayout(self.verticalLayout_24) - self.verticalLayout_25 = QtGui.QVBoxLayout() - self.verticalLayout_25.setObjectName(_fromUtf8("verticalLayout_25")) - self.horizontalLayout_16 = QtGui.QHBoxLayout() - self.horizontalLayout_16.setObjectName(_fromUtf8("horizontalLayout_16")) - self.groupBox_15 = QtGui.QGroupBox(self.tab_GCov) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + self.verticalLayout_25 = QtWidgets.QVBoxLayout() + self.verticalLayout_25.setObjectName("verticalLayout_25") + self.horizontalLayout_16 = QtWidgets.QHBoxLayout() + self.horizontalLayout_16.setObjectName("horizontalLayout_16") + self.groupBox_15 = QtWidgets.QGroupBox(self.tab_GCov) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.groupBox_15.sizePolicy().hasHeightForWidth()) @@ -823,14 +811,14 @@ def setupUi(self, QgsWcsClient2): font.setWeight(50) self.groupBox_15.setFont(font) self.groupBox_15.setFlat(False) - self.groupBox_15.setObjectName(_fromUtf8("groupBox_15")) - self.gridLayout_7 = QtGui.QGridLayout(self.groupBox_15) - self.gridLayout_7.setObjectName(_fromUtf8("gridLayout_7")) - self.groupBox_16 = QtGui.QGroupBox(self.groupBox_15) - self.groupBox_16.setObjectName(_fromUtf8("groupBox_16")) - self.label_GCovMinLat = QtGui.QLabel(self.groupBox_16) + self.groupBox_15.setObjectName("groupBox_15") + self.gridLayout_7 = QtWidgets.QGridLayout(self.groupBox_15) + self.gridLayout_7.setObjectName("gridLayout_7") + self.groupBox_16 = QtWidgets.QGroupBox(self.groupBox_15) + self.groupBox_16.setObjectName("groupBox_16") + self.label_GCovMinLat = QtWidgets.QLabel(self.groupBox_16) self.label_GCovMinLat.setGeometry(QtCore.QRect(146, 120, 89, 17)) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Preferred) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.label_GCovMinLat.sizePolicy().hasHeightForWidth()) @@ -839,10 +827,10 @@ def setupUi(self, QgsWcsClient2): font.setBold(False) font.setWeight(50) self.label_GCovMinLat.setFont(font) - self.label_GCovMinLat.setObjectName(_fromUtf8("label_GCovMinLat")) - self.label_GCovMaxLat = QtGui.QLabel(self.groupBox_16) + self.label_GCovMinLat.setObjectName("label_GCovMinLat") + self.label_GCovMaxLat = QtWidgets.QLabel(self.groupBox_16) self.label_GCovMaxLat.setGeometry(QtCore.QRect(149, -2, 92, 17)) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Preferred) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.label_GCovMaxLat.sizePolicy().hasHeightForWidth()) @@ -851,18 +839,18 @@ def setupUi(self, QgsWcsClient2): font.setBold(False) font.setWeight(50) self.label_GCovMaxLat.setFont(font) - self.label_GCovMaxLat.setObjectName(_fromUtf8("label_GCovMaxLat")) - self.lineEdit_GCovMinLat = QtGui.QLineEdit(self.groupBox_16) + self.label_GCovMaxLat.setObjectName("label_GCovMaxLat") + self.lineEdit_GCovMinLat = QtWidgets.QLineEdit(self.groupBox_16) self.lineEdit_GCovMinLat.setGeometry(QtCore.QRect(121, 87, 151, 27)) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Fixed) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lineEdit_GCovMinLat.sizePolicy().hasHeightForWidth()) self.lineEdit_GCovMinLat.setSizePolicy(sizePolicy) - self.lineEdit_GCovMinLat.setObjectName(_fromUtf8("lineEdit_GCovMinLat")) - self.label_GCovMaxLon = QtGui.QLabel(self.groupBox_16) + self.lineEdit_GCovMinLat.setObjectName("lineEdit_GCovMinLat") + self.label_GCovMaxLon = QtWidgets.QLabel(self.groupBox_16) self.label_GCovMaxLon.setGeometry(QtCore.QRect(306, 47, 71, 41)) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Preferred) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.label_GCovMaxLon.sizePolicy().hasHeightForWidth()) @@ -872,10 +860,10 @@ def setupUi(self, QgsWcsClient2): font.setWeight(50) self.label_GCovMaxLon.setFont(font) self.label_GCovMaxLon.setAlignment(QtCore.Qt.AlignCenter) - self.label_GCovMaxLon.setObjectName(_fromUtf8("label_GCovMaxLon")) - self.label_GCovMinLon = QtGui.QLabel(self.groupBox_16) + self.label_GCovMaxLon.setObjectName("label_GCovMaxLon") + self.label_GCovMinLon = QtWidgets.QLabel(self.groupBox_16) self.label_GCovMinLon.setGeometry(QtCore.QRect(-4, 47, 81, 41)) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Preferred) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.label_GCovMinLon.sizePolicy().hasHeightForWidth()) @@ -885,83 +873,91 @@ def setupUi(self, QgsWcsClient2): font.setWeight(50) self.label_GCovMinLon.setFont(font) self.label_GCovMinLon.setAlignment(QtCore.Qt.AlignCenter) - self.label_GCovMinLon.setObjectName(_fromUtf8("label_GCovMinLon")) - self.lineEdit_GCovMaxLat = QtGui.QLineEdit(self.groupBox_16) + self.label_GCovMinLon.setObjectName("label_GCovMinLon") + self.lineEdit_GCovMaxLat = QtWidgets.QLineEdit(self.groupBox_16) self.lineEdit_GCovMaxLat.setGeometry(QtCore.QRect(121, 21, 151, 27)) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Fixed) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lineEdit_GCovMaxLat.sizePolicy().hasHeightForWidth()) self.lineEdit_GCovMaxLat.setSizePolicy(sizePolicy) - self.lineEdit_GCovMaxLat.setObjectName(_fromUtf8("lineEdit_GCovMaxLat")) - self.lineEdit_GCovMinLon = QtGui.QLineEdit(self.groupBox_16) + self.lineEdit_GCovMaxLat.setObjectName("lineEdit_GCovMaxLat") + self.lineEdit_GCovMinLon = QtWidgets.QLineEdit(self.groupBox_16) self.lineEdit_GCovMinLon.setGeometry(QtCore.QRect(76, 54, 101, 27)) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Fixed) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lineEdit_GCovMinLon.sizePolicy().hasHeightForWidth()) self.lineEdit_GCovMinLon.setSizePolicy(sizePolicy) - self.lineEdit_GCovMinLon.setObjectName(_fromUtf8("lineEdit_GCovMinLon")) - self.lineEdit_GCovMaxLon = QtGui.QLineEdit(self.groupBox_16) + self.lineEdit_GCovMinLon.setObjectName("lineEdit_GCovMinLon") + self.lineEdit_GCovMaxLon = QtWidgets.QLineEdit(self.groupBox_16) self.lineEdit_GCovMaxLon.setGeometry(QtCore.QRect(200, 54, 101, 27)) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Fixed) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lineEdit_GCovMaxLon.sizePolicy().hasHeightForWidth()) self.lineEdit_GCovMaxLon.setSizePolicy(sizePolicy) - self.lineEdit_GCovMaxLon.setObjectName(_fromUtf8("lineEdit_GCovMaxLon")) + self.lineEdit_GCovMaxLon.setObjectName("lineEdit_GCovMaxLon") + self.label_GCovMinLat.raise_() + self.label_GCovMaxLat.raise_() + self.lineEdit_GCovMinLat.raise_() + self.lineEdit_GCovMaxLat.raise_() + self.lineEdit_GCovMinLon.raise_() + self.lineEdit_GCovMaxLon.raise_() + self.label_GCovMinLon.raise_() + self.label_GCovMaxLon.raise_() self.gridLayout_7.addWidget(self.groupBox_16, 0, 0, 1, 1) - self.formLayout = QtGui.QFormLayout() - self.formLayout.setObjectName(_fromUtf8("formLayout")) - self.label_GCOvBands = QtGui.QLabel(self.groupBox_15) + self.formLayout = QtWidgets.QFormLayout() + self.formLayout.setObjectName("formLayout") + self.label_GCOvBands = QtWidgets.QLabel(self.groupBox_15) font = QtGui.QFont() font.setBold(True) font.setWeight(75) self.label_GCOvBands.setFont(font) - self.label_GCOvBands.setObjectName(_fromUtf8("label_GCOvBands")) - self.formLayout.setWidget(0, QtGui.QFormLayout.LabelRole, self.label_GCOvBands) - self.lineEdit_GCovBands = QtGui.QLineEdit(self.groupBox_15) - self.lineEdit_GCovBands.setObjectName(_fromUtf8("lineEdit_GCovBands")) - self.formLayout.setWidget(0, QtGui.QFormLayout.FieldRole, self.lineEdit_GCovBands) - self.label_GCovInterpol = QtGui.QLabel(self.groupBox_15) + self.label_GCOvBands.setObjectName("label_GCOvBands") + self.formLayout.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.label_GCOvBands) + self.lineEdit_GCovBands = QtWidgets.QLineEdit(self.groupBox_15) + self.lineEdit_GCovBands.setObjectName("lineEdit_GCovBands") + self.formLayout.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.lineEdit_GCovBands) + self.label_GCovInterpol = QtWidgets.QLabel(self.groupBox_15) font = QtGui.QFont() font.setBold(True) font.setWeight(75) self.label_GCovInterpol.setFont(font) - self.label_GCovInterpol.setObjectName(_fromUtf8("label_GCovInterpol")) - self.formLayout.setWidget(1, QtGui.QFormLayout.LabelRole, self.label_GCovInterpol) - self.comboBox_GCovInterpol = QtGui.QComboBox(self.groupBox_15) - self.comboBox_GCovInterpol.setObjectName(_fromUtf8("comboBox_GCovInterpol")) - self.comboBox_GCovInterpol.addItem(_fromUtf8("")) - self.comboBox_GCovInterpol.addItem(_fromUtf8("")) - self.comboBox_GCovInterpol.addItem(_fromUtf8("")) - self.formLayout.setWidget(1, QtGui.QFormLayout.FieldRole, self.comboBox_GCovInterpol) - self.label_GCovOutFormat = QtGui.QLabel(self.groupBox_15) + self.label_GCovInterpol.setObjectName("label_GCovInterpol") + self.formLayout.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.label_GCovInterpol) + self.comboBox_GCovInterpol = QtWidgets.QComboBox(self.groupBox_15) + self.comboBox_GCovInterpol.setObjectName("comboBox_GCovInterpol") + self.comboBox_GCovInterpol.addItem("") + self.comboBox_GCovInterpol.addItem("") + self.comboBox_GCovInterpol.addItem("") + self.formLayout.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.comboBox_GCovInterpol) + self.label_GCovOutFormat = QtWidgets.QLabel(self.groupBox_15) font = QtGui.QFont() font.setBold(True) font.setWeight(75) self.label_GCovOutFormat.setFont(font) - self.label_GCovOutFormat.setObjectName(_fromUtf8("label_GCovOutFormat")) - self.formLayout.setWidget(2, QtGui.QFormLayout.LabelRole, self.label_GCovOutFormat) - self.comboBox_GCOvOutFormat = QtGui.QComboBox(self.groupBox_15) - self.comboBox_GCOvOutFormat.setObjectName(_fromUtf8("comboBox_GCOvOutFormat")) - self.formLayout.setWidget(2, QtGui.QFormLayout.FieldRole, self.comboBox_GCOvOutFormat) - self.label_GCovOutCRS = QtGui.QLabel(self.groupBox_15) + self.label_GCovOutFormat.setObjectName("label_GCovOutFormat") + self.formLayout.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.label_GCovOutFormat) + self.comboBox_GCOvOutFormat = QtWidgets.QComboBox(self.groupBox_15) + self.comboBox_GCOvOutFormat.setObjectName("comboBox_GCOvOutFormat") + self.formLayout.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.comboBox_GCOvOutFormat) + self.label_GCovOutCRS = QtWidgets.QLabel(self.groupBox_15) font = QtGui.QFont() font.setBold(True) font.setWeight(75) self.label_GCovOutCRS.setFont(font) - self.label_GCovOutCRS.setObjectName(_fromUtf8("label_GCovOutCRS")) - self.formLayout.setWidget(3, QtGui.QFormLayout.LabelRole, self.label_GCovOutCRS) - self.comboBox_GCovOutCRS = QtGui.QComboBox(self.groupBox_15) - self.comboBox_GCovOutCRS.setObjectName(_fromUtf8("comboBox_GCovOutCRS")) - self.formLayout.setWidget(3, QtGui.QFormLayout.FieldRole, self.comboBox_GCovOutCRS) + self.label_GCovOutCRS.setObjectName("label_GCovOutCRS") + self.formLayout.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.label_GCovOutCRS) + self.comboBox_GCovOutCRS = QtWidgets.QComboBox(self.groupBox_15) + self.comboBox_GCovOutCRS.setObjectName("comboBox_GCovOutCRS") + self.formLayout.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.comboBox_GCovOutCRS) self.gridLayout_7.addLayout(self.formLayout, 1, 0, 1, 1) self.horizontalLayout_16.addWidget(self.groupBox_15) - self.gridLayout_8 = QtGui.QGridLayout() - self.gridLayout_8.setObjectName(_fromUtf8("gridLayout_8")) - self.groupBox_17 = QtGui.QGroupBox(self.tab_GCov) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + self.gridLayout_8 = QtWidgets.QGridLayout() + self.gridLayout_8.setObjectName("gridLayout_8") + self.groupBox_17 = QtWidgets.QGroupBox(self.tab_GCov) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.groupBox_17.sizePolicy().hasHeightForWidth()) @@ -974,92 +970,92 @@ def setupUi(self, QgsWcsClient2): font.setWeight(50) font.setKerning(True) self.groupBox_17.setFont(font) - self.groupBox_17.setObjectName(_fromUtf8("groupBox_17")) - self.radioButton_GCovSubOrig = QtGui.QRadioButton(self.groupBox_17) + self.groupBox_17.setObjectName("groupBox_17") + self.radioButton_GCovSubOrig = QtWidgets.QRadioButton(self.groupBox_17) self.radioButton_GCovSubOrig.setGeometry(QtCore.QRect(54, 23, 116, 22)) self.radioButton_GCovSubOrig.setChecked(True) - self.radioButton_GCovSubOrig.setObjectName(_fromUtf8("radioButton_GCovSubOrig")) - self.radioButton_GCovSubCRS = QtGui.QRadioButton(self.groupBox_17) + self.radioButton_GCovSubOrig.setObjectName("radioButton_GCovSubOrig") + self.radioButton_GCovSubCRS = QtWidgets.QRadioButton(self.groupBox_17) self.radioButton_GCovSubCRS.setGeometry(QtCore.QRect(185, 23, 81, 22)) - self.radioButton_GCovSubCRS.setObjectName(_fromUtf8("radioButton_GCovSubCRS")) - self.radioButton_GCovSubPixel = QtGui.QRadioButton(self.groupBox_17) + self.radioButton_GCovSubCRS.setObjectName("radioButton_GCovSubCRS") + self.radioButton_GCovSubPixel = QtWidgets.QRadioButton(self.groupBox_17) self.radioButton_GCovSubPixel.setGeometry(QtCore.QRect(288, 23, 71, 22)) - self.radioButton_GCovSubPixel.setObjectName(_fromUtf8("radioButton_GCovSubPixel")) - self.lineEdit_GCovSubEPSG = QtGui.QLineEdit(self.groupBox_17) + self.radioButton_GCovSubPixel.setObjectName("radioButton_GCovSubPixel") + self.lineEdit_GCovSubEPSG = QtWidgets.QLineEdit(self.groupBox_17) self.lineEdit_GCovSubEPSG.setEnabled(False) self.lineEdit_GCovSubEPSG.setGeometry(QtCore.QRect(185, 71, 101, 27)) - self.lineEdit_GCovSubEPSG.setObjectName(_fromUtf8("lineEdit_GCovSubEPSG")) - self.label_GCovSubEPSG = QtGui.QLabel(self.groupBox_17) + self.lineEdit_GCovSubEPSG.setObjectName("lineEdit_GCovSubEPSG") + self.label_GCovSubEPSG = QtWidgets.QLabel(self.groupBox_17) self.label_GCovSubEPSG.setGeometry(QtCore.QRect(187, 51, 66, 17)) - self.label_GCovSubEPSG.setObjectName(_fromUtf8("label_GCovSubEPSG")) + self.label_GCovSubEPSG.setObjectName("label_GCovSubEPSG") self.gridLayout_8.addWidget(self.groupBox_17, 0, 0, 1, 1) - self.groupBox_18 = QtGui.QGroupBox(self.tab_GCov) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + self.groupBox_18 = QtWidgets.QGroupBox(self.tab_GCov) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.groupBox_18.sizePolicy().hasHeightForWidth()) self.groupBox_18.setSizePolicy(sizePolicy) self.groupBox_18.setMinimumSize(QtCore.QSize(360, 190)) - self.groupBox_18.setObjectName(_fromUtf8("groupBox_18")) - self.groupBox_19 = QtGui.QGroupBox(self.groupBox_18) + self.groupBox_18.setObjectName("groupBox_18") + self.groupBox_19 = QtWidgets.QGroupBox(self.groupBox_18) self.groupBox_19.setGeometry(QtCore.QRect(29, 23, 361, 91)) - self.groupBox_19.setObjectName(_fromUtf8("groupBox_19")) - self.layoutWidget1 = QtGui.QWidget(self.groupBox_19) + self.groupBox_19.setObjectName("groupBox_19") + self.layoutWidget1 = QtWidgets.QWidget(self.groupBox_19) self.layoutWidget1.setGeometry(QtCore.QRect(10, 20, 321, 62)) - self.layoutWidget1.setObjectName(_fromUtf8("layoutWidget1")) - self.horizontalLayout_14 = QtGui.QHBoxLayout(self.layoutWidget1) - self.horizontalLayout_14.setMargin(0) - self.horizontalLayout_14.setObjectName(_fromUtf8("horizontalLayout_14")) - self.verticalLayout_21 = QtGui.QVBoxLayout() - self.verticalLayout_21.setObjectName(_fromUtf8("verticalLayout_21")) - self.radioButton_GCovXSize = QtGui.QRadioButton(self.layoutWidget1) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + self.layoutWidget1.setObjectName("layoutWidget1") + self.horizontalLayout_14 = QtWidgets.QHBoxLayout(self.layoutWidget1) + self.horizontalLayout_14.setContentsMargins(0, 0, 0, 0) + self.horizontalLayout_14.setObjectName("horizontalLayout_14") + self.verticalLayout_21 = QtWidgets.QVBoxLayout() + self.verticalLayout_21.setObjectName("verticalLayout_21") + self.radioButton_GCovXSize = QtWidgets.QRadioButton(self.layoutWidget1) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.radioButton_GCovXSize.sizePolicy().hasHeightForWidth()) self.radioButton_GCovXSize.setSizePolicy(sizePolicy) self.radioButton_GCovXSize.setMinimumSize(QtCore.QSize(93, 25)) self.radioButton_GCovXSize.setAutoExclusive(False) - self.radioButton_GCovXSize.setObjectName(_fromUtf8("radioButton_GCovXSize")) + self.radioButton_GCovXSize.setObjectName("radioButton_GCovXSize") self.verticalLayout_21.addWidget(self.radioButton_GCovXSize) - self.radioButton_GCovXRes = QtGui.QRadioButton(self.layoutWidget1) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + self.radioButton_GCovXRes = QtWidgets.QRadioButton(self.layoutWidget1) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.radioButton_GCovXRes.sizePolicy().hasHeightForWidth()) self.radioButton_GCovXRes.setSizePolicy(sizePolicy) self.radioButton_GCovXRes.setMinimumSize(QtCore.QSize(112, 25)) self.radioButton_GCovXRes.setAutoExclusive(False) - self.radioButton_GCovXRes.setObjectName(_fromUtf8("radioButton_GCovXRes")) + self.radioButton_GCovXRes.setObjectName("radioButton_GCovXRes") self.verticalLayout_21.addWidget(self.radioButton_GCovXRes) self.horizontalLayout_14.addLayout(self.verticalLayout_21) - self.verticalLayout_22 = QtGui.QVBoxLayout() - self.verticalLayout_22.setObjectName(_fromUtf8("verticalLayout_22")) - self.label_GCovXRes = QtGui.QLabel(self.layoutWidget1) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + self.verticalLayout_22 = QtWidgets.QVBoxLayout() + self.verticalLayout_22.setObjectName("verticalLayout_22") + self.label_GCovXRes = QtWidgets.QLabel(self.layoutWidget1) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.label_GCovXRes.sizePolicy().hasHeightForWidth()) self.label_GCovXRes.setSizePolicy(sizePolicy) self.label_GCovXRes.setMinimumSize(QtCore.QSize(93, 25)) self.label_GCovXRes.setAlignment(QtCore.Qt.AlignCenter) - self.label_GCovXRes.setObjectName(_fromUtf8("label_GCovXRes")) + self.label_GCovXRes.setObjectName("label_GCovXRes") self.verticalLayout_22.addWidget(self.label_GCovXRes) - self.lineEdit_GCovXAxisLabel = QtGui.QLineEdit(self.layoutWidget1) + self.lineEdit_GCovXAxisLabel = QtWidgets.QLineEdit(self.layoutWidget1) self.lineEdit_GCovXAxisLabel.setEnabled(False) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lineEdit_GCovXAxisLabel.sizePolicy().hasHeightForWidth()) self.lineEdit_GCovXAxisLabel.setSizePolicy(sizePolicy) self.lineEdit_GCovXAxisLabel.setMinimumSize(QtCore.QSize(93, 25)) - self.lineEdit_GCovXAxisLabel.setObjectName(_fromUtf8("lineEdit_GCovXAxisLabel")) + self.lineEdit_GCovXAxisLabel.setObjectName("lineEdit_GCovXAxisLabel") self.verticalLayout_22.addWidget(self.lineEdit_GCovXAxisLabel) self.horizontalLayout_14.addLayout(self.verticalLayout_22) - self.verticalLayout_23 = QtGui.QVBoxLayout() - self.verticalLayout_23.setObjectName(_fromUtf8("verticalLayout_23")) - self.label_GCovXSize = QtGui.QLabel(self.layoutWidget1) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + self.verticalLayout_23 = QtWidgets.QVBoxLayout() + self.verticalLayout_23.setObjectName("verticalLayout_23") + self.label_GCovXSize = QtWidgets.QLabel(self.layoutWidget1) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.label_GCovXSize.sizePolicy().hasHeightForWidth()) @@ -1067,114 +1063,114 @@ def setupUi(self, QgsWcsClient2): self.label_GCovXSize.setMinimumSize(QtCore.QSize(93, 25)) self.label_GCovXSize.setLayoutDirection(QtCore.Qt.LeftToRight) self.label_GCovXSize.setAlignment(QtCore.Qt.AlignCenter) - self.label_GCovXSize.setObjectName(_fromUtf8("label_GCovXSize")) + self.label_GCovXSize.setObjectName("label_GCovXSize") self.verticalLayout_23.addWidget(self.label_GCovXSize) - self.lineEdit_GCovXSize = QtGui.QLineEdit(self.layoutWidget1) + self.lineEdit_GCovXSize = QtWidgets.QLineEdit(self.layoutWidget1) self.lineEdit_GCovXSize.setEnabled(False) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lineEdit_GCovXSize.sizePolicy().hasHeightForWidth()) self.lineEdit_GCovXSize.setSizePolicy(sizePolicy) self.lineEdit_GCovXSize.setMinimumSize(QtCore.QSize(93, 25)) - self.lineEdit_GCovXSize.setObjectName(_fromUtf8("lineEdit_GCovXSize")) + self.lineEdit_GCovXSize.setObjectName("lineEdit_GCovXSize") self.verticalLayout_23.addWidget(self.lineEdit_GCovXSize) self.horizontalLayout_14.addLayout(self.verticalLayout_23) - self.groupBox_20 = QtGui.QGroupBox(self.groupBox_18) + self.groupBox_20 = QtWidgets.QGroupBox(self.groupBox_18) self.groupBox_20.setGeometry(QtCore.QRect(30, 100, 351, 91)) - self.groupBox_20.setObjectName(_fromUtf8("groupBox_20")) - self.layoutWidget2 = QtGui.QWidget(self.groupBox_20) + self.groupBox_20.setObjectName("groupBox_20") + self.layoutWidget2 = QtWidgets.QWidget(self.groupBox_20) self.layoutWidget2.setGeometry(QtCore.QRect(10, 24, 321, 62)) - self.layoutWidget2.setObjectName(_fromUtf8("layoutWidget2")) - self.horizontalLayout_5 = QtGui.QHBoxLayout(self.layoutWidget2) - self.horizontalLayout_5.setMargin(0) - self.horizontalLayout_5.setObjectName(_fromUtf8("horizontalLayout_5")) - self.verticalLayout_20 = QtGui.QVBoxLayout() - self.verticalLayout_20.setObjectName(_fromUtf8("verticalLayout_20")) - self.radioButton_GCovYSize = QtGui.QRadioButton(self.layoutWidget2) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + self.layoutWidget2.setObjectName("layoutWidget2") + self.horizontalLayout_5 = QtWidgets.QHBoxLayout(self.layoutWidget2) + self.horizontalLayout_5.setContentsMargins(0, 0, 0, 0) + self.horizontalLayout_5.setObjectName("horizontalLayout_5") + self.verticalLayout_20 = QtWidgets.QVBoxLayout() + self.verticalLayout_20.setObjectName("verticalLayout_20") + self.radioButton_GCovYSize = QtWidgets.QRadioButton(self.layoutWidget2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.radioButton_GCovYSize.sizePolicy().hasHeightForWidth()) self.radioButton_GCovYSize.setSizePolicy(sizePolicy) self.radioButton_GCovYSize.setMinimumSize(QtCore.QSize(93, 25)) self.radioButton_GCovYSize.setAutoExclusive(False) - self.radioButton_GCovYSize.setObjectName(_fromUtf8("radioButton_GCovYSize")) + self.radioButton_GCovYSize.setObjectName("radioButton_GCovYSize") self.verticalLayout_20.addWidget(self.radioButton_GCovYSize) - self.radioButton_GCovYRes = QtGui.QRadioButton(self.layoutWidget2) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + self.radioButton_GCovYRes = QtWidgets.QRadioButton(self.layoutWidget2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.radioButton_GCovYRes.sizePolicy().hasHeightForWidth()) self.radioButton_GCovYRes.setSizePolicy(sizePolicy) self.radioButton_GCovYRes.setMinimumSize(QtCore.QSize(112, 25)) self.radioButton_GCovYRes.setAutoExclusive(False) - self.radioButton_GCovYRes.setObjectName(_fromUtf8("radioButton_GCovYRes")) + self.radioButton_GCovYRes.setObjectName("radioButton_GCovYRes") self.verticalLayout_20.addWidget(self.radioButton_GCovYRes) self.horizontalLayout_5.addLayout(self.verticalLayout_20) - self.verticalLayout_19 = QtGui.QVBoxLayout() - self.verticalLayout_19.setObjectName(_fromUtf8("verticalLayout_19")) - self.label_GCovYAxisLabel = QtGui.QLabel(self.layoutWidget2) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + self.verticalLayout_19 = QtWidgets.QVBoxLayout() + self.verticalLayout_19.setObjectName("verticalLayout_19") + self.label_GCovYAxisLabel = QtWidgets.QLabel(self.layoutWidget2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.label_GCovYAxisLabel.sizePolicy().hasHeightForWidth()) self.label_GCovYAxisLabel.setSizePolicy(sizePolicy) self.label_GCovYAxisLabel.setMinimumSize(QtCore.QSize(93, 25)) self.label_GCovYAxisLabel.setAlignment(QtCore.Qt.AlignCenter) - self.label_GCovYAxisLabel.setObjectName(_fromUtf8("label_GCovYAxisLabel")) + self.label_GCovYAxisLabel.setObjectName("label_GCovYAxisLabel") self.verticalLayout_19.addWidget(self.label_GCovYAxisLabel) - self.lineEdit_GCovYAxisLabel = QtGui.QLineEdit(self.layoutWidget2) + self.lineEdit_GCovYAxisLabel = QtWidgets.QLineEdit(self.layoutWidget2) self.lineEdit_GCovYAxisLabel.setEnabled(False) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lineEdit_GCovYAxisLabel.sizePolicy().hasHeightForWidth()) self.lineEdit_GCovYAxisLabel.setSizePolicy(sizePolicy) self.lineEdit_GCovYAxisLabel.setMinimumSize(QtCore.QSize(93, 25)) - self.lineEdit_GCovYAxisLabel.setObjectName(_fromUtf8("lineEdit_GCovYAxisLabel")) + self.lineEdit_GCovYAxisLabel.setObjectName("lineEdit_GCovYAxisLabel") self.verticalLayout_19.addWidget(self.lineEdit_GCovYAxisLabel) self.horizontalLayout_5.addLayout(self.verticalLayout_19) - self.verticalLayout_12 = QtGui.QVBoxLayout() - self.verticalLayout_12.setObjectName(_fromUtf8("verticalLayout_12")) - self.label_GCovYSize = QtGui.QLabel(self.layoutWidget2) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + self.verticalLayout_12 = QtWidgets.QVBoxLayout() + self.verticalLayout_12.setObjectName("verticalLayout_12") + self.label_GCovYSize = QtWidgets.QLabel(self.layoutWidget2) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.label_GCovYSize.sizePolicy().hasHeightForWidth()) self.label_GCovYSize.setSizePolicy(sizePolicy) self.label_GCovYSize.setMinimumSize(QtCore.QSize(93, 25)) self.label_GCovYSize.setAlignment(QtCore.Qt.AlignCenter) - self.label_GCovYSize.setObjectName(_fromUtf8("label_GCovYSize")) + self.label_GCovYSize.setObjectName("label_GCovYSize") self.verticalLayout_12.addWidget(self.label_GCovYSize) - self.lineEdit_GCovYSize = QtGui.QLineEdit(self.layoutWidget2) + self.lineEdit_GCovYSize = QtWidgets.QLineEdit(self.layoutWidget2) self.lineEdit_GCovYSize.setEnabled(False) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lineEdit_GCovYSize.sizePolicy().hasHeightForWidth()) self.lineEdit_GCovYSize.setSizePolicy(sizePolicy) self.lineEdit_GCovYSize.setMinimumSize(QtCore.QSize(93, 25)) - self.lineEdit_GCovYSize.setObjectName(_fromUtf8("lineEdit_GCovYSize")) + self.lineEdit_GCovYSize.setObjectName("lineEdit_GCovYSize") self.verticalLayout_12.addWidget(self.lineEdit_GCovYSize) self.horizontalLayout_5.addLayout(self.verticalLayout_12) - self.radioButton_GCov_OutSizeOrig = QtGui.QRadioButton(self.groupBox_18) + self.radioButton_GCov_OutSizeOrig = QtWidgets.QRadioButton(self.groupBox_18) self.radioButton_GCov_OutSizeOrig.setGeometry(QtCore.QRect(134, 1, 151, 22)) self.radioButton_GCov_OutSizeOrig.setChecked(True) self.radioButton_GCov_OutSizeOrig.setAutoExclusive(True) - self.radioButton_GCov_OutSizeOrig.setObjectName(_fromUtf8("radioButton_GCov_OutSizeOrig")) + self.radioButton_GCov_OutSizeOrig.setObjectName("radioButton_GCov_OutSizeOrig") self.gridLayout_8.addWidget(self.groupBox_18, 1, 0, 1, 1) self.horizontalLayout_16.addLayout(self.gridLayout_8) self.verticalLayout_25.addLayout(self.horizontalLayout_16) - self.horizontalLayout_15 = QtGui.QHBoxLayout() - self.horizontalLayout_15.setObjectName(_fromUtf8("horizontalLayout_15")) - spacerItem17 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) + self.horizontalLayout_15 = QtWidgets.QHBoxLayout() + self.horizontalLayout_15.setObjectName("horizontalLayout_15") + spacerItem17 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_15.addItem(spacerItem17) - self.btnClose_GCov = QtGui.QPushButton(self.tab_GCov) - self.btnClose_GCov.setObjectName(_fromUtf8("btnClose_GCov")) + self.btnClose_GCov = QtWidgets.QPushButton(self.tab_GCov) + self.btnClose_GCov.setObjectName("btnClose_GCov") self.horizontalLayout_15.addWidget(self.btnClose_GCov) - self.pushButton_GCov = QtGui.QPushButton(self.tab_GCov) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + self.pushButton_GCov = QtWidgets.QPushButton(self.tab_GCov) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.pushButton_GCov.sizePolicy().hasHeightForWidth()) @@ -1184,77 +1180,77 @@ def setupUi(self, QgsWcsClient2): font.setBold(True) font.setWeight(75) self.pushButton_GCov.setFont(font) - self.pushButton_GCov.setObjectName(_fromUtf8("pushButton_GCov")) + self.pushButton_GCov.setObjectName("pushButton_GCov") self.horizontalLayout_15.addWidget(self.pushButton_GCov) self.verticalLayout_25.addLayout(self.horizontalLayout_15) self.verticalLayout_26.addLayout(self.verticalLayout_25) self.verticalLayout_27.addLayout(self.verticalLayout_26) - self.tabWidget_EOWcsClient2.addTab(self.tab_GCov, _fromUtf8("")) - self.tab_Help = QtGui.QWidget() - self.tab_Help.setObjectName(_fromUtf8("tab_Help")) - self.verticalLayout_3 = QtGui.QVBoxLayout(self.tab_Help) - self.verticalLayout_3.setObjectName(_fromUtf8("verticalLayout_3")) - self.textEdit = QtGui.QTextEdit(self.tab_Help) - self.textEdit.setObjectName(_fromUtf8("textEdit")) + self.tabWidget_EOWcsClient2.addTab(self.tab_GCov, "") + self.tab_Help = QtWidgets.QWidget() + self.tab_Help.setObjectName("tab_Help") + self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.tab_Help) + self.verticalLayout_3.setObjectName("verticalLayout_3") + self.textEdit = QtWidgets.QTextEdit(self.tab_Help) + self.textEdit.setObjectName("textEdit") self.verticalLayout_3.addWidget(self.textEdit) - self.horizontalLayout_18 = QtGui.QHBoxLayout() - self.horizontalLayout_18.setObjectName(_fromUtf8("horizontalLayout_18")) - spacerItem18 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) + self.horizontalLayout_18 = QtWidgets.QHBoxLayout() + self.horizontalLayout_18.setObjectName("horizontalLayout_18") + spacerItem18 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_18.addItem(spacerItem18) - self.btnClose_Help = QtGui.QPushButton(self.tab_Help) - self.btnClose_Help.setObjectName(_fromUtf8("btnClose_Help")) + self.btnClose_Help = QtWidgets.QPushButton(self.tab_Help) + self.btnClose_Help.setObjectName("btnClose_Help") self.horizontalLayout_18.addWidget(self.btnClose_Help) self.verticalLayout_3.addLayout(self.horizontalLayout_18) - self.tabWidget_EOWcsClient2.addTab(self.tab_Help, _fromUtf8("")) - self.tab_About = QtGui.QWidget() - self.tab_About.setObjectName(_fromUtf8("tab_About")) - self.verticalLayout = QtGui.QVBoxLayout(self.tab_About) - self.verticalLayout.setObjectName(_fromUtf8("verticalLayout")) - self.textEdit_2 = QtGui.QTextEdit(self.tab_About) - self.textEdit_2.setObjectName(_fromUtf8("textEdit_2")) + self.tabWidget_EOWcsClient2.addTab(self.tab_Help, "") + self.tab_About = QtWidgets.QWidget() + self.tab_About.setObjectName("tab_About") + self.verticalLayout = QtWidgets.QVBoxLayout(self.tab_About) + self.verticalLayout.setObjectName("verticalLayout") + self.textEdit_2 = QtWidgets.QTextEdit(self.tab_About) + self.textEdit_2.setObjectName("textEdit_2") self.verticalLayout.addWidget(self.textEdit_2) - self.horizontalLayout_19 = QtGui.QHBoxLayout() - self.horizontalLayout_19.setObjectName(_fromUtf8("horizontalLayout_19")) - spacerItem19 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) + self.horizontalLayout_19 = QtWidgets.QHBoxLayout() + self.horizontalLayout_19.setObjectName("horizontalLayout_19") + spacerItem19 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_19.addItem(spacerItem19) - self.btnClose_About = QtGui.QPushButton(self.tab_About) - self.btnClose_About.setObjectName(_fromUtf8("btnClose_About")) + self.btnClose_About = QtWidgets.QPushButton(self.tab_About) + self.btnClose_About.setObjectName("btnClose_About") self.horizontalLayout_19.addWidget(self.btnClose_About) self.verticalLayout.addLayout(self.horizontalLayout_19) - self.tabWidget_EOWcsClient2.addTab(self.tab_About, _fromUtf8("")) + self.tabWidget_EOWcsClient2.addTab(self.tab_About, "") self.verticalLayout_6.addWidget(self.tabWidget_EOWcsClient2) self.retranslateUi(QgsWcsClient2) self.tabWidget_EOWcsClient2.setCurrentIndex(0) - QtCore.QObject.connect(self.btnClose_Serv, QtCore.SIGNAL(_fromUtf8("clicked()")), QgsWcsClient2.close) - QtCore.QObject.connect(self.btnClose_GCa, QtCore.SIGNAL(_fromUtf8("clicked()")), QgsWcsClient2.close) - QtCore.QObject.connect(self.checkBox_GCa_ActiveDate, QtCore.SIGNAL(_fromUtf8("stateChanged(int)")), QgsWcsClient2.updateDateChanged) - QtCore.QObject.connect(self.btnClose_DC, QtCore.SIGNAL(_fromUtf8("clicked()")), QgsWcsClient2.close) - QtCore.QObject.connect(self.btnClose_Help, QtCore.SIGNAL(_fromUtf8("clicked()")), QgsWcsClient2.close) - QtCore.QObject.connect(self.btnClose_GCov, QtCore.SIGNAL(_fromUtf8("clicked()")), QgsWcsClient2.close) - QtCore.QObject.connect(self.pushButton_GCa, QtCore.SIGNAL(_fromUtf8("clicked()")), QgsWcsClient2.exeGetCapabilities) - QtCore.QObject.connect(self.btnDelete_Serv, QtCore.SIGNAL(_fromUtf8("clicked()")), QgsWcsClient2.deleteServer) - QtCore.QObject.connect(self.btnClose_About, QtCore.SIGNAL(_fromUtf8("clicked()")), QgsWcsClient2.close) - QtCore.QObject.connect(self.btnEdit_Serv, QtCore.SIGNAL(_fromUtf8("clicked()")), QgsWcsClient2.editServer) - QtCore.QObject.connect(self.pushButton_GCov, QtCore.SIGNAL(_fromUtf8("clicked()")), QgsWcsClient2.exeGetCoverage) - QtCore.QObject.connect(self.pushButton_DC, QtCore.SIGNAL(_fromUtf8("clicked()")), QgsWcsClient2.exeDescribeCoverage) - QtCore.QObject.connect(self.btnClose_DCS, QtCore.SIGNAL(_fromUtf8("clicked()")), QgsWcsClient2.close) - QtCore.QObject.connect(self.btnNew_Serv, QtCore.SIGNAL(_fromUtf8("clicked()")), QgsWcsClient2.newServer) - QtCore.QObject.connect(self.pushButton_DCS, QtCore.SIGNAL(_fromUtf8("clicked()")), QgsWcsClient2.exeDescribeEOCoverageSet) - QtCore.QObject.connect(self.btnConnectServer_Serv, QtCore.SIGNAL(_fromUtf8("clicked()")), QgsWcsClient2.connectServer) - QtCore.QObject.connect(self.checkBox_DCS_ActiveCount, QtCore.SIGNAL(_fromUtf8("stateChanged(int)")), QgsWcsClient2.enableDCS_ActiveCount) - QtCore.QObject.connect(self.radioButton_GCovSubOrig, QtCore.SIGNAL(_fromUtf8("clicked()")), QgsWcsClient2.enableGCov_SubOrig) - QtCore.QObject.connect(self.radioButton_GCovSubCRS, QtCore.SIGNAL(_fromUtf8("clicked()")), QgsWcsClient2.enableGCov_SubCRS) - QtCore.QObject.connect(self.radioButton_GCovSubPixel, QtCore.SIGNAL(_fromUtf8("clicked()")), QgsWcsClient2.enableGCov_SubPixel) - QtCore.QObject.connect(self.radioButton_GCovXSize, QtCore.SIGNAL(_fromUtf8("clicked()")), QgsWcsClient2.enableGCov_XSize) - QtCore.QObject.connect(self.radioButton_GCovXRes, QtCore.SIGNAL(_fromUtf8("clicked()")), QgsWcsClient2.enableGCov_XResolution) - QtCore.QObject.connect(self.radioButton_GCovYSize, QtCore.SIGNAL(_fromUtf8("clicked()")), QgsWcsClient2.enableGCov_YSize) - QtCore.QObject.connect(self.radioButton_GCovYRes, QtCore.SIGNAL(_fromUtf8("clicked()")), QgsWcsClient2.enableGCov_YResolution) - QtCore.QObject.connect(self.radioButton_GCov_OutSizeOrig, QtCore.SIGNAL(_fromUtf8("clicked()")), QgsWcsClient2.disableGCov_OutSize) - QtCore.QObject.connect(self.toolButton_Serv_OutputLoc, QtCore.SIGNAL(_fromUtf8("clicked()")), QgsWcsClient2.get_outputLoc) - QtCore.QObject.connect(self.checkBox_DCS_ActiveDate, QtCore.SIGNAL(_fromUtf8("stateChanged(int)")), QgsWcsClient2.enableDCS_ActiveDate) - QtCore.QObject.connect(self.btnImport_QgsWcsUrls, QtCore.SIGNAL(_fromUtf8("clicked()")), QgsWcsClient2.importQgis_ServList) - QtCore.QObject.connect(self.btnSort_Serv, QtCore.SIGNAL(_fromUtf8("clicked()")), QgsWcsClient2.sortServerListing) + self.btnClose_Serv.clicked.connect(QgsWcsClient2.close) # type: ignore + self.btnClose_GCa.clicked.connect(QgsWcsClient2.close) # type: ignore + self.checkBox_GCa_ActiveDate.stateChanged['int'].connect(QgsWcsClient2.updateDateChanged) # type: ignore + self.btnClose_DC.clicked.connect(QgsWcsClient2.close) # type: ignore + self.btnClose_Help.clicked.connect(QgsWcsClient2.close) # type: ignore + self.btnClose_GCov.clicked.connect(QgsWcsClient2.close) # type: ignore + self.pushButton_GCa.clicked.connect(QgsWcsClient2.exeGetCapabilities) # type: ignore + self.btnDelete_Serv.clicked.connect(QgsWcsClient2.deleteServer) # type: ignore + self.btnClose_About.clicked.connect(QgsWcsClient2.close) # type: ignore + self.btnEdit_Serv.clicked.connect(QgsWcsClient2.editServer) # type: ignore + self.pushButton_GCov.clicked.connect(QgsWcsClient2.exeGetCoverage) # type: ignore + self.pushButton_DC.clicked.connect(QgsWcsClient2.exeDescribeCoverage) # type: ignore + self.btnClose_DCS.clicked.connect(QgsWcsClient2.close) # type: ignore + self.btnNew_Serv.clicked.connect(QgsWcsClient2.newServer) # type: ignore + self.pushButton_DCS.clicked.connect(QgsWcsClient2.exeDescribeEOCoverageSet) # type: ignore + self.btnConnectServer_Serv.clicked.connect(QgsWcsClient2.connectServer) # type: ignore + self.checkBox_DCS_ActiveCount.stateChanged['int'].connect(QgsWcsClient2.enableDCS_ActiveCount) # type: ignore + self.radioButton_GCovSubOrig.clicked.connect(QgsWcsClient2.enableGCov_SubOrig) # type: ignore + self.radioButton_GCovSubCRS.clicked.connect(QgsWcsClient2.enableGCov_SubCRS) # type: ignore + self.radioButton_GCovSubPixel.clicked.connect(QgsWcsClient2.enableGCov_SubPixel) # type: ignore + self.radioButton_GCovXSize.clicked.connect(QgsWcsClient2.enableGCov_XSize) # type: ignore + self.radioButton_GCovXRes.clicked.connect(QgsWcsClient2.enableGCov_XResolution) # type: ignore + self.radioButton_GCovYSize.clicked.connect(QgsWcsClient2.enableGCov_YSize) # type: ignore + self.radioButton_GCovYRes.clicked.connect(QgsWcsClient2.enableGCov_YResolution) # type: ignore + self.radioButton_GCov_OutSizeOrig.clicked.connect(QgsWcsClient2.disableGCov_OutSize) # type: ignore + self.toolButton_Serv_OutputLoc.clicked.connect(QgsWcsClient2.get_outputLoc) # type: ignore + self.checkBox_DCS_ActiveDate.stateChanged['int'].connect(QgsWcsClient2.enableDCS_ActiveDate) # type: ignore + self.btnImport_QgsWcsUrls.clicked.connect(QgsWcsClient2.importQgis_ServList) # type: ignore + self.btnSort_Serv.clicked.connect(QgsWcsClient2.sortServerListing) # type: ignore QtCore.QMetaObject.connectSlotsByName(QgsWcsClient2) QgsWcsClient2.setTabOrder(self.btnNew_Serv, self.btnEdit_Serv) QgsWcsClient2.setTabOrder(self.btnEdit_Serv, self.btnConnectServer_Serv) @@ -1318,130 +1314,131 @@ def setupUi(self, QgsWcsClient2): QgsWcsClient2.setTabOrder(self.btnClose_Help, self.btnClose_About) def retranslateUi(self, QgsWcsClient2): - QgsWcsClient2.setWindowTitle(_translate("QgsWcsClient2", "QgsWcsClient2", None)) - self.GroupBox_9.setTitle(_translate("QgsWcsClient2", "Server Connections:", None)) - self.label_6.setText(_translate("QgsWcsClient2", "Server", None)) - self.btnConnectServer_Serv.setText(_translate("QgsWcsClient2", "&Connect to Server", None)) - self.btnNew_Serv.setText(_translate("QgsWcsClient2", "&New", None)) - self.btnEdit_Serv.setText(_translate("QgsWcsClient2", "&Edit", None)) - self.btnDelete_Serv.setText(_translate("QgsWcsClient2", "&Delete", None)) - self.btnSort_Serv.setText(_translate("QgsWcsClient2", "Sort List", None)) - self.btnImport_QgsWcsUrls.setText(_translate("QgsWcsClient2", "&Import Qgs WCS", None)) - self.label_2.setText(_translate("QgsWcsClient2", "General Information / Errors / etc.", None)) - self.groupBox.setTitle(_translate("QgsWcsClient2", "Local Storage Path (only required for downloading with GetCoverage): ", None)) - self.toolButton_Serv_OutputLoc.setText(_translate("QgsWcsClient2", "...", None)) - self.btnClose_Serv.setText(_translate("QgsWcsClient2", "Close", None)) - self.tabWidget_EOWcsClient2.setTabText(self.tabWidget_EOWcsClient2.indexOf(self.tab_Serv), _translate("QgsWcsClient2", "Server / Storage", None)) - self.GroupBox_4.setTitle(_translate("QgsWcsClient2", "Capabilities Document - Select Sections:", None)) - self.label.setText(_translate("QgsWcsClient2", "( Note: some WCS Servers might not respect these section parameters )", None)) - self.checkBox_GCaDaSerSum.setText(_translate("QgsWcsClient2", "DatasetSeriesSummary", None)) - self.checkBox_GCaCovSum.setText(_translate("QgsWcsClient2", "CoverageSummary", None)) - self.checkBox_GCaServProv.setText(_translate("QgsWcsClient2", "ServiceProvider", None)) - self.checkBox_GCaAll.setText(_translate("QgsWcsClient2", "All", None)) - self.checkBox_GCaServId.setText(_translate("QgsWcsClient2", "ServiceIdentification", None)) - self.checkBox_GCaLang.setText(_translate("QgsWcsClient2", "Languages", None)) - self.checkBox_GCaCont.setText(_translate("QgsWcsClient2", "Contents", None)) - self.checkBox_GCaOpMeta.setText(_translate("QgsWcsClient2", "OperationsMetadata", None)) - self.checkBox_GCaServMeta.setText(_translate("QgsWcsClient2", "ServiceMetadata", None)) + _translate = QtCore.QCoreApplication.translate + QgsWcsClient2.setWindowTitle(_translate("QgsWcsClient2", "QgsWcsClient2")) + self.GroupBox_9.setTitle(_translate("QgsWcsClient2", "Server Connections:")) + self.label_6.setText(_translate("QgsWcsClient2", "Server")) + self.btnConnectServer_Serv.setText(_translate("QgsWcsClient2", "&Connect to Server")) + self.btnNew_Serv.setText(_translate("QgsWcsClient2", "&New")) + self.btnEdit_Serv.setText(_translate("QgsWcsClient2", "&Edit")) + self.btnDelete_Serv.setText(_translate("QgsWcsClient2", "&Delete")) + self.btnSort_Serv.setText(_translate("QgsWcsClient2", "Sort List")) + self.btnImport_QgsWcsUrls.setText(_translate("QgsWcsClient2", "&Import Qgs WCS")) + self.label_2.setText(_translate("QgsWcsClient2", "General Information / Errors / etc.")) + self.groupBox.setTitle(_translate("QgsWcsClient2", "Local Storage Path (only required for downloading with GetCoverage): ")) + self.toolButton_Serv_OutputLoc.setText(_translate("QgsWcsClient2", "...")) + self.btnClose_Serv.setText(_translate("QgsWcsClient2", "Close")) + self.tabWidget_EOWcsClient2.setTabText(self.tabWidget_EOWcsClient2.indexOf(self.tab_Serv), _translate("QgsWcsClient2", "Server / Storage")) + self.GroupBox_4.setTitle(_translate("QgsWcsClient2", "Capabilities Document - Select Sections:")) + self.label.setText(_translate("QgsWcsClient2", "( Note: some WCS Servers might not respect these section parameters )")) + self.checkBox_GCaDaSerSum.setText(_translate("QgsWcsClient2", "DatasetSeriesSummary")) + self.checkBox_GCaCovSum.setText(_translate("QgsWcsClient2", "CoverageSummary")) + self.checkBox_GCaServProv.setText(_translate("QgsWcsClient2", "ServiceProvider")) + self.checkBox_GCaAll.setText(_translate("QgsWcsClient2", "All")) + self.checkBox_GCaServId.setText(_translate("QgsWcsClient2", "ServiceIdentification")) + self.checkBox_GCaLang.setText(_translate("QgsWcsClient2", "Languages")) + self.checkBox_GCaCont.setText(_translate("QgsWcsClient2", "Contents")) + self.checkBox_GCaOpMeta.setText(_translate("QgsWcsClient2", "OperationsMetadata")) + self.checkBox_GCaServMeta.setText(_translate("QgsWcsClient2", "ServiceMetadata")) self.label_GCaInfo1.setText(_translate("QgsWcsClient2", "Document UpdateSequence - \n" -"only update when newer then:", None)) - self.dateEdit_GCaDocUpdate.setSpecialValueText(_translate("QgsWcsClient2", "1970-01-01", None)) - self.dateEdit_GCaDocUpdate.setDisplayFormat(_translate("QgsWcsClient2", "yyyy-MM-dd", None)) - self.label_3.setText(_translate("QgsWcsClient2", "Results of GetCapabilities Request: Select one or more items for further usage: ", None)) - self.label_7.setText(_translate("QgsWcsClient2", "[C] - Coverage / [S] - DatasetSeries", None)) +"only update when newer then:")) + self.dateEdit_GCaDocUpdate.setSpecialValueText(_translate("QgsWcsClient2", "1970-01-01")) + self.dateEdit_GCaDocUpdate.setDisplayFormat(_translate("QgsWcsClient2", "yyyy-MM-dd")) + self.label_3.setText(_translate("QgsWcsClient2", "Results of GetCapabilities Request: Select one or more items for further usage: ")) + self.label_7.setText(_translate("QgsWcsClient2", "[C] - Coverage / [S] - DatasetSeries")) self.treeWidget_GCa.setSortingEnabled(True) - self.treeWidget_GCa.headerItem().setText(0, _translate("QgsWcsClient2", "CoverageID/DataSetSeriesID", None)) - self.treeWidget_GCa.headerItem().setText(1, _translate("QgsWcsClient2", "BeginTime", None)) - self.treeWidget_GCa.headerItem().setText(2, _translate("QgsWcsClient2", "EndTime", None)) - self.treeWidget_GCa.headerItem().setText(3, _translate("QgsWcsClient2", "UpperCorner [WGS84]", None)) - self.treeWidget_GCa.headerItem().setText(4, _translate("QgsWcsClient2", "LowerCorner [WGS84]", None)) - self.treeWidget_GCa.headerItem().setText(5, _translate("QgsWcsClient2", "[C]/[S]", None)) - self.checkBox_GCaFull.setText(_translate("QgsWcsClient2", "View GetCapabilities XML ", None)) - self.btnClose_GCa.setText(_translate("QgsWcsClient2", "Close", None)) - self.pushButton_GCa.setText(_translate("QgsWcsClient2", "GetCapabilities", None)) - self.tabWidget_EOWcsClient2.setTabText(self.tabWidget_EOWcsClient2.indexOf(self.tab_GCa), _translate("QgsWcsClient2", "GetCapabilities", None)) - self.label_DCInfo1.setText(_translate("QgsWcsClient2", "Describe a Coverage or a Stitched Mosaic:", None)) - self.label_DCInfo2.setText(_translate("QgsWcsClient2", "Select the CoverageID\'s of interest, then press the DescribeCoverage button.", None)) - self.label_4.setText(_translate("QgsWcsClient2", "Selections from GetCapabilities Result: Select one item to be used in a DescribeCoverage Requests:", None)) + self.treeWidget_GCa.headerItem().setText(0, _translate("QgsWcsClient2", "CoverageID/DataSetSeriesID")) + self.treeWidget_GCa.headerItem().setText(1, _translate("QgsWcsClient2", "BeginTime")) + self.treeWidget_GCa.headerItem().setText(2, _translate("QgsWcsClient2", "EndTime")) + self.treeWidget_GCa.headerItem().setText(3, _translate("QgsWcsClient2", "UpperCorner [WGS84]")) + self.treeWidget_GCa.headerItem().setText(4, _translate("QgsWcsClient2", "LowerCorner [WGS84]")) + self.treeWidget_GCa.headerItem().setText(5, _translate("QgsWcsClient2", "[C]/[S]")) + self.checkBox_GCaFull.setText(_translate("QgsWcsClient2", "View GetCapabilities XML ")) + self.btnClose_GCa.setText(_translate("QgsWcsClient2", "Close")) + self.pushButton_GCa.setText(_translate("QgsWcsClient2", "GetCapabilities")) + self.tabWidget_EOWcsClient2.setTabText(self.tabWidget_EOWcsClient2.indexOf(self.tab_GCa), _translate("QgsWcsClient2", "GetCapabilities")) + self.label_DCInfo1.setText(_translate("QgsWcsClient2", "Describe a Coverage or a Stitched Mosaic:")) + self.label_DCInfo2.setText(_translate("QgsWcsClient2", "Select the CoverageID\'s of interest, then press the DescribeCoverage button.")) + self.label_4.setText(_translate("QgsWcsClient2", "Selections from GetCapabilities Result: Select one item to be used in a DescribeCoverage Requests:")) self.treeWidget_DC.setSortingEnabled(True) - self.treeWidget_DC.headerItem().setText(0, _translate("QgsWcsClient2", "CoverageIDs", None)) - self.btnClose_DC.setText(_translate("QgsWcsClient2", "Close", None)) - self.pushButton_DC.setText(_translate("QgsWcsClient2", "DescribeCoverage", None)) - self.tabWidget_EOWcsClient2.setTabText(self.tabWidget_EOWcsClient2.indexOf(self.tab_DC), _translate("QgsWcsClient2", "DescribeCoverage", None)) - self.label_DCSInfo1.setText(_translate("QgsWcsClient2", "Describe a DatsetSeries, a Coverage, or a Stitched Mosaic:", None)) - self.label_DCSInfo2.setText(_translate("QgsWcsClient2", " Select the ID of interest, choose optional AOI and TOI, then press the DescribeEOCoverageSet button.", None)) - self.label_5.setText(_translate("QgsWcsClient2", "Selections from GetCapabilities Result: Select item(s) for further usage:", None)) + self.treeWidget_DC.headerItem().setText(0, _translate("QgsWcsClient2", "CoverageIDs")) + self.btnClose_DC.setText(_translate("QgsWcsClient2", "Close")) + self.pushButton_DC.setText(_translate("QgsWcsClient2", "DescribeCoverage")) + self.tabWidget_EOWcsClient2.setTabText(self.tabWidget_EOWcsClient2.indexOf(self.tab_DC), _translate("QgsWcsClient2", "DescribeCoverage")) + self.label_DCSInfo1.setText(_translate("QgsWcsClient2", "Describe a DatsetSeries, a Coverage, or a Stitched Mosaic:")) + self.label_DCSInfo2.setText(_translate("QgsWcsClient2", " Select the ID of interest, choose optional AOI and TOI, then press the DescribeEOCoverageSet button.")) + self.label_5.setText(_translate("QgsWcsClient2", "Selections from GetCapabilities Result: Select item(s) for further usage:")) self.treeWidget_DCS.setSortingEnabled(True) - self.treeWidget_DCS.headerItem().setText(0, _translate("QgsWcsClient2", "DataSeriesID", None)) - self.treeWidget_DCS.headerItem().setText(1, _translate("QgsWcsClient2", "BeginTime", None)) - self.treeWidget_DCS.headerItem().setText(2, _translate("QgsWcsClient2", "EndTime", None)) - self.treeWidget_DCS.headerItem().setText(3, _translate("QgsWcsClient2", "UpperCorner [WGS84]", None)) - self.treeWidget_DCS.headerItem().setText(4, _translate("QgsWcsClient2", "LowerCorner [WGS84]", None)) - self.GroupBox_10.setTitle(_translate("QgsWcsClient2", "EOCoverageSet Document - Select Sections:", None)) - self.checkBox_DCSAll.setText(_translate("QgsWcsClient2", "All", None)) - self.checkBox_DCSDatSerDesc.setText(_translate("QgsWcsClient2", "DatasetSeriesDescriptions", None)) - self.checkBox_DCSCovDesc.setText(_translate("QgsWcsClient2", "CoverageDescriptions", None)) - self.label_8.setText(_translate("QgsWcsClient2", "(use only for XML viewing)", None)) - self.groupBox_21.setTitle(_translate("QgsWcsClient2", "Area of Interest (AOI in WGS-84):", None)) - self.label_DCSMaxLat.setText(_translate("QgsWcsClient2", "Max. Latitude", None)) + self.treeWidget_DCS.headerItem().setText(0, _translate("QgsWcsClient2", "DataSeriesID")) + self.treeWidget_DCS.headerItem().setText(1, _translate("QgsWcsClient2", "BeginTime")) + self.treeWidget_DCS.headerItem().setText(2, _translate("QgsWcsClient2", "EndTime")) + self.treeWidget_DCS.headerItem().setText(3, _translate("QgsWcsClient2", "UpperCorner [WGS84]")) + self.treeWidget_DCS.headerItem().setText(4, _translate("QgsWcsClient2", "LowerCorner [WGS84]")) + self.GroupBox_10.setTitle(_translate("QgsWcsClient2", "EOCoverageSet Document - Select Sections:")) + self.checkBox_DCSAll.setText(_translate("QgsWcsClient2", "All")) + self.checkBox_DCSDatSerDesc.setText(_translate("QgsWcsClient2", "DatasetSeriesDescriptions")) + self.checkBox_DCSCovDesc.setText(_translate("QgsWcsClient2", "CoverageDescriptions")) + self.label_8.setText(_translate("QgsWcsClient2", "(use only for XML viewing)")) + self.groupBox_21.setTitle(_translate("QgsWcsClient2", "Area of Interest (AOI in WGS-84):")) + self.label_DCSMaxLat.setText(_translate("QgsWcsClient2", "Max. Latitude")) self.label_DCSMinLon.setText(_translate("QgsWcsClient2", "Min. \n" -"Longitude", None)) +"Longitude")) self.label_DCSMaxLon.setText(_translate("QgsWcsClient2", "Max. \n" -"Longitude", None)) - self.label_DCSMinLat.setText(_translate("QgsWcsClient2", "Min. Latitude", None)) - self.groupBox_12.setTitle(_translate("QgsWcsClient2", "Time of Interrest (TOI):", None)) - self.dateTimeEdit_DCSEnd.setDisplayFormat(_translate("QgsWcsClient2", "yyyy-MM-ddThh:mm ", None)) - self.dateTimeEdit_DCSBegin.setDisplayFormat(_translate("QgsWcsClient2", "yyyy-MM-ddThh:mm ", None)) - self.label_DCSEnd.setText(_translate("QgsWcsClient2", "End Time:", None)) - self.label_DCSBegin.setText(_translate("QgsWcsClient2", "Begin Time:", None)) - self.groupBox_14.setTitle(_translate("QgsWcsClient2", "Hits Count: ", None)) - self.groupBox_13.setTitle(_translate("QgsWcsClient2", "Containment:", None)) - self.radioButton_ContOver.setText(_translate("QgsWcsClient2", "overlaps", None)) - self.radioButton_ContCont.setText(_translate("QgsWcsClient2", "contains", None)) - self.checkBox_DCSFull.setText(_translate("QgsWcsClient2", "View DescribeEOCoverageSet XML ", None)) - self.btnClose_DCS.setText(_translate("QgsWcsClient2", "Close", None)) - self.pushButton_DCS.setText(_translate("QgsWcsClient2", "DescribeEOCoverageSet", None)) - self.tabWidget_EOWcsClient2.setTabText(self.tabWidget_EOWcsClient2.indexOf(self.tab_DCS), _translate("QgsWcsClient2", "DescribeEOCoverageSet", None)) - self.label_GCovInfo1.setText(_translate("QgsWcsClient2", "GetCoverage: download a Coverage ", None)) - self.label_GCOvInfo2.setText(_translate("QgsWcsClient2", "Select the ID\'s of interest (and choose optional parameters), then press the GetCoverage button", None)) +"Longitude")) + self.label_DCSMinLat.setText(_translate("QgsWcsClient2", "Min. Latitude")) + self.groupBox_12.setTitle(_translate("QgsWcsClient2", "Time of Interrest (TOI):")) + self.dateTimeEdit_DCSEnd.setDisplayFormat(_translate("QgsWcsClient2", "yyyy-MM-ddThh:mm ")) + self.dateTimeEdit_DCSBegin.setDisplayFormat(_translate("QgsWcsClient2", "yyyy-MM-ddThh:mm ")) + self.label_DCSEnd.setText(_translate("QgsWcsClient2", "End Time:")) + self.label_DCSBegin.setText(_translate("QgsWcsClient2", "Begin Time:")) + self.groupBox_14.setTitle(_translate("QgsWcsClient2", "Hits Count: ")) + self.groupBox_13.setTitle(_translate("QgsWcsClient2", "Containment:")) + self.radioButton_ContOver.setText(_translate("QgsWcsClient2", "overlaps")) + self.radioButton_ContCont.setText(_translate("QgsWcsClient2", "contains")) + self.checkBox_DCSFull.setText(_translate("QgsWcsClient2", "View DescribeEOCoverageSet XML ")) + self.btnClose_DCS.setText(_translate("QgsWcsClient2", "Close")) + self.pushButton_DCS.setText(_translate("QgsWcsClient2", "DescribeEOCoverageSet")) + self.tabWidget_EOWcsClient2.setTabText(self.tabWidget_EOWcsClient2.indexOf(self.tab_DCS), _translate("QgsWcsClient2", "DescribeEOCoverageSet")) + self.label_GCovInfo1.setText(_translate("QgsWcsClient2", "GetCoverage: download a Coverage ")) + self.label_GCOvInfo2.setText(_translate("QgsWcsClient2", "Select the ID\'s of interest (and choose optional parameters), then press the GetCoverage button")) self.treeWidget_GCov.setSortingEnabled(True) - self.treeWidget_GCov.headerItem().setText(0, _translate("QgsWcsClient2", "CoverageID", None)) - self.groupBox_15.setTitle(_translate("QgsWcsClient2", "Output Subset:", None)) - self.groupBox_16.setTitle(_translate("QgsWcsClient2", " Coordinates:", None)) - self.label_GCovMinLat.setText(_translate("QgsWcsClient2", "Min. Latitude", None)) - self.label_GCovMaxLat.setText(_translate("QgsWcsClient2", "Max. Latitude", None)) + self.treeWidget_GCov.headerItem().setText(0, _translate("QgsWcsClient2", "CoverageID")) + self.groupBox_15.setTitle(_translate("QgsWcsClient2", "Output Subset:")) + self.groupBox_16.setTitle(_translate("QgsWcsClient2", " Coordinates:")) + self.label_GCovMinLat.setText(_translate("QgsWcsClient2", "Min. Latitude")) + self.label_GCovMaxLat.setText(_translate("QgsWcsClient2", "Max. Latitude")) self.label_GCovMaxLon.setText(_translate("QgsWcsClient2", "Max. \n" -"Longitude", None)) +"Longitude")) self.label_GCovMinLon.setText(_translate("QgsWcsClient2", "Min. \n" -"Longitude", None)) - self.label_GCOvBands.setText(_translate("QgsWcsClient2", "List of Band No.:", None)) - self.label_GCovInterpol.setText(_translate("QgsWcsClient2", "Interpolation: ", None)) - self.comboBox_GCovInterpol.setItemText(0, _translate("QgsWcsClient2", "nearest (default)", None)) - self.comboBox_GCovInterpol.setItemText(1, _translate("QgsWcsClient2", "bilinear", None)) - self.comboBox_GCovInterpol.setItemText(2, _translate("QgsWcsClient2", "average (slow)", None)) - self.label_GCovOutFormat.setText(_translate("QgsWcsClient2", "Output Format:", None)) +"Longitude")) + self.label_GCOvBands.setText(_translate("QgsWcsClient2", "List of Band No.:")) + self.label_GCovInterpol.setText(_translate("QgsWcsClient2", "Interpolation: ")) + self.comboBox_GCovInterpol.setItemText(0, _translate("QgsWcsClient2", "nearest (default)")) + self.comboBox_GCovInterpol.setItemText(1, _translate("QgsWcsClient2", "bilinear")) + self.comboBox_GCovInterpol.setItemText(2, _translate("QgsWcsClient2", "average (slow)")) + self.label_GCovOutFormat.setText(_translate("QgsWcsClient2", "Output Format:")) self.label_GCovOutCRS.setText(_translate("QgsWcsClient2", "Output CRS\n" -" (EPSG):", None)) - self.groupBox_17.setTitle(_translate("QgsWcsClient2", " Type of Subsetting:", None)) - self.radioButton_GCovSubOrig.setText(_translate("QgsWcsClient2", "Original", None)) - self.radioButton_GCovSubCRS.setText(_translate("QgsWcsClient2", "CRS", None)) - self.radioButton_GCovSubPixel.setText(_translate("QgsWcsClient2", "Pixel", None)) - self.label_GCovSubEPSG.setText(_translate("QgsWcsClient2", "EPSG No.:", None)) - self.groupBox_18.setTitle(_translate("QgsWcsClient2", "Output SIze:", None)) - self.groupBox_19.setTitle(_translate("QgsWcsClient2", "X-Dimension", None)) - self.radioButton_GCovXSize.setText(_translate("QgsWcsClient2", "X-Size", None)) - self.radioButton_GCovXRes.setText(_translate("QgsWcsClient2", "X-Resolution", None)) - self.label_GCovXRes.setText(_translate("QgsWcsClient2", "X-Axis Label:", None)) - self.label_GCovXSize.setText(_translate("QgsWcsClient2", "Size: ", None)) - self.groupBox_20.setTitle(_translate("QgsWcsClient2", "Y-Dimension", None)) - self.radioButton_GCovYSize.setText(_translate("QgsWcsClient2", "Y-Size", None)) - self.radioButton_GCovYRes.setText(_translate("QgsWcsClient2", "Y-Resolution", None)) - self.label_GCovYAxisLabel.setText(_translate("QgsWcsClient2", "Y-Axis Label:", None)) - self.label_GCovYSize.setText(_translate("QgsWcsClient2", "Size: ", None)) - self.radioButton_GCov_OutSizeOrig.setText(_translate("QgsWcsClient2", "Original Outsize:", None)) - self.btnClose_GCov.setText(_translate("QgsWcsClient2", "Close", None)) - self.pushButton_GCov.setText(_translate("QgsWcsClient2", "GetCoverage", None)) - self.tabWidget_EOWcsClient2.setTabText(self.tabWidget_EOWcsClient2.indexOf(self.tab_GCov), _translate("QgsWcsClient2", "GetCoverage", None)) +" (EPSG):")) + self.groupBox_17.setTitle(_translate("QgsWcsClient2", " Type of Subsetting:")) + self.radioButton_GCovSubOrig.setText(_translate("QgsWcsClient2", "Original")) + self.radioButton_GCovSubCRS.setText(_translate("QgsWcsClient2", "CRS")) + self.radioButton_GCovSubPixel.setText(_translate("QgsWcsClient2", "Pixel")) + self.label_GCovSubEPSG.setText(_translate("QgsWcsClient2", "EPSG No.:")) + self.groupBox_18.setTitle(_translate("QgsWcsClient2", "Output SIze:")) + self.groupBox_19.setTitle(_translate("QgsWcsClient2", "X-Dimension")) + self.radioButton_GCovXSize.setText(_translate("QgsWcsClient2", "X-Size")) + self.radioButton_GCovXRes.setText(_translate("QgsWcsClient2", "X-Resolution")) + self.label_GCovXRes.setText(_translate("QgsWcsClient2", "X-Axis Label:")) + self.label_GCovXSize.setText(_translate("QgsWcsClient2", "Size: ")) + self.groupBox_20.setTitle(_translate("QgsWcsClient2", "Y-Dimension")) + self.radioButton_GCovYSize.setText(_translate("QgsWcsClient2", "Y-Size")) + self.radioButton_GCovYRes.setText(_translate("QgsWcsClient2", "Y-Resolution")) + self.label_GCovYAxisLabel.setText(_translate("QgsWcsClient2", "Y-Axis Label:")) + self.label_GCovYSize.setText(_translate("QgsWcsClient2", "Size: ")) + self.radioButton_GCov_OutSizeOrig.setText(_translate("QgsWcsClient2", "Original Outsize:")) + self.btnClose_GCov.setText(_translate("QgsWcsClient2", "Close")) + self.pushButton_GCov.setText(_translate("QgsWcsClient2", "GetCoverage")) + self.tabWidget_EOWcsClient2.setTabText(self.tabWidget_EOWcsClient2.indexOf(self.tab_GCov), _translate("QgsWcsClient2", "GetCoverage")) self.textEdit.setHtml(_translate("QgsWcsClient2", "\n" "