Update app.py
Browse files
app.py
CHANGED
|
@@ -109,17 +109,31 @@ def make_post(the_title, the_text, your_user, your_password, your_site, wordpres
|
|
| 109 |
data['categories'] = [int(wordpress_category_id)]
|
| 110 |
|
| 111 |
try:
|
| 112 |
-
#
|
| 113 |
-
response = requests.post(api_url, headers=header, json=data, timeout=
|
| 114 |
response.raise_for_status()
|
| 115 |
return response.json()
|
| 116 |
except requests.exceptions.RequestException as e:
|
| 117 |
-
|
| 118 |
-
|
| 119 |
-
|
| 120 |
-
|
| 121 |
-
|
| 122 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 123 |
raise e
|
| 124 |
|
| 125 |
|
|
|
|
| 109 |
data['categories'] = [int(wordpress_category_id)]
|
| 110 |
|
| 111 |
try:
|
| 112 |
+
# --- PERBAIKAN: Timeout ditambah dan penanganan error lebih detail ---
|
| 113 |
+
response = requests.post(api_url, headers=header, json=data, timeout=60)
|
| 114 |
response.raise_for_status()
|
| 115 |
return response.json()
|
| 116 |
except requests.exceptions.RequestException as e:
|
| 117 |
+
error_message = f"Error saat posting ke WordPress: {e}"
|
| 118 |
+
print(error_message)
|
| 119 |
+
|
| 120 |
+
# Memberikan detail lebih spesifik untuk error umum
|
| 121 |
+
if e.response is not None:
|
| 122 |
+
status_code = e.response.status_code
|
| 123 |
+
print(f"Server merespons dengan Status Code: {status_code}")
|
| 124 |
+
# Mencetak sebagian isi respons untuk membantu diagnosis
|
| 125 |
+
print(f"Response Body (mungkin berisi petunjuk): {e.response.text[:500]}...")
|
| 126 |
+
|
| 127 |
+
if status_code == 401:
|
| 128 |
+
raise ConnectionRefusedError("Otentikasi Gagal (401). Periksa username dan application password Anda sudah benar dan memiliki izin untuk membuat post.")
|
| 129 |
+
if status_code == 403:
|
| 130 |
+
raise ConnectionRefusedError(f"Akses Dilarang (403). Kemungkinan diblokir oleh plugin keamanan (misal: Wordfence) di WordPress Anda. Coba nonaktifkan sementara atau whitelist IP aplikasi ini.")
|
| 131 |
+
if status_code == 404:
|
| 132 |
+
raise ConnectionAbortedError("URL API tidak ditemukan (404). Pastikan URL situs dan permalink sudah benar.")
|
| 133 |
+
if status_code == 502:
|
| 134 |
+
raise ConnectionAbortedError("Error 502 Bad Gateway dari server WordPress Anda. Ini adalah masalah di sisi server hosting (misalnya, overload, firewall, atau error PHP), bukan di aplikasi ini. Coba lagi nanti atau periksa log error di server WordPress Anda.")
|
| 135 |
+
|
| 136 |
+
# Melempar error asli jika tidak ada penanganan spesifik
|
| 137 |
raise e
|
| 138 |
|
| 139 |
|