kanha-upadhyay commited on
Commit
667a329
Β·
1 Parent(s): 47901ba

Refactor BotController to improve logging and code formatting

Browse files
Files changed (1) hide show
  1. src/controllers/_bot_controller.py +16 -11
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 logger, Helper
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
- raise Exception("User not found")
 
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("content-disposition")
 
 
414
  if content_disposition:
415
  # Try to extract filename from content-disposition
416
- match = re.search(r'filename="(.+?)"', content_disposition)
 
 
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: