dhruv575 commited on
Commit
8ea29e3
·
1 Parent(s): baa6fc3

Fix dates

Browse files
Files changed (1) hide show
  1. controllers/log_controller.py +17 -14
controllers/log_controller.py CHANGED
@@ -2,7 +2,7 @@ from flask import jsonify, request
2
  import logging
3
  import os
4
  import json
5
- from datetime import datetime
6
  import uuid
7
  import pytesseract
8
  from PIL import Image
@@ -41,8 +41,9 @@ def upload_log(current_user):
41
  return jsonify({'message': 'Log date is required'}), 400
42
 
43
  try:
44
- # Parse the date string
45
- log_date = datetime.strptime(log_date_str, '%Y-%m-%d').date()
 
46
 
47
  # Read the file content
48
  file_content = file.read()
@@ -51,12 +52,12 @@ def upload_log(current_user):
51
  logger.info(f"Extracting text from PDF using OCR")
52
  extracted_text = pdf_to_text(file_content, is_bytes=True)
53
 
54
- # Create new log entry with the extracted text instead of file reference
55
  log = Log(
56
  user_id=current_user._id,
57
  department_id=current_user.department_id,
58
- log_date=log_date,
59
- log_text=extracted_text # Store the extracted text, not a file reference
60
  )
61
 
62
  if log.save():
@@ -384,21 +385,23 @@ def classify_log_activities(current_user):
384
  extracted_text = pdf_to_text(file_content, is_bytes=True)
385
  logger.info(f"OCR finished. Extracted {len(extracted_text)} characters.")
386
 
387
- # Get log date from form data (assuming it's still sent with classify request)
388
- log_date_str = request.form.get('log_date', datetime.now().strftime('%Y-%m-%d')) # Default to today if not provided
389
  try:
390
- log_date = datetime.strptime(log_date_str, '%Y-%m-%d').date()
 
391
  except ValueError:
392
  logger.warning(f"Invalid log_date format '{log_date_str}', using today's date.")
393
- log_date = datetime.now().date()
 
394
 
395
- logger.info(f"Creating Log object for user {current_user._id} on {log_date}")
396
  new_log = Log(
397
  user_id=current_user._id,
398
  department_id=current_user.department_id,
399
- log_date=log_date,
400
  log_text=extracted_text,
401
- incidents=[] # Initialize incidents list
402
  )
403
  if not new_log.save():
404
  logger.error("Failed to save initial Log object.")
@@ -466,7 +469,7 @@ def classify_log_activities(current_user):
466
  user_id=current_user._id,
467
  workflow_id=ObjectId(workflow_id),
468
  description=activity_description,
469
- date=log_date,
470
  activity_text=activity_text_for_incident,
471
  log_id=log_id,
472
  status="classified" # New initial status
 
2
  import logging
3
  import os
4
  import json
5
+ from datetime import datetime, date, time
6
  import uuid
7
  import pytesseract
8
  from PIL import Image
 
41
  return jsonify({'message': 'Log date is required'}), 400
42
 
43
  try:
44
+ # Parse the date string and convert to datetime at midnight
45
+ parsed_date = datetime.strptime(log_date_str, '%Y-%m-%d').date()
46
+ log_datetime = datetime.combine(parsed_date, time.min) # Use time.min for midnight
47
 
48
  # Read the file content
49
  file_content = file.read()
 
52
  logger.info(f"Extracting text from PDF using OCR")
53
  extracted_text = pdf_to_text(file_content, is_bytes=True)
54
 
55
+ # Create new log entry with datetime object
56
  log = Log(
57
  user_id=current_user._id,
58
  department_id=current_user.department_id,
59
+ log_date=log_datetime, # Pass datetime object
60
+ log_text=extracted_text
61
  )
62
 
63
  if log.save():
 
385
  extracted_text = pdf_to_text(file_content, is_bytes=True)
386
  logger.info(f"OCR finished. Extracted {len(extracted_text)} characters.")
387
 
388
+ # Get log date from form data and convert to datetime at midnight
389
+ log_date_str = request.form.get('log_date', datetime.now().strftime('%Y-%m-%d'))
390
  try:
391
+ parsed_date = datetime.strptime(log_date_str, '%Y-%m-%d').date()
392
+ log_datetime = datetime.combine(parsed_date, time.min) # Use time.min
393
  except ValueError:
394
  logger.warning(f"Invalid log_date format '{log_date_str}', using today's date.")
395
+ parsed_date = datetime.now().date()
396
+ log_datetime = datetime.combine(parsed_date, time.min)
397
 
398
+ logger.info(f"Creating Log object for user {current_user._id} on {log_datetime.date()}")
399
  new_log = Log(
400
  user_id=current_user._id,
401
  department_id=current_user.department_id,
402
+ log_date=log_datetime, # Pass datetime object
403
  log_text=extracted_text,
404
+ incidents=[]
405
  )
406
  if not new_log.save():
407
  logger.error("Failed to save initial Log object.")
 
469
  user_id=current_user._id,
470
  workflow_id=ObjectId(workflow_id),
471
  description=activity_description,
472
+ date=log_datetime.date(), # Incident might store just date, or convert as needed
473
  activity_text=activity_text_for_incident,
474
  log_id=log_id,
475
  status="classified" # New initial status