|
38 | 38 | DOWNLOAD_URL = 'https://wwcs.tj/downloads/Ij6iez6u/Firmware.zip' |
39 | 39 |
|
40 | 40 | if DEV: |
41 | | - ServerURLDefault = 'http://127.0.0.1:5000' |
42 | 41 | DOWNLOAD_DIR = Path('/tmp') |
43 | 42 | else: |
44 | | - ServerURLDefault = 'https://wwcs.tj/post' |
45 | 43 | DOWNLOAD_DIR = Path.home() / "Downloads" |
46 | 44 |
|
47 | 45 | basedir = Path(os.path.dirname(__file__)) |
@@ -148,35 +146,30 @@ def __init__(self): |
148 | 146 | top = 80 |
149 | 147 | space = 30 |
150 | 148 |
|
151 | | - # Provider selection |
152 | | - label = self.TitleProvider = QLabel(self) |
153 | | - label.setObjectName("TitleProvider") |
| 149 | + # Server URL |
| 150 | + label = self.TitleServerURL = QLabel(self) |
| 151 | + label.setObjectName("TitleServerURL") |
154 | 152 | label.setGeometry(QRect(10, top, 230, 30)) |
155 | 153 | top += space |
156 | | - label.setTextFormat(Qt.RichText) |
157 | | - label.setScaledContents(False) |
158 | 154 | label.setAlignment(Qt.AlignCenter) |
159 | | - input = self.Provider = QComboBox(self) |
160 | | - input.addItem("") |
161 | | - input.addItem("") |
162 | | - input.addItem("") |
163 | | - input.setObjectName("Provider") |
164 | | - input.setGeometry(QRect(10, top, 230, 22)) |
| 155 | + input = self.ServerURL = QTextEdit(self) |
| 156 | + input.setObjectName("ServerURL") |
| 157 | + input.setGeometry(QRect(10, top, 230, 31)) |
165 | 158 | top += space |
| 159 | + top += 8 |
| 160 | + input.setPlaceholderText("Enter Server hostname") |
166 | 161 |
|
167 | | - # Server URL |
168 | | - label = self.TitleServerURL = QLabel(self) |
169 | | - label.setObjectName("TitleServerURL") |
| 162 | + # APN |
| 163 | + label = self.TitleAPN = QLabel(self) |
| 164 | + label.setObjectName("TitleAPN") |
170 | 165 | label.setGeometry(QRect(10, top, 230, 30)) |
171 | 166 | top += space |
172 | 167 | label.setAlignment(Qt.AlignCenter) |
173 | 168 | input = self.ServerURL = QTextEdit(self) |
174 | | - input.setObjectName("ServerURL") |
175 | | - input.setGeometry(QRect(10, top, 230, 30)) |
| 169 | + input.setObjectName("APN") |
| 170 | + input.setGeometry(QRect(10, top, 230, 32)) |
176 | 171 | top += space |
177 | 172 | top += 8 |
178 | | - input.setPlaceholderText("Enter Server URL") |
179 | | - input.setText(ServerURLDefault) |
180 | 173 |
|
181 | 174 | # Board type selection |
182 | 175 | label = self.TitleBoardType = QLabel(self) |
@@ -237,7 +230,7 @@ def __init__(self): |
237 | 230 | label.setAlignment(Qt.AlignCenter) |
238 | 231 | input = self.StationID = QTextEdit(self) |
239 | 232 | input.setObjectName("StationID") |
240 | | - input.setGeometry(QRect(50, top, 170, 30)) |
| 233 | + input.setGeometry(QRect(50, top, 170, 31)) |
241 | 234 | top += space |
242 | 235 | top += 2 |
243 | 236 | input.setPlaceholderText("Enter Station ID") |
@@ -281,17 +274,30 @@ def __init__(self): |
281 | 274 | os.makedirs(DOWNLOAD_DIR) |
282 | 275 | self.download_fw() |
283 | 276 |
|
| 277 | + def __get_server_url(self): |
| 278 | + hostname = self.ServerURL.toPlainText() |
| 279 | + if hostname: |
| 280 | + return f'https://{hostname}/post' |
| 281 | + |
| 282 | + if DEV: |
| 283 | + return 'http://127.0.0.1:5000' |
| 284 | + |
| 285 | + return None |
| 286 | + |
284 | 287 | def register(self, loggerID): |
285 | 288 | self.message("Updating data base with new stationID ... \n") |
286 | 289 | loggerID = loggerID.strip() |
287 | | - server_url = self.ServerURL.toPlainText() |
| 290 | + |
| 291 | + # Save QR |
288 | 292 | siteID = self.StationID.toPlainText() |
289 | 293 | img = qrcode.make(siteID) |
290 | 294 | path = DOWNLOAD_DIR / "QR-StationID" |
291 | 295 | path.mkdir(exist_ok=True) |
292 | 296 | path = path / f'{siteID}_QR.png' |
293 | 297 | img.save(str(path), 'png') |
| 298 | + |
294 | 299 | if isConnect(): |
| 300 | + server_url = self.__get_server_url() |
295 | 301 | data = {'siteID': siteID, 'loggerID': loggerID, 'git_version': self.gitversion} |
296 | 302 | response = httpx.post(f'{server_url}/register', json=data) |
297 | 303 | if response.status_code not in [200, 201]: |
@@ -385,9 +391,9 @@ def inplace_change(filename, old_string, new_string): |
385 | 391 | s = s.replace(old_string, new_string) |
386 | 392 | f.write(s) |
387 | 393 |
|
388 | | - inplace_change(filename,"FlashProvider", self.Provider.currentText()) |
389 | | - inplace_change(filename,"FlashGIT", self.gitversion) |
390 | | - inplace_change(filename,"FlashSite", self.StationID.toPlainText()) |
| 394 | + inplace_change(filename, "FlashProvider", self.APN.currentText()) |
| 395 | + inplace_change(filename, "FlashGIT", self.gitversion) |
| 396 | + inplace_change(filename, "FlashSite", self.StationID.toPlainText()) |
391 | 397 |
|
392 | 398 | if self.Network.currentText() == "GSM": |
393 | 399 | inplace_change(filename,"1234", "13") |
@@ -558,13 +564,10 @@ def retranslateUi(self): |
558 | 564 | self.Network.setItemText(0, QCoreApplication.translate("Widget", "GSM", None)) |
559 | 565 | self.Network.setItemText(1, QCoreApplication.translate("Widget", "LTE", None)) |
560 | 566 | self.Network.setItemText(2, QCoreApplication.translate("Widget", "GSM/LTE", None)) |
561 | | - self.Provider.setItemText(0, QCoreApplication.translate("Widget", "TM", None)) |
562 | | - self.Provider.setItemText(1, QCoreApplication.translate("Widget", "Babilon", None)) |
563 | | - self.Provider.setItemText(2, QCoreApplication.translate("Widget", "Megafon", None)) |
564 | 567 | self.Sensortype.setItemText(0, QCoreApplication.translate("Widget", "Sensirion", None)) |
565 | 568 | self.Sensortype.setItemText(1, QCoreApplication.translate("Widget", "Climavue", None)) |
566 | | - self.TitleProvider.setText(QCoreApplication.translate("Widget", "Mobile Provider", None)) |
567 | | - self.TitleServerURL.setText(QCoreApplication.translate("Widget", "Server URL", None)) |
| 569 | + self.TitleServerURL.setText(QCoreApplication.translate("Widget", "Server Hostname", None)) |
| 570 | + self.TitleAPN.setText(QCoreApplication.translate("Widget", "APN", None)) |
568 | 571 | self.TitleBoardType.setText(QCoreApplication.translate("Widget", "Board Type", None)) |
569 | 572 | self.TitleSensorType.setText(QCoreApplication.translate("Widget", "Sensor Type", None)) |
570 | 573 | self.TitleNetwork.setText(QCoreApplication.translate("Widget", "Network", None)) |
|
0 commit comments