| @@ -5,7 +5,6 @@ from datetime import datetime, timedelta | |||||||
| import logging | import logging | ||||||
| import threading | import threading | ||||||
| from owrx.map import Map, LatLngLocation | from owrx.map import Map, LatLngLocation | ||||||
| from owrx.bands import Bandplan |  | ||||||
| from owrx.parser import Parser | from owrx.parser import Parser | ||||||
|  |  | ||||||
| logger = logging.getLogger(__name__) | logger = logging.getLogger(__name__) | ||||||
|   | |||||||
| @@ -1,7 +1,7 @@ | |||||||
| import threading | import threading | ||||||
| import subprocess |  | ||||||
| import time | import time | ||||||
| from owrx.config import PropertyManager | from owrx.config import PropertyManager | ||||||
|  | from urllib import request, parse | ||||||
|  |  | ||||||
| import logging | import logging | ||||||
|  |  | ||||||
| @@ -14,24 +14,28 @@ class SdrHuUpdater(threading.Thread): | |||||||
|         super().__init__(daemon=True) |         super().__init__(daemon=True) | ||||||
|  |  | ||||||
|     def update(self): |     def update(self): | ||||||
|         pm = PropertyManager.getSharedInstance() |         pm = PropertyManager.getSharedInstance().collect("server_hostname", "web_port", "sdrhu_key") | ||||||
|         cmd = 'wget --timeout=15 -4qO- https://sdr.hu/update --post-data "url=http://{server_hostname}:{web_port}&apikey={sdrhu_key}" 2>&1'.format( |         data = parse.urlencode({ | ||||||
|             **pm.__dict__() |             "url": "http://{server_hostname}:{web_port}".format(**pm.__dict__()), | ||||||
|         ) |             "apikey": pm["sdrhu_key"] | ||||||
|         logger.debug(cmd) |         }).encode() | ||||||
|         returned = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE).communicate() |  | ||||||
|         returned = returned[0].decode("utf-8") |         res = request.urlopen("https://sdr.hu/update", data=data) | ||||||
|         if "UPDATE:" in returned: |         if res.getcode() < 200 or res.getcode() >= 300: | ||||||
|             retrytime_mins = 20 |             logger.warning('sdr.hu update failed with error code %i', res.getcode()) | ||||||
|             value = returned.split("UPDATE:")[1].split("\n", 1)[0] |             return 2 | ||||||
|             if value.startswith("SUCCESS"): |  | ||||||
|                 logger.info("Update succeeded!") |         returned = res.read().decode("utf-8") | ||||||
|             else: |         if "UPDATE:" not in returned: | ||||||
|                 logger.warning("Update failed, your receiver cannot be listed on sdr.hu! Reason: %s", value) |             logger.warning("Update failed, your receiver cannot be listed on sdr.hu!") | ||||||
|  |             return 2 | ||||||
|  |  | ||||||
|  |         value = returned.split("UPDATE:")[1].split("\n", 1)[0] | ||||||
|  |         if value.startswith("SUCCESS"): | ||||||
|  |             logger.info("Update succeeded!") | ||||||
|         else: |         else: | ||||||
|             retrytime_mins = 2 |             logger.warning("Update failed, your receiver cannot be listed on sdr.hu! Reason: %s", value) | ||||||
|             logger.warning("wget failed while updating, your receiver cannot be listed on sdr.hu!") |         return 20 | ||||||
|         return retrytime_mins |  | ||||||
|  |  | ||||||
|     def run(self): |     def run(self): | ||||||
|         while self.doRun: |         while self.doRun: | ||||||
|   | |||||||
							
								
								
									
										12
									
								
								sdrhu.py
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								sdrhu.py
									
									
									
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| #!/usr/bin/python2 | #!/usr/bin/python3 | ||||||
| """ | """ | ||||||
|  |  | ||||||
|     This file is part of OpenWebRX,  |     This file is part of OpenWebRX,  | ||||||
| @@ -24,9 +24,17 @@ | |||||||
| from owrx.sdrhu import SdrHuUpdater | from owrx.sdrhu import SdrHuUpdater | ||||||
| from owrx.config import PropertyManager | from owrx.config import PropertyManager | ||||||
|  |  | ||||||
|  | import logging | ||||||
|  | logging.basicConfig(level=logging.DEBUG, format="%(asctime)s - %(name)s - %(levelname)s - %(message)s") | ||||||
|  | logger = logging.getLogger(__name__) | ||||||
|  |  | ||||||
| if __name__ == "__main__": | if __name__ == "__main__": | ||||||
|     pm = PropertyManager.getSharedInstance().loadConfig() |     pm = PropertyManager.getSharedInstance().loadConfig() | ||||||
|  |  | ||||||
|     if not "sdrhu_key" in pm: |     if "sdrhu_public_listing" not in pm or not pm["sdrhu_public_listing"]: | ||||||
|  |         logger.error('Public listing on sdr.hu is not activated. Please check "sdrhu_public_listing" in your config.') | ||||||
|  |         exit(1) | ||||||
|  |     if "sdrhu_key" not in pm or pm["sdrhu_key"] is None or pm["sdrhu_key"] == "": | ||||||
|  |         logger.error('Missing "sdrhu_key" in your config. Aborting') | ||||||
|         exit(1) |         exit(1) | ||||||
|     SdrHuUpdater().update() |     SdrHuUpdater().update() | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Jakob Ketterl
					Jakob Ketterl