|
9 | 9 | class Const: |
10 | 10 | SETTINGS_EXTENSION = "sublime-settings" |
11 | 11 | SETTINGS_FILENAME = "SQLTools.{0}".format(SETTINGS_EXTENSION) |
| 12 | + SGDB_FILENAME = "SQLToolsSGBD.{0}".format(SETTINGS_EXTENSION) |
12 | 13 | CONNECTIONS_FILENAME = "SQLToolsConnections.{0}".format(SETTINGS_EXTENSION) |
13 | 14 | USER_QUERIES_FILENAME = "SQLToolsSavedQueries.{0}".format(SETTINGS_EXTENSION) |
14 | 15 | pass |
@@ -76,7 +77,6 @@ def getSavedQuery(alias): |
76 | 77 | class Connection: |
77 | 78 |
|
78 | 79 | def __init__(self, name, options): |
79 | | - self.cliSettings = sublime.load_settings('{0}.settings'.format(options['type'])) |
80 | 80 | self.cli = sublime.load_settings(Const.SETTINGS_FILENAME).get('cli')[options['type']] |
81 | 81 | self.rowsLimit = sublime.load_settings(Const.SETTINGS_FILENAME).get('show_records').get('limit', 50) |
82 | 82 | self.options = options |
@@ -115,28 +115,28 @@ def loadDefaultConnectionName(): |
115 | 115 | return default |
116 | 116 |
|
117 | 117 | def getTables(self, callback): |
118 | | - query = self.cliSettings.get('queries')['desc']['query'] |
| 118 | + query = self.getOptionsForSgdbCli()['queries']['desc']['query'] |
119 | 119 | self.runCommand(self.builArgs('desc'), query, lambda result: Utils.getResultAsList(result, callback)) |
120 | 120 |
|
121 | 121 | def getColumns(self, callback): |
122 | 122 | try: |
123 | | - query = self.cliSettings.get('queries')['columns']['query'] |
| 123 | + query = self.getOptionsForSgdbCli()['queries']['columns']['query'] |
124 | 124 | self.runCommand(self.builArgs('columns'), query, lambda result: Utils.getResultAsList(result, callback)) |
125 | 125 | except Exception: |
126 | 126 | pass |
127 | 127 |
|
128 | 128 | def getTableRecords(self, tableName, callback): |
129 | | - query = self.cliSettings.get('queries')['show records']['query'].format(tableName, self.rowsLimit) |
| 129 | + query = self.getOptionsForSgdbCli()['queries']['show records']['query'].format(tableName, self.rowsLimit) |
130 | 130 | self.runCommand(self.builArgs('show records'), query, lambda result: callback(result)) |
131 | 131 |
|
132 | 132 | def getTableDescription(self, tableName, callback): |
133 | | - query = self.cliSettings.get('queries')['desc table']['query'] % tableName |
| 133 | + query = self.getOptionsForSgdbCli()['queries']['desc table']['query'] % tableName |
134 | 134 | self.runCommand(self.builArgs('desc table'), query, lambda result: callback(result)) |
135 | 135 |
|
136 | 136 | def execute(self, queries, callback): |
137 | 137 | queryToRun = '' |
138 | 138 |
|
139 | | - for query in self.cliSettings.get('before'): |
| 139 | + for query in self.getOptionsForSgdbCli()['before']: |
140 | 140 | queryToRun += query + "\n" |
141 | 141 |
|
142 | 142 | if type(queries) is str: |
@@ -165,11 +165,19 @@ def runCommand(self, args, query, callback): |
165 | 165 |
|
166 | 166 |
|
167 | 167 | def builArgs(self, queryName=None): |
| 168 | + cliOptions = self.getOptionsForSgdbCli() |
168 | 169 | args = [self.cli] |
169 | | - if queryName and len(self.cliSettings.get('queries')[queryName]['options']) > 0: |
170 | | - args = args + self.cliSettings.get('queries')[queryName]['options'] |
171 | 170 |
|
172 | | - return args + shlex.split(self.cliSettings.get('args').format(**self.options)) |
| 171 | + if len(cliOptions['options']) > 0: |
| 172 | + args = args + ' '.join(cliOptions['options']) |
| 173 | + |
| 174 | + if queryName and len(cliOptions['queries'][queryName]['options']) > 0: |
| 175 | + args = args + cliOptions['queries'][queryName]['options'] |
| 176 | + |
| 177 | + return args + shlex.split(cliOptions['args'].format(**self.options)) |
| 178 | + |
| 179 | + def getOptionsForSgdbCli(self): |
| 180 | + return sublime.load_settings(Const.SETTINGS_FILENAME).get('cli_options')[self.type] |
173 | 181 |
|
174 | 182 |
|
175 | 183 | class Selection: |
|
0 commit comments