Sfoglia il codice sorgente

fix script for sms sending

Clovis JAQUIN 2 anni fa
parent
commit
fc2f3e5b5f
2 ha cambiato i file con 13 aggiunte e 9 eliminazioni
  1. 4 3
      script/run.sh
  2. 9 6
      script/send_sms.py

+ 4 - 3
script/run.sh

@@ -1,8 +1,9 @@
 #!/usr/bin/env bash
 
+source venv/bin/activate
+
 set -a
-source .env
+source script/.env
 set +a
 
-cd ..
-python3 send_sms.py
+python3 -m script.send_sms

+ 9 - 6
script/send_sms.py

@@ -1,6 +1,6 @@
 import os
 import requests
-from KdeConnect import KDEConnect
+from .KdeConnect import KDEConnect
 
 from app.schemas.responses import AccessTokenResponse, SMSResponse
 
@@ -8,24 +8,27 @@ from app.schemas.responses import AccessTokenResponse, SMSResponse
 def send_sms_from_api(url: str, login: str, pwd: str, device_name: str):
     """Connect to sms-server API to retreieve sms to be send and send them using kdeconnect-cli"""
     # Log in to API get access token
-    response = requests.get(
+    response = requests.post(
         url + "/auth/access-token",
         data={"grant_type": "password", "username": login, "password": pwd},
     )
-    authentication: AccessTokenResponse = response.json()
+    authentication = AccessTokenResponse.parse_raw(response.content)
     headers = {"Authorization": "Bearer " + authentication.access_token}
 
     # List SMS to be send
     response = requests.get(url + "/sms/to-send", headers=headers)
-    sms_list: list[SMSResponse] = response.json()
+    sms_list: list[SMSResponse] = [SMSResponse.parse_obj(obj) for obj in response.json()]
 
     # Init KDE Connect
     kde = KDEConnect(device_name=device_name)
 
     # send sms & update api
     for sms in sms_list:
-        kde.send_sms(sms.phone_number, sms.content)
-        requests.get(url + "/sms/sent-now/" + sms.id, headers=headers)
+        try:
+            kde.send_sms(sms.phone_number, sms.content)
+            requests.get(url + "/sms/sent-now/" + sms.id, headers=headers)
+        except Exception as exc:
+            print(exc)
 
 
 class InvalidEnvironnementVariable(Exception):