|
@@ -0,0 +1,39 @@
|
|
|
+import gsm
|
|
|
+import logging
|
|
|
+import requests
|
|
|
+import json
|
|
|
+
|
|
|
+def load_config():
|
|
|
+ with open('config/gsm.json') as config:
|
|
|
+ gsm = json.load(config)
|
|
|
+
|
|
|
+ with open('config/api.json') as config:
|
|
|
+ api = json.load(config)
|
|
|
+
|
|
|
+ config = {
|
|
|
+ "gsm": gsm,
|
|
|
+ "api": api
|
|
|
+ }
|
|
|
+ return config
|
|
|
+
|
|
|
+config = load_config()
|
|
|
+
|
|
|
+gsm_modules = list()
|
|
|
+for module in config["gsm"]:
|
|
|
+ print(module)
|
|
|
+ gsm_object = gsm.Gsm(module["port"], module["msisdn"])
|
|
|
+ gsm_modules.append(gsm_object)
|
|
|
+
|
|
|
+messages_queue = list()
|
|
|
+while True:
|
|
|
+ for gsm_object in gsm_modules:
|
|
|
+ messages = gsm_object.fetch_messages()
|
|
|
+ messages_queue.extend(messages)
|
|
|
+
|
|
|
+ for message in messages_queue:
|
|
|
+ try:
|
|
|
+ r = requests.put(config["api"]["url"], headers={"key": config["api"]["key"]}, data=json.dumps(message), timeout=10)
|
|
|
+ except:
|
|
|
+ logging.error("Failed pushing messages queue to frontend")
|
|
|
+ if r:
|
|
|
+ messages_queue.delete(message)
|