10
10
from . import utils
11
11
12
12
13
+ def _token_format_valid (token ):
14
+ if "_" in token :
15
+ parts = token .split ("_" )
16
+ if len (parts ) == 2 :
17
+ if len (parts [0 ]) == 32 and len (parts [1 ]) >= 64 :
18
+ return True
19
+ return False
20
+
21
+
13
22
class ConfigureDialog (QtWidgets .QDialog ):
14
23
def __init__ (self ):
15
24
super ().__init__ ()
@@ -52,17 +61,24 @@ def __init__(self):
52
61
53
62
def _accepted (self ):
54
63
# get and store UI values
55
- smanager = SettingsManager ()
56
- am = QgsApplication .authManager ()
57
- auth_cfg_id = smanager .get_setting ('auth_cfg_id' )
58
64
token = self .ui .token_txt .text ()
59
- cfg = QgsAuthMethodConfig ('MapTilerHmacSha256' )
60
65
if token :
61
- if auth_cfg_id :
62
- (res , cfg ) = am .loadAuthenticationConfig (auth_cfg_id , cfg , True )
63
- if res :
64
- saved_token = cfg .configMap ().get ("token" )
65
- if not saved_token == token :
66
+ cfg = QgsAuthMethodConfig ('MapTilerHmacSha256' )
67
+ if _token_format_valid (token ):
68
+ smanager = SettingsManager ()
69
+ am = QgsApplication .authManager ()
70
+ auth_cfg_id = smanager .get_setting ('auth_cfg_id' )
71
+ if auth_cfg_id :
72
+ (res , cfg ) = am .loadAuthenticationConfig (auth_cfg_id , cfg , True )
73
+ if res :
74
+ saved_token = cfg .configMap ().get ("token" )
75
+ if not saved_token == token :
76
+ cfg .setConfigMap ({'token' : token })
77
+ (res , cfg ) = am .storeAuthenticationConfig (cfg , True )
78
+ if res :
79
+ smanager .store_setting ('auth_cfg_id' , cfg .id ())
80
+ else :
81
+ cfg .setName ('qgis-maptiler-plugin' )
66
82
cfg .setConfigMap ({'token' : token })
67
83
(res , cfg ) = am .storeAuthenticationConfig (cfg , True )
68
84
if res :
@@ -73,15 +89,11 @@ def _accepted(self):
73
89
(res , cfg ) = am .storeAuthenticationConfig (cfg , True )
74
90
if res :
75
91
smanager .store_setting ('auth_cfg_id' , cfg .id ())
92
+ prefervector = str (int (self .ui .vtileCheckBox .isChecked ()))
93
+ smanager .store_setting ('prefervector' , prefervector )
94
+ self .close ()
76
95
else :
77
- cfg .setName ('qgis-maptiler-plugin' )
78
- cfg .setConfigMap ({'token' : token })
79
- (res , cfg ) = am .storeAuthenticationConfig (cfg , True )
80
- if res :
81
- smanager .store_setting ('auth_cfg_id' , cfg .id ())
82
- prefervector = str (int (self .ui .vtileCheckBox .isChecked ()))
83
- smanager .store_setting ('prefervector' , prefervector )
84
- self .close ()
96
+ self .ui .label_6 .setText (f"Not a valid token format. (Use token, not API key.)" )
85
97
else :
86
98
self .ui .label_6 .setText (f"Token is required." )
87
99
0 commit comments