Spaces:
Sleeping
Sleeping
dhruv575 commited on
Commit ·
8ea29e3
1
Parent(s): baa6fc3
Fix dates
Browse files- 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 |
-
|
|
|
|
| 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
|
| 55 |
log = Log(
|
| 56 |
user_id=current_user._id,
|
| 57 |
department_id=current_user.department_id,
|
| 58 |
-
log_date=
|
| 59 |
-
log_text=extracted_text
|
| 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
|
| 388 |
-
log_date_str = request.form.get('log_date', datetime.now().strftime('%Y-%m-%d'))
|
| 389 |
try:
|
| 390 |
-
|
|
|
|
| 391 |
except ValueError:
|
| 392 |
logger.warning(f"Invalid log_date format '{log_date_str}', using today's date.")
|
| 393 |
-
|
|
|
|
| 394 |
|
| 395 |
-
logger.info(f"Creating Log object for user {current_user._id} on {
|
| 396 |
new_log = Log(
|
| 397 |
user_id=current_user._id,
|
| 398 |
department_id=current_user.department_id,
|
| 399 |
-
log_date=
|
| 400 |
log_text=extracted_text,
|
| 401 |
-
incidents=[]
|
| 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=
|
| 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
|