Spaces:
Runtime error
Runtime error
Commit Β·
667a329
1
Parent(s): 47901ba
Refactor BotController to improve logging and code formatting
Browse files
src/controllers/_bot_controller.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
| 1 |
-
from io import BytesIO
|
| 2 |
import os
|
| 3 |
import re
|
| 4 |
import traceback
|
|
|
|
| 5 |
|
| 6 |
import aiohttp
|
| 7 |
from fastapi import APIRouter, BackgroundTasks, Form, HTTPException, Request, UploadFile
|
|
@@ -11,7 +11,7 @@ from slack_sdk.web.async_client import AsyncWebClient
|
|
| 11 |
|
| 12 |
from src.models import ContentDeliveryFrequency, User
|
| 13 |
from src.services import FileService, SlackBotService, SlackTeamService, UserService
|
| 14 |
-
from src.utils import
|
| 15 |
|
| 16 |
file_set = set()
|
| 17 |
|
|
@@ -63,7 +63,8 @@ class BotController:
|
|
| 63 |
if not user:
|
| 64 |
raise Exception("Failed to register user")
|
| 65 |
if not user:
|
| 66 |
-
|
|
|
|
| 67 |
|
| 68 |
if "files" in actual_event or "file" in actual_event:
|
| 69 |
if send_message:
|
|
@@ -332,8 +333,8 @@ class BotController:
|
|
| 332 |
"response_type": "ephemeral",
|
| 333 |
"text": "Please provide a valid file URL with the /refresh command.",
|
| 334 |
}
|
| 335 |
-
|
| 336 |
-
async with Helper as helper:
|
| 337 |
if not helper.is_valid_url(text):
|
| 338 |
return {
|
| 339 |
"response_type": "ephemeral",
|
|
@@ -342,7 +343,7 @@ class BotController:
|
|
| 342 |
background_tasks.add_task(self.refreshUserContent, payload)
|
| 343 |
return {
|
| 344 |
"response_type": "ephemeral",
|
| 345 |
-
"text": "You're very welcome! π We'll be sharing these insights with you gradually over the next few weeks. π"
|
| 346 |
}
|
| 347 |
|
| 348 |
async def refreshUserContent(self, payload: dict):
|
|
@@ -374,7 +375,7 @@ class BotController:
|
|
| 374 |
)
|
| 375 |
await user_service.send_message(
|
| 376 |
user_id=user.id,
|
| 377 |
-
message="Failed to download file. Please try again."
|
| 378 |
)
|
| 379 |
return
|
| 380 |
|
|
@@ -397,7 +398,7 @@ class BotController:
|
|
| 397 |
)
|
| 398 |
await user_service.send_message(
|
| 399 |
user_id=user.id,
|
| 400 |
-
message="Unsupported content type. Please provide a valid file URL."
|
| 401 |
)
|
| 402 |
return
|
| 403 |
|
|
@@ -409,11 +410,15 @@ class BotController:
|
|
| 409 |
message="Failed to download file. Please try again.",
|
| 410 |
)
|
| 411 |
return
|
| 412 |
-
|
| 413 |
-
content_disposition = response.headers.get(
|
|
|
|
|
|
|
| 414 |
if content_disposition:
|
| 415 |
# Try to extract filename from content-disposition
|
| 416 |
-
match = re.search(
|
|
|
|
|
|
|
| 417 |
if match:
|
| 418 |
file_name = match.group(1)
|
| 419 |
else:
|
|
|
|
|
|
|
| 1 |
import os
|
| 2 |
import re
|
| 3 |
import traceback
|
| 4 |
+
from io import BytesIO
|
| 5 |
|
| 6 |
import aiohttp
|
| 7 |
from fastapi import APIRouter, BackgroundTasks, Form, HTTPException, Request, UploadFile
|
|
|
|
| 11 |
|
| 12 |
from src.models import ContentDeliveryFrequency, User
|
| 13 |
from src.services import FileService, SlackBotService, SlackTeamService, UserService
|
| 14 |
+
from src.utils import Helper, logger
|
| 15 |
|
| 16 |
file_set = set()
|
| 17 |
|
|
|
|
| 63 |
if not user:
|
| 64 |
raise Exception("Failed to register user")
|
| 65 |
if not user:
|
| 66 |
+
logger.warning(f"User not found with slack id: {slack_user_id}")
|
| 67 |
+
return
|
| 68 |
|
| 69 |
if "files" in actual_event or "file" in actual_event:
|
| 70 |
if send_message:
|
|
|
|
| 333 |
"response_type": "ephemeral",
|
| 334 |
"text": "Please provide a valid file URL with the /refresh command.",
|
| 335 |
}
|
| 336 |
+
|
| 337 |
+
async with Helper as helper:
|
| 338 |
if not helper.is_valid_url(text):
|
| 339 |
return {
|
| 340 |
"response_type": "ephemeral",
|
|
|
|
| 343 |
background_tasks.add_task(self.refreshUserContent, payload)
|
| 344 |
return {
|
| 345 |
"response_type": "ephemeral",
|
| 346 |
+
"text": "You're very welcome! π We'll be sharing these insights with you gradually over the next few weeks. π",
|
| 347 |
}
|
| 348 |
|
| 349 |
async def refreshUserContent(self, payload: dict):
|
|
|
|
| 375 |
)
|
| 376 |
await user_service.send_message(
|
| 377 |
user_id=user.id,
|
| 378 |
+
message="Failed to download file. Please try again.",
|
| 379 |
)
|
| 380 |
return
|
| 381 |
|
|
|
|
| 398 |
)
|
| 399 |
await user_service.send_message(
|
| 400 |
user_id=user.id,
|
| 401 |
+
message="Unsupported content type. Please provide a valid file URL.",
|
| 402 |
)
|
| 403 |
return
|
| 404 |
|
|
|
|
| 410 |
message="Failed to download file. Please try again.",
|
| 411 |
)
|
| 412 |
return
|
| 413 |
+
|
| 414 |
+
content_disposition = response.headers.get(
|
| 415 |
+
"content-disposition"
|
| 416 |
+
)
|
| 417 |
if content_disposition:
|
| 418 |
# Try to extract filename from content-disposition
|
| 419 |
+
match = re.search(
|
| 420 |
+
r'filename="(.+?)"', content_disposition
|
| 421 |
+
)
|
| 422 |
if match:
|
| 423 |
file_name = match.group(1)
|
| 424 |
else:
|