DreamStream-1 commited on
Commit
9ed48e5
·
verified ·
1 Parent(s): 1b5f12c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +81 -94
app.py CHANGED
@@ -943,30 +943,25 @@ def send_whatsjet_message(phone_number: str, message: str, media_type: str = Non
943
  logger.info(f"[WhatsJet][DEBUG] URL: {url}")
944
  logger.info(f"[WhatsJet][DEBUG] Multipart data: {data}")
945
  logger.info(f"[WhatsJet][DEBUG] Multipart files: {list(files.keys())}")
 
 
 
 
 
 
 
 
946
  try:
947
- response = httpx.post(
948
- url,
949
- data=data,
950
- files=files,
951
- timeout=30
952
- )
953
- logger.info(f"[WhatsJet][DEBUG] Multipart response status: {response.status_code}")
954
- logger.info(f"[WhatsJet][DEBUG] Multipart response headers: {dict(response.headers)}")
955
- try:
956
- response_text = response.text
957
- logger.info(f"[WhatsJet][DEBUG] Multipart response body: {response_text[:1000]}" + ("..." if len(response_text) > 1000 else ""))
958
- except Exception as e:
959
- logger.info(f"[WhatsJet][DEBUG] Multipart response body: Unable to read: {e}")
960
- response.raise_for_status()
961
- logger.info(f"[WhatsJet] Media image sent successfully via multipart upload to {phone_number}")
962
- return True
963
  except Exception as e:
964
- import traceback
965
- logger.warning(f"[WhatsJet][ERROR] Multipart upload failed, trying base64 method: {e}\nTraceback: {traceback.format_exc()}")
966
-
 
967
  except Exception as e:
968
- logger.warning(f"[WhatsJet] Multipart upload failed, trying base64 method: {e}")
969
-
970
  # Try method 2: Send as base64 encoded content
971
  try:
972
  media_b64 = base64.b64encode(media_content).decode('utf-8')
@@ -980,29 +975,28 @@ def send_whatsjet_message(phone_number: str, message: str, media_type: str = Non
980
  # Enhanced logging
981
  logger.info(f"[WhatsJet][DEBUG] URL: {url}")
982
  logger.info(f"[WhatsJet][DEBUG] Base64 payload: {{'phone_number': payload['phone_number'], 'media_type': payload['media_type'], 'media_filename': payload['media_filename'], 'message_body': payload['message_body'][:50] + '...', 'media_content_length': len(payload['media_content'])}}")
 
 
 
 
 
 
 
983
  try:
984
- response = httpx.post(
985
- url,
986
- json=payload,
987
- timeout=30
988
- )
989
- logger.info(f"[WhatsJet][DEBUG] Base64 response status: {response.status_code}")
990
- logger.info(f"[WhatsJet][DEBUG] Base64 response headers: {dict(response.headers)}")
991
- try:
992
- response_text = response.text
993
- logger.info(f"[WhatsJet][DEBUG] Base64 response body: {response_text[:1000]}" + ("..." if len(response_text) > 1000 else ""))
994
- except Exception as e:
995
- logger.info(f"[WhatsJet][DEBUG] Base64 response body: Unable to read: {e}")
996
- response.raise_for_status()
997
- logger.info(f"[WhatsJet] Media image sent successfully via base64 to {phone_number}")
998
- return True
999
  except Exception as e:
1000
- import traceback
1001
- logger.error(f"[WhatsJet][ERROR] Base64 method also failed: {e}\nTraceback: {traceback.format_exc()}")
1002
- # Fallback: send text only
1003
- logger.warning(f"[WhatsJet] Both image methods failed, sending text only for {phone_number}")
1004
- return send_whatsjet_message(phone_number, message)
1005
-
 
 
 
 
 
1006
  except Exception as e:
1007
  import traceback
1008
  logger.error(f"[WhatsJet][ERROR] Exception preparing media image: {str(e)}\nTraceback: {traceback.format_exc()}")
@@ -1034,26 +1028,25 @@ def send_whatsjet_message(phone_number: str, message: str, media_type: str = Non
1034
  logger.info(f"[WhatsJet][DEBUG] URL: {url}")
1035
  logger.info(f"[WhatsJet][DEBUG] Multipart data: {data}")
1036
  logger.info(f"[WhatsJet][DEBUG] Multipart files: {list(files.keys())}")
 
 
 
 
 
 
 
 
1037
  try:
1038
- response = httpx.post(
1039
- url,
1040
- data=data,
1041
- files=files,
1042
- timeout=30
1043
- )
1044
- logger.info(f"[WhatsJet][DEBUG] Multipart response status: {response.status_code}")
1045
- logger.info(f"[WhatsJet][DEBUG] Multipart response headers: {dict(response.headers)}")
1046
- try:
1047
- response_text = response.text
1048
- logger.info(f"[WhatsJet][DEBUG] Multipart response body: {response_text[:1000]}" + ("..." if len(response_text) > 1000 else ""))
1049
- except Exception as e:
1050
- logger.info(f"[WhatsJet][DEBUG] Multipart response body: Unable to read: {e}")
1051
- response.raise_for_status()
1052
- logger.info(f"[WhatsJet] Media message sent successfully via multipart to {phone_number}")
1053
- return True
1054
  except Exception as e:
1055
- import traceback
1056
- logger.warning(f"[WhatsJet][ERROR] Multipart upload failed for media, trying base64: {e}\nTraceback: {traceback.format_exc()}")
 
 
 
 
 
1057
 
1058
  media_b64 = base64.b64encode(media_content).decode('utf-8')
1059
  payload = {
@@ -1066,26 +1059,25 @@ def send_whatsjet_message(phone_number: str, message: str, media_type: str = Non
1066
  # Enhanced logging
1067
  logger.info(f"[WhatsJet][DEBUG] URL: {url}")
1068
  logger.info(f"[WhatsJet][DEBUG] Base64 payload: {{'phone_number': payload['phone_number'], 'media_type': payload['media_type'], 'media_filename': payload['media_filename'], 'message_body': payload['message_body'][:50] + '...', 'media_content_length': len(payload['media_content'])}}")
 
 
 
 
 
 
 
1069
  try:
1070
- response = httpx.post(
1071
- url,
1072
- json=payload,
1073
- timeout=30
1074
- )
1075
- logger.info(f"[WhatsJet][DEBUG] Base64 response status: {response.status_code}")
1076
- logger.info(f"[WhatsJet][DEBUG] Base64 response headers: {dict(response.headers)}")
1077
- try:
1078
- response_text = response.text
1079
- logger.info(f"[WhatsJet][DEBUG] Base64 response body: {response_text[:1000]}" + ("..." if len(response_text) > 1000 else ""))
1080
- except Exception as e:
1081
- logger.info(f"[WhatsJet][DEBUG] Base64 response body: Unable to read: {e}")
1082
- response.raise_for_status()
1083
- logger.info(f"[WhatsJet] Media message sent successfully via base64 to {phone_number}")
1084
- return True
1085
  except Exception as e:
1086
- import traceback
1087
- logger.error(f"[WhatsJet][ERROR] Exception sending media message: {e}\nTraceback: {traceback.format_exc()}")
1088
- return False
 
 
 
 
 
1089
  except Exception as e:
1090
  import traceback
1091
  logger.error(f"[WhatsJet][ERROR] Exception preparing media message: {str(e)}\nTraceback: {traceback.format_exc()}")
@@ -1101,24 +1093,19 @@ def send_whatsjet_message(phone_number: str, message: str, media_type: str = Non
1101
  # Enhanced logging
1102
  logger.info(f"[WhatsJet][DEBUG] URL: {url}")
1103
  logger.info(f"[WhatsJet][DEBUG] Payload: {json.dumps(payload)}")
1104
- try:
1105
- response = httpx.post(
1106
- url,
1107
- json=payload,
1108
- timeout=15
1109
- )
1110
- logger.info(f"[WhatsJet][DEBUG] Response status: {response.status_code}")
1111
- logger.info(f"[WhatsJet][DEBUG] Response headers: {dict(response.headers)}")
1112
- logger.info(f"[WhatsJet][DEBUG] Response body: {response.text}")
1113
- response.raise_for_status()
1114
- logger.info(f"[WhatsJet] Text chunk sent successfully to {phone_number}")
1115
- except Exception as e:
1116
- import traceback
1117
- logger.error(f"[WhatsJet][ERROR] Exception sending text chunk: {e}\nTraceback: {traceback.format_exc()}")
1118
- return False
1119
  except Exception as e:
1120
  import traceback
1121
- logger.error(f"[WhatsJet][ERROR] Exception preparing text chunk: {str(e)}\nTraceback: {traceback.format_exc()}")
1122
  return False
1123
  logger.info(f"[WhatsJet] Successfully sent complete text message to {phone_number}")
1124
  return True
 
943
  logger.info(f"[WhatsJet][DEBUG] URL: {url}")
944
  logger.info(f"[WhatsJet][DEBUG] Multipart data: {data}")
945
  logger.info(f"[WhatsJet][DEBUG] Multipart files: {list(files.keys())}")
946
+ response = httpx.post(
947
+ url,
948
+ data=data,
949
+ files=files,
950
+ timeout=30
951
+ )
952
+ logger.info(f"[WhatsJet][DEBUG] Multipart response status: {response.status_code}")
953
+ logger.info(f"[WhatsJet][DEBUG] Multipart response headers: {dict(response.headers)}")
954
  try:
955
+ response_text = response.text
956
+ logger.info(f"[WhatsJet][DEBUG] Multipart response body: {response_text[:1000]}" + ("..." if len(response_text) > 1000 else ""))
 
 
 
 
 
 
 
 
 
 
 
 
 
 
957
  except Exception as e:
958
+ logger.info(f"[WhatsJet][DEBUG] Multipart response body: Unable to read: {e}")
959
+ response.raise_for_status()
960
+ logger.info(f"[WhatsJet] Media image sent successfully via multipart upload to {phone_number}")
961
+ return True
962
  except Exception as e:
963
+ import traceback
964
+ logger.warning(f"[WhatsJet][ERROR] Multipart upload failed, trying base64 method: {e}\nTraceback: {traceback.format_exc()}")
965
  # Try method 2: Send as base64 encoded content
966
  try:
967
  media_b64 = base64.b64encode(media_content).decode('utf-8')
 
975
  # Enhanced logging
976
  logger.info(f"[WhatsJet][DEBUG] URL: {url}")
977
  logger.info(f"[WhatsJet][DEBUG] Base64 payload: {{'phone_number': payload['phone_number'], 'media_type': payload['media_type'], 'media_filename': payload['media_filename'], 'message_body': payload['message_body'][:50] + '...', 'media_content_length': len(payload['media_content'])}}")
978
+ response = httpx.post(
979
+ url,
980
+ json=payload,
981
+ timeout=30
982
+ )
983
+ logger.info(f"[WhatsJet][DEBUG] Base64 response status: {response.status_code}")
984
+ logger.info(f"[WhatsJet][DEBUG] Base64 response headers: {dict(response.headers)}")
985
  try:
986
+ response_text = response.text
987
+ logger.info(f"[WhatsJet][DEBUG] Base64 response body: {response_text[:1000]}" + ("..." if len(response_text) > 1000 else ""))
 
 
 
 
 
 
 
 
 
 
 
 
 
988
  except Exception as e:
989
+ logger.info(f"[WhatsJet][DEBUG] Base64 response body: Unable to read: {e}")
990
+ response.raise_for_status()
991
+ logger.info(f"[WhatsJet] Media image sent successfully via base64 to {phone_number}")
992
+ return True
993
+ except Exception as e:
994
+ import traceback
995
+ logger.error(f"[WhatsJet][ERROR] Base64 method also failed: {e}\nTraceback: {traceback.format_exc()}")
996
+ # Fallback: send text only
997
+ logger.warning(f"[WhatsJet] Both image methods failed, sending text only for {phone_number}")
998
+ return send_whatsjet_message(phone_number, message)
999
+
1000
  except Exception as e:
1001
  import traceback
1002
  logger.error(f"[WhatsJet][ERROR] Exception preparing media image: {str(e)}\nTraceback: {traceback.format_exc()}")
 
1028
  logger.info(f"[WhatsJet][DEBUG] URL: {url}")
1029
  logger.info(f"[WhatsJet][DEBUG] Multipart data: {data}")
1030
  logger.info(f"[WhatsJet][DEBUG] Multipart files: {list(files.keys())}")
1031
+ response = httpx.post(
1032
+ url,
1033
+ data=data,
1034
+ files=files,
1035
+ timeout=30
1036
+ )
1037
+ logger.info(f"[WhatsJet][DEBUG] Multipart response status: {response.status_code}")
1038
+ logger.info(f"[WhatsJet][DEBUG] Multipart response headers: {dict(response.headers)}")
1039
  try:
1040
+ response_text = response.text
1041
+ logger.info(f"[WhatsJet][DEBUG] Multipart response body: {response_text[:1000]}" + ("..." if len(response_text) > 1000 else ""))
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1042
  except Exception as e:
1043
+ logger.info(f"[WhatsJet][DEBUG] Multipart response body: Unable to read: {e}")
1044
+ response.raise_for_status()
1045
+ logger.info(f"[WhatsJet] Media message sent successfully via multipart to {phone_number}")
1046
+ return True
1047
+ except Exception as e:
1048
+ import traceback
1049
+ logger.warning(f"[WhatsJet][ERROR] Multipart upload failed for media, trying base64: {e}\nTraceback: {traceback.format_exc()}")
1050
 
1051
  media_b64 = base64.b64encode(media_content).decode('utf-8')
1052
  payload = {
 
1059
  # Enhanced logging
1060
  logger.info(f"[WhatsJet][DEBUG] URL: {url}")
1061
  logger.info(f"[WhatsJet][DEBUG] Base64 payload: {{'phone_number': payload['phone_number'], 'media_type': payload['media_type'], 'media_filename': payload['media_filename'], 'message_body': payload['message_body'][:50] + '...', 'media_content_length': len(payload['media_content'])}}")
1062
+ response = httpx.post(
1063
+ url,
1064
+ json=payload,
1065
+ timeout=30
1066
+ )
1067
+ logger.info(f"[WhatsJet][DEBUG] Base64 response status: {response.status_code}")
1068
+ logger.info(f"[WhatsJet][DEBUG] Base64 response headers: {dict(response.headers)}")
1069
  try:
1070
+ response_text = response.text
1071
+ logger.info(f"[WhatsJet][DEBUG] Base64 response body: {response_text[:1000]}" + ("..." if len(response_text) > 1000 else ""))
 
 
 
 
 
 
 
 
 
 
 
 
 
1072
  except Exception as e:
1073
+ logger.info(f"[WhatsJet][DEBUG] Base64 response body: Unable to read: {e}")
1074
+ response.raise_for_status()
1075
+ logger.info(f"[WhatsJet] Media message sent successfully via base64 to {phone_number}")
1076
+ return True
1077
+ except Exception as e:
1078
+ import traceback
1079
+ logger.error(f"[WhatsJet][ERROR] Exception sending media message: {e}\nTraceback: {traceback.format_exc()}")
1080
+ return False
1081
  except Exception as e:
1082
  import traceback
1083
  logger.error(f"[WhatsJet][ERROR] Exception preparing media message: {str(e)}\nTraceback: {traceback.format_exc()}")
 
1093
  # Enhanced logging
1094
  logger.info(f"[WhatsJet][DEBUG] URL: {url}")
1095
  logger.info(f"[WhatsJet][DEBUG] Payload: {json.dumps(payload)}")
1096
+ response = httpx.post(
1097
+ url,
1098
+ json=payload,
1099
+ timeout=15
1100
+ )
1101
+ logger.info(f"[WhatsJet][DEBUG] Response status: {response.status_code}")
1102
+ logger.info(f"[WhatsJet][DEBUG] Response headers: {dict(response.headers)}")
1103
+ logger.info(f"[WhatsJet][DEBUG] Response body: {response.text}")
1104
+ response.raise_for_status()
1105
+ logger.info(f"[WhatsJet] Text chunk sent successfully to {phone_number}")
 
 
 
 
 
1106
  except Exception as e:
1107
  import traceback
1108
+ logger.error(f"[WhatsJet][ERROR] Exception sending text chunk: {e}\nTraceback: {traceback.format_exc()}")
1109
  return False
1110
  logger.info(f"[WhatsJet] Successfully sent complete text message to {phone_number}")
1111
  return True