Spaces:
Sleeping
Sleeping
added the content editable and removed the whitespace delimiter and replaced it with getting the whole text
Browse files- Layoutlmv3_inference/__pycache__/annotate_image.cpython-311.pyc +0 -0
- Layoutlmv3_inference/__pycache__/inference_handler.cpython-310.pyc +0 -0
- Layoutlmv3_inference/__pycache__/ocr.cpython-310.pyc +0 -0
- Layoutlmv3_inference/inference_handler.py +6 -7
- Layoutlmv3_inference/ocr.py +3 -36
- Layoutlmv3_inference/ocr2.py +233 -0
- app.py +60 -40
- inferenced/csv_files/Output_0.csv +0 -3
- inferenced/output.csv +0 -3
- log/error_output.log +495 -0
- requirements.txt +8 -11
- static/css/extractor.css +682 -0
- templates/extractor.html +45 -685
Layoutlmv3_inference/__pycache__/annotate_image.cpython-311.pyc
CHANGED
|
Binary files a/Layoutlmv3_inference/__pycache__/annotate_image.cpython-311.pyc and b/Layoutlmv3_inference/__pycache__/annotate_image.cpython-311.pyc differ
|
|
|
Layoutlmv3_inference/__pycache__/inference_handler.cpython-310.pyc
CHANGED
|
Binary files a/Layoutlmv3_inference/__pycache__/inference_handler.cpython-310.pyc and b/Layoutlmv3_inference/__pycache__/inference_handler.cpython-310.pyc differ
|
|
|
Layoutlmv3_inference/__pycache__/ocr.cpython-310.pyc
CHANGED
|
Binary files a/Layoutlmv3_inference/__pycache__/ocr.cpython-310.pyc and b/Layoutlmv3_inference/__pycache__/ocr.cpython-310.pyc differ
|
|
|
Layoutlmv3_inference/inference_handler.py
CHANGED
|
@@ -131,14 +131,14 @@ class ModelHandler(object):
|
|
| 131 |
|
| 132 |
output_spans = []
|
| 133 |
for span in spans:
|
| 134 |
-
if
|
| 135 |
-
output_span = {"text":
|
| 136 |
"label": span[0]['label'],
|
| 137 |
"words": [{
|
| 138 |
-
'id':
|
| 139 |
-
'box':
|
| 140 |
-
'text':
|
| 141 |
-
}]
|
| 142 |
}
|
| 143 |
else:
|
| 144 |
output_span = {"text": ' '.join([entity['text'] for entity in span]),
|
|
@@ -148,7 +148,6 @@ class ModelHandler(object):
|
|
| 148 |
'box': entity['box'],
|
| 149 |
'text': entity['text']
|
| 150 |
} for entity in span]
|
| 151 |
-
|
| 152 |
}
|
| 153 |
output_spans.append(output_span)
|
| 154 |
docs.append({f'output': output_spans})
|
|
|
|
| 131 |
|
| 132 |
output_spans = []
|
| 133 |
for span in spans:
|
| 134 |
+
if span[0]['label'] in ['ITEMS', 'PRICE']:
|
| 135 |
+
output_span = {"text": ' '.join([entity['text'] for entity in span]) + '|',
|
| 136 |
"label": span[0]['label'],
|
| 137 |
"words": [{
|
| 138 |
+
'id': entity['id'],
|
| 139 |
+
'box': entity['box'],
|
| 140 |
+
'text': entity['text']
|
| 141 |
+
} for entity in span]
|
| 142 |
}
|
| 143 |
else:
|
| 144 |
output_span = {"text": ' '.join([entity['text'] for entity in span]),
|
|
|
|
| 148 |
'box': entity['box'],
|
| 149 |
'text': entity['text']
|
| 150 |
} for entity in span]
|
|
|
|
| 151 |
}
|
| 152 |
output_spans.append(output_span)
|
| 153 |
docs.append({f'output': output_spans})
|
Layoutlmv3_inference/ocr.py
CHANGED
|
@@ -7,7 +7,6 @@ import requests
|
|
| 7 |
import traceback
|
| 8 |
import tempfile
|
| 9 |
|
| 10 |
-
FLASK_DEBUG=1
|
| 11 |
from PIL import Image
|
| 12 |
|
| 13 |
def preprocess_image(image_path, max_file_size_mb=1, target_file_size_mb=0.5):
|
|
@@ -76,41 +75,8 @@ def enhance_txt(img, intensity_increase=20, bilateral_filter_diameter=9, bilater
|
|
| 76 |
img = cv2.bilateralFilter(img, bilateral_filter_diameter, bilateral_filter_sigma_color, bilateral_filter_sigma_space)
|
| 77 |
|
| 78 |
_, binary = cv2.threshold(blurred, threshold, 255, cv2.THRESH_BINARY)
|
|
|
|
| 79 |
|
| 80 |
-
# Find contours in the edged image, keep only the largest ones, and initialize our screen contour
|
| 81 |
-
contours, _ = cv2.findContours(edged.copy(), cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE)
|
| 82 |
-
contours = sorted(contours, key = cv2.contourArea, reverse = True)[:5]
|
| 83 |
-
|
| 84 |
-
# Initialize a variable to hold the screen contour
|
| 85 |
-
screenContour = None
|
| 86 |
-
|
| 87 |
-
# Loop over the contours
|
| 88 |
-
for c in contours:
|
| 89 |
-
# Approximate the contour
|
| 90 |
-
peri = cv2.arcLength(c, True)
|
| 91 |
-
approx = cv2.approxPolyDP(c, 0.02 * peri, True)
|
| 92 |
-
|
| 93 |
-
# If our approximated contour has four points, then we can assume that we have found our screen
|
| 94 |
-
if len(approx) == 4:
|
| 95 |
-
screenContour = approx
|
| 96 |
-
break
|
| 97 |
-
|
| 98 |
-
# If no contour is found or the contour is small, use the whole image
|
| 99 |
-
if screenContour is None or cv2.contourArea(screenContour) < 500:
|
| 100 |
-
screenContour = np.array([[[0, 0]], [[w-1, 0]], [[w-1, h-1]], [[0, h-1]]])
|
| 101 |
-
|
| 102 |
-
# Get the bounding rectangle around the contour
|
| 103 |
-
x, y, w, h = cv2.boundingRect(screenContour)
|
| 104 |
-
|
| 105 |
-
# Check if the bounding rectangle is within the image boundaries
|
| 106 |
-
if x >= 0 and y >= 0 and x + w <= img.shape[1] and y + h <= img.shape[0]:
|
| 107 |
-
# Crop the image using the bounding rectangle
|
| 108 |
-
cropped_img = img[y:y+h, x:x+w]
|
| 109 |
-
else:
|
| 110 |
-
print("Bounding rectangle is out of image boundaries")
|
| 111 |
-
cropped_img = img
|
| 112 |
-
|
| 113 |
-
return cropped_img
|
| 114 |
|
| 115 |
def run_tesseract_on_preprocessed_image(preprocessed_image, image_path):
|
| 116 |
try:
|
|
@@ -126,7 +92,8 @@ def run_tesseract_on_preprocessed_image(preprocessed_image, image_path):
|
|
| 126 |
url = "https://api.ocr.space/parse/image"
|
| 127 |
|
| 128 |
# Define the API key and the language
|
| 129 |
-
api_key = "K88232854988957" # Replace with your actual OCR Space API key
|
|
|
|
| 130 |
language = "eng"
|
| 131 |
|
| 132 |
# Save the preprocessed image
|
|
|
|
| 7 |
import traceback
|
| 8 |
import tempfile
|
| 9 |
|
|
|
|
| 10 |
from PIL import Image
|
| 11 |
|
| 12 |
def preprocess_image(image_path, max_file_size_mb=1, target_file_size_mb=0.5):
|
|
|
|
| 75 |
img = cv2.bilateralFilter(img, bilateral_filter_diameter, bilateral_filter_sigma_color, bilateral_filter_sigma_space)
|
| 76 |
|
| 77 |
_, binary = cv2.threshold(blurred, threshold, 255, cv2.THRESH_BINARY)
|
| 78 |
+
return binary
|
| 79 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 80 |
|
| 81 |
def run_tesseract_on_preprocessed_image(preprocessed_image, image_path):
|
| 82 |
try:
|
|
|
|
| 92 |
url = "https://api.ocr.space/parse/image"
|
| 93 |
|
| 94 |
# Define the API key and the language
|
| 95 |
+
# api_key = "K88232854988957" # Replace with your actual OCR Space API key
|
| 96 |
+
api_key = "K88232854988957"
|
| 97 |
language = "eng"
|
| 98 |
|
| 99 |
# Save the preprocessed image
|
Layoutlmv3_inference/ocr2.py
ADDED
|
@@ -0,0 +1,233 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import os
|
| 2 |
+
import pandas as pd
|
| 3 |
+
import cv2
|
| 4 |
+
import numpy as np
|
| 5 |
+
import json
|
| 6 |
+
import requests
|
| 7 |
+
import traceback
|
| 8 |
+
import tempfile
|
| 9 |
+
|
| 10 |
+
FLASK_DEBUG=1
|
| 11 |
+
from PIL import Image
|
| 12 |
+
|
| 13 |
+
def preprocess_image(image_path, max_file_size_mb=1, target_file_size_mb=0.5):
|
| 14 |
+
try:
|
| 15 |
+
# Read the image
|
| 16 |
+
image = cv2.imread(image_path)
|
| 17 |
+
# Enhance text
|
| 18 |
+
enhanced = enhance_txt(image)
|
| 19 |
+
|
| 20 |
+
# Save the enhanced image to a temporary file
|
| 21 |
+
temp_file_path = tempfile.NamedTemporaryFile(suffix='.jpg').name
|
| 22 |
+
cv2.imwrite(temp_file_path, enhanced)
|
| 23 |
+
|
| 24 |
+
# Check file size of the temporary file
|
| 25 |
+
file_size_mb = os.path.getsize(temp_file_path) / (1024 * 1024) # Convert to megabytes
|
| 26 |
+
|
| 27 |
+
while file_size_mb > max_file_size_mb:
|
| 28 |
+
print(f"File size ({file_size_mb} MB) exceeds the maximum allowed size ({max_file_size_mb} MB). Resizing the image.")
|
| 29 |
+
ratio = np.sqrt(target_file_size_mb / file_size_mb)
|
| 30 |
+
new_width = int(image.shape[1] * ratio)
|
| 31 |
+
new_height = int(image.shape[0] * ratio)
|
| 32 |
+
|
| 33 |
+
# Resize the image
|
| 34 |
+
enhanced = cv2.resize(enhanced, (new_width, new_height))
|
| 35 |
+
|
| 36 |
+
# Save the resized image to a temporary file
|
| 37 |
+
temp_file_path = tempfile.NamedTemporaryFile(suffix='.jpg').name
|
| 38 |
+
cv2.imwrite(temp_file_path, enhanced)
|
| 39 |
+
|
| 40 |
+
# Update file size
|
| 41 |
+
file_size_mb = os.path.getsize(temp_file_path) / (1024 * 1024)
|
| 42 |
+
print(f"New file size: ({file_size_mb} MB)")
|
| 43 |
+
|
| 44 |
+
# Return the final resized image
|
| 45 |
+
image_resized = cv2.imread(temp_file_path)
|
| 46 |
+
return image_resized
|
| 47 |
+
|
| 48 |
+
except Exception as e:
|
| 49 |
+
print(f"An error occurred in preprocess_image: {str(e)}")
|
| 50 |
+
return None
|
| 51 |
+
|
| 52 |
+
|
| 53 |
+
def enhance_txt(img, intensity_increase=20, bilateral_filter_diameter=9, bilateral_filter_sigma_color=75, bilateral_filter_sigma_space=75):
|
| 54 |
+
# Get the width and height of the image
|
| 55 |
+
w = img.shape[1]
|
| 56 |
+
h = img.shape[0]
|
| 57 |
+
w1 = int(w * 0.05)
|
| 58 |
+
w2 = int(w * 0.95)
|
| 59 |
+
h1 = int(h * 0.05)
|
| 60 |
+
h2 = int(h * 0.95)
|
| 61 |
+
ROI = img[h1:h2, w1:w2] # 95% of the center of the image
|
| 62 |
+
threshold = np.mean(ROI) * 0.88 # % of average brightness
|
| 63 |
+
|
| 64 |
+
# Convert image to grayscale
|
| 65 |
+
grayscale_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
|
| 66 |
+
|
| 67 |
+
# Apply Gaussian blur
|
| 68 |
+
blurred = cv2.GaussianBlur(grayscale_img, (1, 1), 0)
|
| 69 |
+
|
| 70 |
+
edged = 255 - cv2.Canny(blurred, 100, 150, apertureSize=7)
|
| 71 |
+
|
| 72 |
+
# Increase intensity by adding a constant value
|
| 73 |
+
img = np.clip(img + intensity_increase, 0, 255).astype(np.uint8)
|
| 74 |
+
|
| 75 |
+
# Apply bilateral filter to reduce noise
|
| 76 |
+
img = cv2.bilateralFilter(img, bilateral_filter_diameter, bilateral_filter_sigma_color, bilateral_filter_sigma_space)
|
| 77 |
+
|
| 78 |
+
_, binary = cv2.threshold(blurred, threshold, 255, cv2.THRESH_BINARY)
|
| 79 |
+
|
| 80 |
+
# Find contours in the edged image, keep only the largest ones, and initialize our screen contour
|
| 81 |
+
contours, _ = cv2.findContours(edged.copy(), cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE)
|
| 82 |
+
contours = sorted(contours, key = cv2.contourArea, reverse = True)[:5]
|
| 83 |
+
|
| 84 |
+
# Initialize a variable to hold the screen contour
|
| 85 |
+
screenContour = None
|
| 86 |
+
|
| 87 |
+
# Loop over the contours
|
| 88 |
+
for c in contours:
|
| 89 |
+
# Approximate the contour
|
| 90 |
+
peri = cv2.arcLength(c, True)
|
| 91 |
+
approx = cv2.approxPolyDP(c, 0.02 * peri, True)
|
| 92 |
+
|
| 93 |
+
# If our approximated contour has four points, then we can assume that we have found our screen
|
| 94 |
+
if len(approx) == 4:
|
| 95 |
+
screenContour = approx
|
| 96 |
+
break
|
| 97 |
+
|
| 98 |
+
# If no contour is found or the contour is small, use the whole image
|
| 99 |
+
if screenContour is None or cv2.contourArea(screenContour) < 500:
|
| 100 |
+
screenContour = np.array([[[0, 0]], [[w-1, 0]], [[w-1, h-1]], [[0, h-1]]])
|
| 101 |
+
|
| 102 |
+
# Get the bounding rectangle around the contour
|
| 103 |
+
x, y, w, h = cv2.boundingRect(screenContour)
|
| 104 |
+
|
| 105 |
+
# Check if the bounding rectangle is within the image boundaries
|
| 106 |
+
if x >= 0 and y >= 0 and x + w <= img.shape[1] and y + h <= img.shape[0]:
|
| 107 |
+
# Crop the image using the bounding rectangle
|
| 108 |
+
cropped_img = img[y:y+h, x:x+w]
|
| 109 |
+
else:
|
| 110 |
+
print("Bounding rectangle is out of image boundaries")
|
| 111 |
+
cropped_img = img
|
| 112 |
+
|
| 113 |
+
return cropped_img
|
| 114 |
+
|
| 115 |
+
def run_tesseract_on_preprocessed_image(preprocessed_image, image_path):
|
| 116 |
+
try:
|
| 117 |
+
image_name = os.path.basename(image_path)
|
| 118 |
+
image_name = image_name[:image_name.find('.')]
|
| 119 |
+
|
| 120 |
+
# Create the "temp" folder if it doesn't exist
|
| 121 |
+
temp_folder = "static/temp"
|
| 122 |
+
if not os.path.exists(temp_folder):
|
| 123 |
+
os.makedirs(temp_folder)
|
| 124 |
+
|
| 125 |
+
# Define the OCR API endpoint
|
| 126 |
+
url = "https://api.ocr.space/parse/image"
|
| 127 |
+
|
| 128 |
+
# Define the API key and the language
|
| 129 |
+
api_key = "K88232854988957" # Replace with your actual OCR Space API key
|
| 130 |
+
language = "eng"
|
| 131 |
+
|
| 132 |
+
# Save the preprocessed image
|
| 133 |
+
cv2.imwrite(os.path.join(temp_folder, f"{image_name}_preprocessed.jpg"), preprocessed_image)
|
| 134 |
+
|
| 135 |
+
# Open the preprocessed image file as binary
|
| 136 |
+
with open(os.path.join(temp_folder, f"{image_name}_preprocessed.jpg"), "rb") as f:
|
| 137 |
+
# Define the payload for the API request
|
| 138 |
+
payload = {
|
| 139 |
+
"apikey": api_key,
|
| 140 |
+
"language": language,
|
| 141 |
+
"isOverlayRequired": True,
|
| 142 |
+
"OCREngine": 2
|
| 143 |
+
}
|
| 144 |
+
# Define the file parameter for the API request
|
| 145 |
+
file = {
|
| 146 |
+
"file": f
|
| 147 |
+
}
|
| 148 |
+
# Send the POST request to the OCR API
|
| 149 |
+
response = requests.post(url, data=payload, files=file)
|
| 150 |
+
|
| 151 |
+
# Check the status code of the response
|
| 152 |
+
if response.status_code == 200:
|
| 153 |
+
# Parse the JSON response
|
| 154 |
+
result = response.json()
|
| 155 |
+
print("---JSON file saved")
|
| 156 |
+
# Save the OCR result as JSON
|
| 157 |
+
with open(os.path.join(temp_folder, f"{image_name}_ocr.json"), 'w') as f:
|
| 158 |
+
json.dump(result, f)
|
| 159 |
+
|
| 160 |
+
return os.path.join(temp_folder, f"{image_name}_ocr.json")
|
| 161 |
+
else:
|
| 162 |
+
# Print the error message
|
| 163 |
+
print("Error: " + response.text)
|
| 164 |
+
return None
|
| 165 |
+
|
| 166 |
+
except Exception as e:
|
| 167 |
+
print(f"An error occurred during OCR request: {str(e)}")
|
| 168 |
+
return None
|
| 169 |
+
|
| 170 |
+
def clean_tesseract_output(json_output_path):
|
| 171 |
+
try:
|
| 172 |
+
with open(json_output_path, 'r') as json_file:
|
| 173 |
+
data = json.load(json_file)
|
| 174 |
+
|
| 175 |
+
lines = data['ParsedResults'][0]['TextOverlay']['Lines']
|
| 176 |
+
|
| 177 |
+
words = []
|
| 178 |
+
for line in lines:
|
| 179 |
+
for word_info in line['Words']:
|
| 180 |
+
word = {}
|
| 181 |
+
origin_box = [
|
| 182 |
+
word_info['Left'],
|
| 183 |
+
word_info['Top'],
|
| 184 |
+
word_info['Left'] + word_info['Width'],
|
| 185 |
+
word_info['Top'] + word_info['Height']
|
| 186 |
+
]
|
| 187 |
+
|
| 188 |
+
word['word_text'] = word_info['WordText']
|
| 189 |
+
word['word_box'] = origin_box
|
| 190 |
+
words.append(word)
|
| 191 |
+
|
| 192 |
+
return words
|
| 193 |
+
except (KeyError, IndexError, FileNotFoundError, json.JSONDecodeError) as e:
|
| 194 |
+
print(f"Error cleaning Tesseract output: {str(e)}")
|
| 195 |
+
return None
|
| 196 |
+
|
| 197 |
+
def prepare_batch_for_inference(image_paths):
|
| 198 |
+
# print("my_function was called")
|
| 199 |
+
# traceback.print_stack() # This will print the stack trace
|
| 200 |
+
print(f"Number of images to process: {len(image_paths)}") # Print the total number of images to be processed
|
| 201 |
+
print("1. Preparing for Inference")
|
| 202 |
+
tsv_output_paths = []
|
| 203 |
+
|
| 204 |
+
inference_batch = dict()
|
| 205 |
+
print("2. Starting Preprocessing")
|
| 206 |
+
# Ensure that the image is only 1
|
| 207 |
+
for image_path in image_paths:
|
| 208 |
+
print(f"Processing the image: {image_path}") # Print the image being processed
|
| 209 |
+
print("3. Preprocessing the Receipt")
|
| 210 |
+
preprocessed_image = preprocess_image(image_path)
|
| 211 |
+
if preprocessed_image is not None:
|
| 212 |
+
print("4. Preprocessing done. Running OCR")
|
| 213 |
+
json_output_path = run_tesseract_on_preprocessed_image(preprocessed_image, image_path)
|
| 214 |
+
print("5. OCR Complete")
|
| 215 |
+
if json_output_path:
|
| 216 |
+
tsv_output_paths.append(json_output_path)
|
| 217 |
+
|
| 218 |
+
print("6. Preprocessing and OCR Done")
|
| 219 |
+
# clean_outputs is a list of lists
|
| 220 |
+
clean_outputs = [clean_tesseract_output(tsv_path) for tsv_path in tsv_output_paths]
|
| 221 |
+
print("7. Cleaned OCR output")
|
| 222 |
+
word_lists = [[word['word_text'] for word in clean_output] for clean_output in clean_outputs]
|
| 223 |
+
print("8. Word List Created")
|
| 224 |
+
boxes_lists = [[word['word_box'] for word in clean_output] for clean_output in clean_outputs]
|
| 225 |
+
print("9. Box List Created")
|
| 226 |
+
inference_batch = {
|
| 227 |
+
"image_path": image_paths,
|
| 228 |
+
"bboxes": boxes_lists,
|
| 229 |
+
"words": word_lists
|
| 230 |
+
}
|
| 231 |
+
|
| 232 |
+
print("10. Prepared for Inference Batch")
|
| 233 |
+
return inference_batch
|
app.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
|
| 2 |
# Dependencies
|
| 3 |
-
from flask import Flask, request, render_template, jsonify, send_file, redirect, url_for, flash, send_from_directory, session
|
| 4 |
from PIL import Image, ImageDraw
|
| 5 |
import torch
|
| 6 |
from transformers import LayoutLMv2ForTokenClassification, LayoutLMv3Tokenizer
|
|
@@ -15,7 +15,6 @@ import sys
|
|
| 15 |
from fastai import *
|
| 16 |
from fastai.vision import *
|
| 17 |
from fastai.metrics import error_rate
|
| 18 |
-
from fastai.learner import load_learner
|
| 19 |
from werkzeug.utils import secure_filename
|
| 20 |
import pandas as pd
|
| 21 |
from itertools import zip_longest
|
|
@@ -25,7 +24,6 @@ import signal
|
|
| 25 |
import shutil
|
| 26 |
from datetime import datetime
|
| 27 |
import zipfile
|
| 28 |
-
from pathlib import Path
|
| 29 |
|
| 30 |
# LLM
|
| 31 |
import argparse
|
|
@@ -104,24 +102,36 @@ def upload_files():
|
|
| 104 |
|
| 105 |
|
| 106 |
def make_predictions(image_paths):
|
| 107 |
-
|
| 108 |
-
|
| 109 |
-
|
| 110 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 111 |
|
| 112 |
-
|
| 113 |
-
|
| 114 |
-
|
| 115 |
|
| 116 |
-
|
| 117 |
-
|
| 118 |
|
| 119 |
-
|
| 120 |
-
|
| 121 |
-
|
| 122 |
-
|
|
|
|
|
|
|
| 123 |
|
| 124 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 125 |
|
| 126 |
|
| 127 |
@app.route('/predict/<filenames>', methods=['GET', 'POST'])
|
|
@@ -222,10 +232,10 @@ def stop_inference():
|
|
| 222 |
logging.error(f"Error terminating run_inference process: {err}")
|
| 223 |
|
| 224 |
# Define a function to replace all symbols with periods
|
| 225 |
-
def replace_symbols_with_period(
|
| 226 |
-
#
|
| 227 |
-
|
| 228 |
-
|
| 229 |
|
| 230 |
|
| 231 |
@app.route('/create_csv', methods=['GET'])
|
|
@@ -257,8 +267,13 @@ def create_csv():
|
|
| 257 |
label_texts = {}
|
| 258 |
for item in all_data:
|
| 259 |
label = item['label']
|
| 260 |
-
text = item['text']
|
| 261 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 262 |
|
| 263 |
# Writing data to CSV file with ordered columns
|
| 264 |
csv_file_path = os.path.join(output_folder_path, os.path.splitext(filename)[0] + '.csv')
|
|
@@ -268,18 +283,20 @@ def create_csv():
|
|
| 268 |
csv_writer.writeheader()
|
| 269 |
|
| 270 |
# Constructing rows for the CSV file
|
| 271 |
-
|
| 272 |
-
prices = label_texts.get('PRICE', '').split()
|
| 273 |
-
max_length = max(len(items), len(prices))
|
| 274 |
for i in range(max_length):
|
| 275 |
row_data = {}
|
| 276 |
for label in column_order:
|
| 277 |
-
|
| 278 |
-
|
| 279 |
-
|
| 280 |
-
|
| 281 |
-
|
| 282 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 283 |
csv_writer.writerow(row_data)
|
| 284 |
|
| 285 |
# Combining contents of CSV files into a single CSV file
|
|
@@ -305,6 +322,10 @@ def create_csv():
|
|
| 305 |
print(f"An error occurred in create_csv: {str(e)}")
|
| 306 |
return None
|
| 307 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 308 |
except FileNotFoundError as e:
|
| 309 |
print(f"File not found error: {str(e)}")
|
| 310 |
return jsonify({'error': 'File not found.'}), 404
|
|
@@ -322,17 +343,16 @@ def create_csv():
|
|
| 322 |
def get_data():
|
| 323 |
return send_from_directory('static/temp/inferenced','output.csv', as_attachment=False)
|
| 324 |
|
| 325 |
-
from flask import jsonify
|
| 326 |
|
| 327 |
-
@app.route('/download_csv', methods=['
|
| 328 |
def download_csv():
|
| 329 |
try:
|
| 330 |
-
|
| 331 |
-
|
| 332 |
-
|
| 333 |
-
|
| 334 |
-
|
| 335 |
-
|
| 336 |
except Exception as e:
|
| 337 |
return jsonify({"error": f"Download failed: {str(e)}"})
|
| 338 |
|
|
|
|
| 1 |
|
| 2 |
# Dependencies
|
| 3 |
+
from flask import Flask, request, render_template, jsonify, send_file, redirect, url_for, flash, send_from_directory, session, Response
|
| 4 |
from PIL import Image, ImageDraw
|
| 5 |
import torch
|
| 6 |
from transformers import LayoutLMv2ForTokenClassification, LayoutLMv3Tokenizer
|
|
|
|
| 15 |
from fastai import *
|
| 16 |
from fastai.vision import *
|
| 17 |
from fastai.metrics import error_rate
|
|
|
|
| 18 |
from werkzeug.utils import secure_filename
|
| 19 |
import pandas as pd
|
| 20 |
from itertools import zip_longest
|
|
|
|
| 24 |
import shutil
|
| 25 |
from datetime import datetime
|
| 26 |
import zipfile
|
|
|
|
| 27 |
|
| 28 |
# LLM
|
| 29 |
import argparse
|
|
|
|
| 102 |
|
| 103 |
|
| 104 |
def make_predictions(image_paths):
|
| 105 |
+
temp = None
|
| 106 |
+
try:
|
| 107 |
+
# For Windows OS
|
| 108 |
+
temp = pathlib.PosixPath # Save the original state
|
| 109 |
+
pathlib.PosixPath = pathlib.WindowsPath # Change to WindowsPath temporarily
|
| 110 |
+
|
| 111 |
+
model_path = Path(r'model/export')
|
| 112 |
+
learner = load_learner(model_path)
|
| 113 |
+
|
| 114 |
+
predictions = []
|
| 115 |
|
| 116 |
+
for image_path in image_paths:
|
| 117 |
+
# Open the image using fastai's open_image function
|
| 118 |
+
image = open_image(image_path)
|
| 119 |
|
| 120 |
+
# Make a prediction
|
| 121 |
+
prediction_class, prediction_idx, probabilities = learner.predict(image)
|
| 122 |
|
| 123 |
+
# If you want the predicted class as a string
|
| 124 |
+
predicted_class_str = str(prediction_class)
|
| 125 |
+
|
| 126 |
+
predictions.append(predicted_class_str)
|
| 127 |
+
|
| 128 |
+
return predictions
|
| 129 |
|
| 130 |
+
except Exception as e:
|
| 131 |
+
return {"error in make_predictions": str(e)}
|
| 132 |
+
|
| 133 |
+
finally:
|
| 134 |
+
pathlib.PosixPath = temp
|
| 135 |
|
| 136 |
|
| 137 |
@app.route('/predict/<filenames>', methods=['GET', 'POST'])
|
|
|
|
| 232 |
logging.error(f"Error terminating run_inference process: {err}")
|
| 233 |
|
| 234 |
# Define a function to replace all symbols with periods
|
| 235 |
+
def replace_symbols_with_period(text):
|
| 236 |
+
# Replace all non-alphanumeric characters with a period
|
| 237 |
+
text = re.sub(r'\W+', '.', text)
|
| 238 |
+
return text
|
| 239 |
|
| 240 |
|
| 241 |
@app.route('/create_csv', methods=['GET'])
|
|
|
|
| 267 |
label_texts = {}
|
| 268 |
for item in all_data:
|
| 269 |
label = item['label']
|
| 270 |
+
text = item['text'].replace('|', '') # Strip the pipe character
|
| 271 |
+
if label == 'VATTAX' or label == 'TOTAL':
|
| 272 |
+
text = replace_symbols_with_period(text.replace(' ', '')) # Remove spaces and replace symbols with periods
|
| 273 |
+
if label in label_texts:
|
| 274 |
+
label_texts[label].append(text)
|
| 275 |
+
else:
|
| 276 |
+
label_texts[label] = [text]
|
| 277 |
|
| 278 |
# Writing data to CSV file with ordered columns
|
| 279 |
csv_file_path = os.path.join(output_folder_path, os.path.splitext(filename)[0] + '.csv')
|
|
|
|
| 283 |
csv_writer.writeheader()
|
| 284 |
|
| 285 |
# Constructing rows for the CSV file
|
| 286 |
+
max_length = max(len(v) for v in label_texts.values())
|
|
|
|
|
|
|
| 287 |
for i in range(max_length):
|
| 288 |
row_data = {}
|
| 289 |
for label in column_order:
|
| 290 |
+
if label in label_texts: # Check if the label exists in the dictionary
|
| 291 |
+
if label == 'ITEMS' or label == 'PRICE':
|
| 292 |
+
if i < len(label_texts.get(label, [])):
|
| 293 |
+
row_data[label] = label_texts[label][i]
|
| 294 |
+
else:
|
| 295 |
+
row_data[label] = ''
|
| 296 |
+
else:
|
| 297 |
+
row_data[label] = label_texts[label][0]
|
| 298 |
+
else:
|
| 299 |
+
row_data[label] = '' # If the label does not exist, set the value to an empty string
|
| 300 |
csv_writer.writerow(row_data)
|
| 301 |
|
| 302 |
# Combining contents of CSV files into a single CSV file
|
|
|
|
| 322 |
print(f"An error occurred in create_csv: {str(e)}")
|
| 323 |
return None
|
| 324 |
|
| 325 |
+
except Exception as e:
|
| 326 |
+
print(f"An error occurred in create_csv: {str(e)}")
|
| 327 |
+
return None
|
| 328 |
+
|
| 329 |
except FileNotFoundError as e:
|
| 330 |
print(f"File not found error: {str(e)}")
|
| 331 |
return jsonify({'error': 'File not found.'}), 404
|
|
|
|
| 343 |
def get_data():
|
| 344 |
return send_from_directory('static/temp/inferenced','output.csv', as_attachment=False)
|
| 345 |
|
|
|
|
| 346 |
|
| 347 |
+
@app.route('/download_csv', methods=['POST'])
|
| 348 |
def download_csv():
|
| 349 |
try:
|
| 350 |
+
csv_data = request.data.decode('utf-8') # Get the CSV data from the request
|
| 351 |
+
return Response(
|
| 352 |
+
csv_data,
|
| 353 |
+
mimetype="text/csv",
|
| 354 |
+
headers={"Content-disposition":
|
| 355 |
+
"attachment; filename=output.csv"})
|
| 356 |
except Exception as e:
|
| 357 |
return jsonify({"error": f"Download failed: {str(e)}"})
|
| 358 |
|
inferenced/csv_files/Output_0.csv
DELETED
|
@@ -1,3 +0,0 @@
|
|
| 1 |
-
RECEIPTNUMBER,MERCHANTNAME,MERCHANTADDRESS,TRANSACTIONDATE,TRANSACTIONTIME,ITEMS,PRICE,TOTAL,VATTAX
|
| 2 |
-
# 1457229,7 - ELEVEN �,"Poblacion , Leon , Iloilo ,",05 / 01 / 2023 ( Mon ),16 : 54 : 23,NESTEALEMICET500ML,35.000,76.00,8.14
|
| 3 |
-
# 1457229,7 - ELEVEN �,"Poblacion , Leon , Iloilo ,",05 / 01 / 2023 ( Mon ),16 : 54 : 23,ArlaGStrwbryT200ml,41.000,76.00,8.14
|
|
|
|
|
|
|
|
|
|
|
|
inferenced/output.csv
DELETED
|
@@ -1,3 +0,0 @@
|
|
| 1 |
-
RECEIPTNUMBER,MERCHANTNAME,MERCHANTADDRESS,TRANSACTIONDATE,TRANSACTIONTIME,ITEMS,PRICE,TOTAL,VATTAX
|
| 2 |
-
# 1457229,7 - ELEVEN �,"Poblacion , Leon , Iloilo ,",05 / 01 / 2023 ( Mon ),16 : 54 : 23,NESTEALEMICET500ML,35.000,76.00,8.14
|
| 3 |
-
# 1457229,7 - ELEVEN �,"Poblacion , Leon , Iloilo ,",05 / 01 / 2023 ( Mon ),16 : 54 : 23,ArlaGStrwbryT200ml,41.000,76.00,8.14
|
|
|
|
|
|
|
|
|
|
|
|
log/error_output.log
CHANGED
|
@@ -645,3 +645,498 @@ TypeError: The view function for 'create_csv' did not return a valid response. T
|
|
| 645 |
2024-05-14 23:36:06,565 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:36:06] "[36mGET /static/js/site.js HTTP/1.1[0m" 304 -
|
| 646 |
2024-05-14 23:36:08,126 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:36:08] "[36mGET /static/images/favicon.ico HTTP/1.1[0m" 304 -
|
| 647 |
2024-05-14 23:36:39,815 INFO werkzeug * Detected change in 'C:\\Users\\Ayoo\\Desktop\\bewwebapp\\app.py', reloading
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 645 |
2024-05-14 23:36:06,565 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:36:06] "[36mGET /static/js/site.js HTTP/1.1[0m" 304 -
|
| 646 |
2024-05-14 23:36:08,126 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:36:08] "[36mGET /static/images/favicon.ico HTTP/1.1[0m" 304 -
|
| 647 |
2024-05-14 23:36:39,815 INFO werkzeug * Detected change in 'C:\\Users\\Ayoo\\Desktop\\bewwebapp\\app.py', reloading
|
| 648 |
+
2024-05-15 15:06:02,225 ERROR app 'NoneType' object is not iterable
|
| 649 |
+
2024-05-15 15:06:02,238 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:02] "[32mGET /run_inference HTTP/1.1[0m" 302 -
|
| 650 |
+
2024-05-15 15:06:02,287 ERROR app Exception on /create_csv [GET]
|
| 651 |
+
Traceback (most recent call last):
|
| 652 |
+
File "C:\Users\Ayoo\anaconda3\lib\site-packages\flask\app.py", line 2525, in wsgi_app
|
| 653 |
+
response = self.full_dispatch_request()
|
| 654 |
+
File "C:\Users\Ayoo\anaconda3\lib\site-packages\flask\app.py", line 1823, in full_dispatch_request
|
| 655 |
+
return self.finalize_request(rv)
|
| 656 |
+
File "C:\Users\Ayoo\anaconda3\lib\site-packages\flask\app.py", line 1842, in finalize_request
|
| 657 |
+
response = self.make_response(rv)
|
| 658 |
+
File "C:\Users\Ayoo\anaconda3\lib\site-packages\flask\app.py", line 2134, in make_response
|
| 659 |
+
raise TypeError(
|
| 660 |
+
TypeError: The view function for 'create_csv' did not return a valid response. The function either returned None or ended without a return statement.
|
| 661 |
+
2024-05-15 15:06:02,300 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:02] "[35m[1mGET /create_csv HTTP/1.1[0m" 500 -
|
| 662 |
+
2024-05-15 15:06:03,126 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:03] "[33mGET /get_data HTTP/1.1[0m" 404 -
|
| 663 |
+
2024-05-15 15:06:03,142 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:03] "[33mGET /static/temp/img_display/sample1_grace.jpg_inference.jpg HTTP/1.1[0m" 404 -
|
| 664 |
+
2024-05-15 15:06:40,142 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:40] "GET / HTTP/1.1" 200 -
|
| 665 |
+
2024-05-15 15:06:40,208 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:40] "[33mGET /styles.css HTTP/1.1[0m" 404 -
|
| 666 |
+
2024-05-15 15:06:40,227 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:40] "[36mGET /static/css/style.css HTTP/1.1[0m" 304 -
|
| 667 |
+
2024-05-15 15:06:40,235 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:40] "[36mGET /static/css/color.css HTTP/1.1[0m" 304 -
|
| 668 |
+
2024-05-15 15:06:40,243 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:40] "[36mGET /static/css/font-awesome.min.css HTTP/1.1[0m" 304 -
|
| 669 |
+
2024-05-15 15:06:40,247 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:40] "[36mGET /static/css/animate.css HTTP/1.1[0m" 304 -
|
| 670 |
+
2024-05-15 15:06:40,264 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:40] "[36mGET /static/images/logo.png HTTP/1.1[0m" 304 -
|
| 671 |
+
2024-05-15 15:06:40,280 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:40] "[36mGET /static/js/jquery.1.8.3.min.js HTTP/1.1[0m" 304 -
|
| 672 |
+
2024-05-15 15:06:40,283 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:40] "[36mGET /static/js/wow.min.js HTTP/1.1[0m" 304 -
|
| 673 |
+
2024-05-15 15:06:40,287 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:40] "[36mGET /static/images/uplogo.gif HTTP/1.1[0m" 304 -
|
| 674 |
+
2024-05-15 15:06:40,292 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:40] "[36mGET /static/js/featherlight.min.js HTTP/1.1[0m" 304 -
|
| 675 |
+
2024-05-15 15:06:40,295 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:40] "[36mGET /static/js/featherlight.gallery.min.js HTTP/1.1[0m" 304 -
|
| 676 |
+
2024-05-15 15:06:40,319 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:40] "[36mGET /static/js/jquery.enllax.min.js HTTP/1.1[0m" 304 -
|
| 677 |
+
2024-05-15 15:06:40,335 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:40] "[36mGET /static/js/jquery.scrollUp.min.js HTTP/1.1[0m" 304 -
|
| 678 |
+
2024-05-15 15:06:40,340 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:40] "[33mGET /static/static/js/jquery.stickyNavbar.min.js HTTP/1.1[0m" 404 -
|
| 679 |
+
2024-05-15 15:06:40,348 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:40] "[36mGET /static/js/jquery.easing.min.js HTTP/1.1[0m" 304 -
|
| 680 |
+
2024-05-15 15:06:40,366 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:40] "[36mGET /static/js/jquery.waypoints.min.js HTTP/1.1[0m" 304 -
|
| 681 |
+
2024-05-15 15:06:40,371 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:40] "[36mGET /static/js/images-loaded.min.js HTTP/1.1[0m" 304 -
|
| 682 |
+
2024-05-15 15:06:40,374 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:40] "[36mGET /static/js/lightbox.min.js HTTP/1.1[0m" 304 -
|
| 683 |
+
2024-05-15 15:06:40,385 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:40] "[36mGET /static/js/site.js HTTP/1.1[0m" 304 -
|
| 684 |
+
2024-05-15 15:06:43,388 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:43] "[36mGET /static/images/favicon.ico HTTP/1.1[0m" 304 -
|
| 685 |
+
2024-05-15 15:06:55,940 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:55] "[32mPOST /upload HTTP/1.1[0m" 302 -
|
| 686 |
+
2024-05-15 15:06:56,852 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:56] "GET /predict/%5B'sample1_grace.jpg'%5D HTTP/1.1" 200 -
|
| 687 |
+
2024-05-15 15:06:56,915 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:56] "[33mGET /predict/css/animate.css HTTP/1.1[0m" 404 -
|
| 688 |
+
2024-05-15 15:06:56,917 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:56] "[36mGET /static/css/color.css HTTP/1.1[0m" 304 -
|
| 689 |
+
2024-05-15 15:06:56,918 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:56] "[36mGET /static/css/style.css HTTP/1.1[0m" 304 -
|
| 690 |
+
2024-05-15 15:06:56,920 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:56] "[36mGET /static/css/font-awesome.min.css HTTP/1.1[0m" 304 -
|
| 691 |
+
2024-05-15 15:06:56,953 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:56] "[36mGET /static/images/logo.png HTTP/1.1[0m" 304 -
|
| 692 |
+
2024-05-15 15:06:56,954 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:56] "GET /static/temp/img_display/sample1_grace.jpg HTTP/1.1" 200 -
|
| 693 |
+
2024-05-15 15:06:57,035 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:57] "[36mGET /static/js/jquery.1.8.3.min.js HTTP/1.1[0m" 304 -
|
| 694 |
+
2024-05-15 15:06:57,042 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:57] "[36mGET /static/images/avatar.gif HTTP/1.1[0m" 304 -
|
| 695 |
+
2024-05-15 15:06:57,053 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:57] "[36mGET /static/js/wow.min.js HTTP/1.1[0m" 304 -
|
| 696 |
+
2024-05-15 15:06:57,057 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:57] "[36mGET /static/js/featherlight.min.js HTTP/1.1[0m" 304 -
|
| 697 |
+
2024-05-15 15:06:57,069 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:57] "[36mGET /static/js/featherlight.gallery.min.js HTTP/1.1[0m" 304 -
|
| 698 |
+
2024-05-15 15:06:57,070 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:57] "[36mGET /static/js/jquery.enllax.min.js HTTP/1.1[0m" 304 -
|
| 699 |
+
2024-05-15 15:06:57,099 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:57] "[36mGET /static/js/jquery.scrollUp.min.js HTTP/1.1[0m" 304 -
|
| 700 |
+
2024-05-15 15:06:57,107 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:57] "[36mGET /static/js/jquery.easing.min.js HTTP/1.1[0m" 304 -
|
| 701 |
+
2024-05-15 15:06:57,114 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:57] "[36mGET /static/js/jquery.waypoints.min.js HTTP/1.1[0m" 304 -
|
| 702 |
+
2024-05-15 15:06:57,135 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:57] "[36mGET /static/js/images-loaded.min.js HTTP/1.1[0m" 304 -
|
| 703 |
+
2024-05-15 15:06:57,137 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:57] "[36mGET /static/js/jquery.stickyNavbar.min.js HTTP/1.1[0m" 304 -
|
| 704 |
+
2024-05-15 15:06:57,148 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:57] "[36mGET /static/js/lightbox.min.js HTTP/1.1[0m" 304 -
|
| 705 |
+
2024-05-15 15:06:57,150 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:57] "[36mGET /static/js/site.js HTTP/1.1[0m" 304 -
|
| 706 |
+
2024-05-15 15:06:57,307 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:06:57] "[36mGET /static/images/favicon.ico HTTP/1.1[0m" 304 -
|
| 707 |
+
2024-05-15 15:07:46,204 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:07:46] "[32mGET /run_inference HTTP/1.1[0m" 302 -
|
| 708 |
+
2024-05-15 15:07:46,233 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:07:46] "[35m[1mGET /create_csv HTTP/1.1[0m" 204 -
|
| 709 |
+
2024-05-15 15:07:46,800 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:07:46] "GET /get_data HTTP/1.1" 200 -
|
| 710 |
+
2024-05-15 15:07:46,804 INFO werkzeug 127.0.0.1 - - [15/May/2024 15:07:46] "GET /static/temp/img_display/sample1_grace.jpg_inference.jpg HTTP/1.1" 200 -
|
| 711 |
+
2024-05-15 16:06:00,097 ERROR app 'NoneType' object is not iterable
|
| 712 |
+
2024-05-15 16:06:00,108 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:00] "[32mGET /run_inference HTTP/1.1[0m" 302 -
|
| 713 |
+
2024-05-15 16:06:00,179 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:00] "[35m[1mGET /create_csv HTTP/1.1[0m" 500 -
|
| 714 |
+
2024-05-15 16:06:00,738 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:00] "[33mGET /static/temp/img_display/sample1_711.jpg_inference.jpg HTTP/1.1[0m" 404 -
|
| 715 |
+
2024-05-15 16:06:00,771 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:00] "[33mGET /get_data HTTP/1.1[0m" 404 -
|
| 716 |
+
2024-05-15 16:06:24,108 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:24] "GET / HTTP/1.1" 200 -
|
| 717 |
+
2024-05-15 16:06:24,171 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:24] "[36mGET /static/css/style.css HTTP/1.1[0m" 304 -
|
| 718 |
+
2024-05-15 16:06:24,188 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:24] "[33mGET /styles.css HTTP/1.1[0m" 404 -
|
| 719 |
+
2024-05-15 16:06:24,206 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:24] "[36mGET /static/css/color.css HTTP/1.1[0m" 304 -
|
| 720 |
+
2024-05-15 16:06:24,212 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:24] "[36mGET /static/css/font-awesome.min.css HTTP/1.1[0m" 304 -
|
| 721 |
+
2024-05-15 16:06:24,222 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:24] "[36mGET /static/css/animate.css HTTP/1.1[0m" 304 -
|
| 722 |
+
2024-05-15 16:06:24,246 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:24] "[36mGET /static/images/uplogo.gif HTTP/1.1[0m" 304 -
|
| 723 |
+
2024-05-15 16:06:24,253 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:24] "[36mGET /static/images/logo.png HTTP/1.1[0m" 304 -
|
| 724 |
+
2024-05-15 16:06:24,264 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:24] "[36mGET /static/js/jquery.1.8.3.min.js HTTP/1.1[0m" 304 -
|
| 725 |
+
2024-05-15 16:06:24,275 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:24] "[36mGET /static/js/wow.min.js HTTP/1.1[0m" 304 -
|
| 726 |
+
2024-05-15 16:06:24,277 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:24] "[36mGET /static/js/featherlight.min.js HTTP/1.1[0m" 304 -
|
| 727 |
+
2024-05-15 16:06:24,292 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:24] "[36mGET /static/js/featherlight.gallery.min.js HTTP/1.1[0m" 304 -
|
| 728 |
+
2024-05-15 16:06:24,301 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:24] "[36mGET /static/js/jquery.enllax.min.js HTTP/1.1[0m" 304 -
|
| 729 |
+
2024-05-15 16:06:24,311 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:24] "[36mGET /static/js/jquery.scrollUp.min.js HTTP/1.1[0m" 304 -
|
| 730 |
+
2024-05-15 16:06:24,325 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:24] "[33mGET /static/static/js/jquery.stickyNavbar.min.js HTTP/1.1[0m" 404 -
|
| 731 |
+
2024-05-15 16:06:24,326 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:24] "[36mGET /static/js/jquery.easing.min.js HTTP/1.1[0m" 304 -
|
| 732 |
+
2024-05-15 16:06:24,344 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:24] "[36mGET /static/js/jquery.waypoints.min.js HTTP/1.1[0m" 304 -
|
| 733 |
+
2024-05-15 16:06:24,361 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:24] "[36mGET /static/js/images-loaded.min.js HTTP/1.1[0m" 304 -
|
| 734 |
+
2024-05-15 16:06:24,364 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:24] "[36mGET /static/js/lightbox.min.js HTTP/1.1[0m" 304 -
|
| 735 |
+
2024-05-15 16:06:24,377 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:24] "[36mGET /static/js/site.js HTTP/1.1[0m" 304 -
|
| 736 |
+
2024-05-15 16:06:27,144 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:27] "[36mGET /static/images/favicon.ico HTTP/1.1[0m" 304 -
|
| 737 |
+
2024-05-15 16:06:33,925 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:33] "[32mPOST /upload HTTP/1.1[0m" 302 -
|
| 738 |
+
2024-05-15 16:06:34,628 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:34] "GET /predict/%5B'sample_coop.jpg'%5D HTTP/1.1" 200 -
|
| 739 |
+
2024-05-15 16:06:34,679 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:34] "[36mGET /static/css/style.css HTTP/1.1[0m" 304 -
|
| 740 |
+
2024-05-15 16:06:34,703 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:34] "[33mGET /predict/css/animate.css HTTP/1.1[0m" 404 -
|
| 741 |
+
2024-05-15 16:06:34,706 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:34] "[36mGET /static/css/color.css HTTP/1.1[0m" 304 -
|
| 742 |
+
2024-05-15 16:06:34,707 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:34] "[36mGET /static/css/font-awesome.min.css HTTP/1.1[0m" 304 -
|
| 743 |
+
2024-05-15 16:06:34,758 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:34] "GET /static/temp/img_display/sample_coop.jpg HTTP/1.1" 200 -
|
| 744 |
+
2024-05-15 16:06:34,761 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:34] "[36mGET /static/images/logo.png HTTP/1.1[0m" 304 -
|
| 745 |
+
2024-05-15 16:06:34,786 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:34] "[36mGET /static/images/avatar.gif HTTP/1.1[0m" 304 -
|
| 746 |
+
2024-05-15 16:06:34,800 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:34] "[36mGET /static/js/jquery.1.8.3.min.js HTTP/1.1[0m" 304 -
|
| 747 |
+
2024-05-15 16:06:34,842 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:34] "[36mGET /static/js/wow.min.js HTTP/1.1[0m" 304 -
|
| 748 |
+
2024-05-15 16:06:34,855 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:34] "[36mGET /static/js/jquery.enllax.min.js HTTP/1.1[0m" 304 -
|
| 749 |
+
2024-05-15 16:06:34,864 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:34] "[36mGET /static/js/featherlight.min.js HTTP/1.1[0m" 304 -
|
| 750 |
+
2024-05-15 16:06:34,900 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:34] "[36mGET /static/js/featherlight.gallery.min.js HTTP/1.1[0m" 304 -
|
| 751 |
+
2024-05-15 16:06:34,916 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:34] "[36mGET /static/js/jquery.scrollUp.min.js HTTP/1.1[0m" 304 -
|
| 752 |
+
2024-05-15 16:06:34,926 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:34] "[36mGET /static/js/jquery.easing.min.js HTTP/1.1[0m" 304 -
|
| 753 |
+
2024-05-15 16:06:34,928 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:34] "[36mGET /static/js/jquery.stickyNavbar.min.js HTTP/1.1[0m" 304 -
|
| 754 |
+
2024-05-15 16:06:34,939 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:34] "[36mGET /static/js/jquery.waypoints.min.js HTTP/1.1[0m" 304 -
|
| 755 |
+
2024-05-15 16:06:34,950 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:34] "[36mGET /static/js/images-loaded.min.js HTTP/1.1[0m" 304 -
|
| 756 |
+
2024-05-15 16:06:34,956 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:34] "[36mGET /static/js/lightbox.min.js HTTP/1.1[0m" 304 -
|
| 757 |
+
2024-05-15 16:06:34,963 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:34] "[36mGET /static/js/site.js HTTP/1.1[0m" 304 -
|
| 758 |
+
2024-05-15 16:06:35,145 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:06:35] "[36mGET /static/images/favicon.ico HTTP/1.1[0m" 304 -
|
| 759 |
+
2024-05-15 16:09:26,641 ERROR app 'NoneType' object is not iterable
|
| 760 |
+
2024-05-15 16:09:26,648 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:26] "[32mGET /run_inference HTTP/1.1[0m" 302 -
|
| 761 |
+
2024-05-15 16:09:26,722 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:26] "[35m[1mGET /create_csv HTTP/1.1[0m" 500 -
|
| 762 |
+
2024-05-15 16:09:28,112 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:28] "[33mGET /get_data HTTP/1.1[0m" 404 -
|
| 763 |
+
2024-05-15 16:09:28,136 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:28] "[33mGET /static/temp/img_display/sample_coop.jpg_inference.jpg HTTP/1.1[0m" 404 -
|
| 764 |
+
2024-05-15 16:09:38,490 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:38] "GET / HTTP/1.1" 200 -
|
| 765 |
+
2024-05-15 16:09:38,543 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:38] "[36mGET /static/css/style.css HTTP/1.1[0m" 304 -
|
| 766 |
+
2024-05-15 16:09:38,555 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:38] "[36mGET /static/css/color.css HTTP/1.1[0m" 304 -
|
| 767 |
+
2024-05-15 16:09:38,577 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:38] "[33mGET /styles.css HTTP/1.1[0m" 404 -
|
| 768 |
+
2024-05-15 16:09:38,583 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:38] "[36mGET /static/css/font-awesome.min.css HTTP/1.1[0m" 304 -
|
| 769 |
+
2024-05-15 16:09:38,591 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:38] "[36mGET /static/css/animate.css HTTP/1.1[0m" 304 -
|
| 770 |
+
2024-05-15 16:09:38,617 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:38] "[36mGET /static/js/jquery.1.8.3.min.js HTTP/1.1[0m" 304 -
|
| 771 |
+
2024-05-15 16:09:38,618 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:38] "[36mGET /static/js/featherlight.min.js HTTP/1.1[0m" 304 -
|
| 772 |
+
2024-05-15 16:09:38,619 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:38] "[36mGET /static/js/wow.min.js HTTP/1.1[0m" 304 -
|
| 773 |
+
2024-05-15 16:09:38,624 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:38] "[36mGET /static/images/logo.png HTTP/1.1[0m" 304 -
|
| 774 |
+
2024-05-15 16:09:38,659 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:38] "[36mGET /static/images/uplogo.gif HTTP/1.1[0m" 304 -
|
| 775 |
+
2024-05-15 16:09:38,664 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:38] "[36mGET /static/js/featherlight.gallery.min.js HTTP/1.1[0m" 304 -
|
| 776 |
+
2024-05-15 16:09:38,682 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:38] "[36mGET /static/js/jquery.scrollUp.min.js HTTP/1.1[0m" 304 -
|
| 777 |
+
2024-05-15 16:09:38,692 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:38] "[36mGET /static/js/jquery.enllax.min.js HTTP/1.1[0m" 304 -
|
| 778 |
+
2024-05-15 16:09:38,713 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:38] "[36mGET /static/js/jquery.easing.min.js HTTP/1.1[0m" 304 -
|
| 779 |
+
2024-05-15 16:09:38,728 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:38] "[33mGET /static/static/js/jquery.stickyNavbar.min.js HTTP/1.1[0m" 404 -
|
| 780 |
+
2024-05-15 16:09:38,747 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:38] "[36mGET /static/js/jquery.waypoints.min.js HTTP/1.1[0m" 304 -
|
| 781 |
+
2024-05-15 16:09:38,748 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:38] "[36mGET /static/js/images-loaded.min.js HTTP/1.1[0m" 304 -
|
| 782 |
+
2024-05-15 16:09:38,760 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:38] "[36mGET /static/js/lightbox.min.js HTTP/1.1[0m" 304 -
|
| 783 |
+
2024-05-15 16:09:38,776 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:38] "[36mGET /static/js/site.js HTTP/1.1[0m" 304 -
|
| 784 |
+
2024-05-15 16:09:40,195 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:40] "[36mGET /static/images/favicon.ico HTTP/1.1[0m" 304 -
|
| 785 |
+
2024-05-15 16:09:46,302 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:46] "[32mPOST /upload HTTP/1.1[0m" 302 -
|
| 786 |
+
2024-05-15 16:09:47,292 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:47] "GET /predict/%5B'sample1_711.jpg'%5D HTTP/1.1" 200 -
|
| 787 |
+
2024-05-15 16:09:47,367 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:47] "[36mGET /static/css/color.css HTTP/1.1[0m" 304 -
|
| 788 |
+
2024-05-15 16:09:47,367 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:47] "[36mGET /static/css/style.css HTTP/1.1[0m" 304 -
|
| 789 |
+
2024-05-15 16:09:47,376 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:47] "[36mGET /static/css/font-awesome.min.css HTTP/1.1[0m" 304 -
|
| 790 |
+
2024-05-15 16:09:47,381 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:47] "[33mGET /predict/css/animate.css HTTP/1.1[0m" 404 -
|
| 791 |
+
2024-05-15 16:09:47,401 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:47] "[36mGET /static/images/logo.png HTTP/1.1[0m" 304 -
|
| 792 |
+
2024-05-15 16:09:47,409 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:47] "GET /static/temp/img_display/sample1_711.jpg HTTP/1.1" 200 -
|
| 793 |
+
2024-05-15 16:09:47,540 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:47] "[36mGET /static/js/jquery.1.8.3.min.js HTTP/1.1[0m" 304 -
|
| 794 |
+
2024-05-15 16:09:47,558 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:47] "[36mGET /static/images/avatar.gif HTTP/1.1[0m" 304 -
|
| 795 |
+
2024-05-15 16:09:47,572 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:47] "[36mGET /static/js/featherlight.min.js HTTP/1.1[0m" 304 -
|
| 796 |
+
2024-05-15 16:09:47,576 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:47] "[36mGET /static/js/wow.min.js HTTP/1.1[0m" 304 -
|
| 797 |
+
2024-05-15 16:09:47,586 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:47] "[36mGET /static/js/featherlight.gallery.min.js HTTP/1.1[0m" 304 -
|
| 798 |
+
2024-05-15 16:09:47,592 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:47] "[36mGET /static/js/jquery.enllax.min.js HTTP/1.1[0m" 304 -
|
| 799 |
+
2024-05-15 16:09:47,613 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:47] "[36mGET /static/js/jquery.scrollUp.min.js HTTP/1.1[0m" 304 -
|
| 800 |
+
2024-05-15 16:09:47,614 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:47] "[36mGET /static/js/jquery.easing.min.js HTTP/1.1[0m" 304 -
|
| 801 |
+
2024-05-15 16:09:47,618 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:47] "[36mGET /static/js/jquery.stickyNavbar.min.js HTTP/1.1[0m" 304 -
|
| 802 |
+
2024-05-15 16:09:47,634 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:47] "[36mGET /static/js/jquery.waypoints.min.js HTTP/1.1[0m" 304 -
|
| 803 |
+
2024-05-15 16:09:47,653 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:47] "[36mGET /static/js/images-loaded.min.js HTTP/1.1[0m" 304 -
|
| 804 |
+
2024-05-15 16:09:47,668 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:47] "[36mGET /static/js/lightbox.min.js HTTP/1.1[0m" 304 -
|
| 805 |
+
2024-05-15 16:09:47,696 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:47] "[36mGET /static/js/site.js HTTP/1.1[0m" 304 -
|
| 806 |
+
2024-05-15 16:09:47,871 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:09:47] "[36mGET /static/images/favicon.ico HTTP/1.1[0m" 304 -
|
| 807 |
+
2024-05-15 16:12:24,808 ERROR app 'NoneType' object is not iterable
|
| 808 |
+
2024-05-15 16:12:24,810 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:12:24] "[32mGET /run_inference HTTP/1.1[0m" 302 -
|
| 809 |
+
2024-05-15 16:12:24,858 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:12:24] "[35m[1mGET /create_csv HTTP/1.1[0m" 500 -
|
| 810 |
+
2024-05-15 16:12:26,096 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:12:26] "[33mGET /get_data HTTP/1.1[0m" 404 -
|
| 811 |
+
2024-05-15 16:12:26,098 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:12:26] "[33mGET /static/temp/img_display/sample1_711.jpg_inference.jpg HTTP/1.1[0m" 404 -
|
| 812 |
+
2024-05-15 16:13:29,777 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:13:29] "GET /predict/%5B'sample1_711.jpg'%5D HTTP/1.1" 200 -
|
| 813 |
+
2024-05-15 16:13:29,817 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:13:29] "GET /static/css/style.css HTTP/1.1" 200 -
|
| 814 |
+
2024-05-15 16:13:29,835 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:13:29] "[33mGET /predict/css/animate.css HTTP/1.1[0m" 404 -
|
| 815 |
+
2024-05-15 16:13:29,839 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:13:29] "GET /static/css/font-awesome.min.css HTTP/1.1" 200 -
|
| 816 |
+
2024-05-15 16:13:29,841 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:13:29] "GET /static/css/color.css HTTP/1.1" 200 -
|
| 817 |
+
2024-05-15 16:13:30,812 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:13:30] "GET /static/temp/img_display/sample1_711.jpg HTTP/1.1" 200 -
|
| 818 |
+
2024-05-15 16:13:30,816 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:13:30] "GET /static/images/logo.png HTTP/1.1" 200 -
|
| 819 |
+
2024-05-15 16:13:30,878 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:13:30] "GET /static/images/avatar.gif HTTP/1.1" 200 -
|
| 820 |
+
2024-05-15 16:13:31,006 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:13:31] "GET /static/js/jquery.1.8.3.min.js HTTP/1.1" 200 -
|
| 821 |
+
2024-05-15 16:13:31,023 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:13:31] "GET /static/js/wow.min.js HTTP/1.1" 200 -
|
| 822 |
+
2024-05-15 16:13:31,038 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:13:31] "GET /static/js/featherlight.min.js HTTP/1.1" 200 -
|
| 823 |
+
2024-05-15 16:13:31,049 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:13:31] "GET /static/js/featherlight.gallery.min.js HTTP/1.1" 200 -
|
| 824 |
+
2024-05-15 16:13:31,062 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:13:31] "GET /static/js/jquery.enllax.min.js HTTP/1.1" 200 -
|
| 825 |
+
2024-05-15 16:13:31,077 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:13:31] "GET /static/js/jquery.scrollUp.min.js HTTP/1.1" 200 -
|
| 826 |
+
2024-05-15 16:13:31,090 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:13:31] "GET /static/js/jquery.easing.min.js HTTP/1.1" 200 -
|
| 827 |
+
2024-05-15 16:13:31,100 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:13:31] "GET /static/js/jquery.stickyNavbar.min.js HTTP/1.1" 200 -
|
| 828 |
+
2024-05-15 16:13:31,119 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:13:31] "GET /static/js/jquery.waypoints.min.js HTTP/1.1" 200 -
|
| 829 |
+
2024-05-15 16:13:31,130 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:13:31] "GET /static/js/images-loaded.min.js HTTP/1.1" 200 -
|
| 830 |
+
2024-05-15 16:13:31,147 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:13:31] "GET /static/js/lightbox.min.js HTTP/1.1" 200 -
|
| 831 |
+
2024-05-15 16:13:31,159 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:13:31] "GET /static/js/site.js HTTP/1.1" 200 -
|
| 832 |
+
2024-05-15 16:13:36,515 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:13:36] "GET /static/images/favicon.ico HTTP/1.1" 200 -
|
| 833 |
+
2024-05-15 16:14:13,613 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:14:13] "[32mGET /run_inference HTTP/1.1[0m" 302 -
|
| 834 |
+
2024-05-15 16:14:13,657 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:14:13] "[35m[1mGET /create_csv HTTP/1.1[0m" 204 -
|
| 835 |
+
2024-05-15 16:14:15,163 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:14:15] "[33mGET /static/temp/img_display/sample1_711.jpg_inference.jpg HTTP/1.1[0m" 404 -
|
| 836 |
+
2024-05-15 16:14:15,186 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:14:15] "GET /get_data HTTP/1.1" 200 -
|
| 837 |
+
2024-05-15 16:14:45,702 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:14:45] "GET /predict/%5B'sample1_711.jpg'%5D HTTP/1.1" 200 -
|
| 838 |
+
2024-05-15 16:14:45,763 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:14:45] "[33mGET /predict/css/animate.css HTTP/1.1[0m" 404 -
|
| 839 |
+
2024-05-15 16:14:45,767 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:14:45] "GET /static/css/style.css HTTP/1.1" 200 -
|
| 840 |
+
2024-05-15 16:14:45,768 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:14:45] "GET /static/css/font-awesome.min.css HTTP/1.1" 200 -
|
| 841 |
+
2024-05-15 16:14:45,768 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:14:45] "GET /static/css/color.css HTTP/1.1" 200 -
|
| 842 |
+
2024-05-15 16:14:46,238 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:14:46] "GET /static/temp/img_display/sample1_711.jpg HTTP/1.1" 200 -
|
| 843 |
+
2024-05-15 16:14:46,242 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:14:46] "GET /static/images/logo.png HTTP/1.1" 200 -
|
| 844 |
+
2024-05-15 16:14:46,300 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:14:46] "GET /static/images/avatar.gif HTTP/1.1" 200 -
|
| 845 |
+
2024-05-15 16:14:46,433 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:14:46] "GET /static/js/jquery.1.8.3.min.js HTTP/1.1" 200 -
|
| 846 |
+
2024-05-15 16:14:46,452 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:14:46] "GET /static/js/wow.min.js HTTP/1.1" 200 -
|
| 847 |
+
2024-05-15 16:14:46,464 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:14:46] "GET /static/js/featherlight.min.js HTTP/1.1" 200 -
|
| 848 |
+
2024-05-15 16:14:46,478 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:14:46] "GET /static/js/featherlight.gallery.min.js HTTP/1.1" 200 -
|
| 849 |
+
2024-05-15 16:14:46,493 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:14:46] "GET /static/js/jquery.enllax.min.js HTTP/1.1" 200 -
|
| 850 |
+
2024-05-15 16:14:46,504 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:14:46] "GET /static/js/jquery.scrollUp.min.js HTTP/1.1" 200 -
|
| 851 |
+
2024-05-15 16:14:46,515 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:14:46] "GET /static/js/jquery.easing.min.js HTTP/1.1" 200 -
|
| 852 |
+
2024-05-15 16:14:46,532 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:14:46] "GET /static/js/jquery.stickyNavbar.min.js HTTP/1.1" 200 -
|
| 853 |
+
2024-05-15 16:14:46,544 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:14:46] "GET /static/js/jquery.waypoints.min.js HTTP/1.1" 200 -
|
| 854 |
+
2024-05-15 16:14:46,563 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:14:46] "GET /static/js/images-loaded.min.js HTTP/1.1" 200 -
|
| 855 |
+
2024-05-15 16:14:46,577 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:14:46] "GET /static/js/lightbox.min.js HTTP/1.1" 200 -
|
| 856 |
+
2024-05-15 16:14:46,591 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:14:46] "GET /static/js/site.js HTTP/1.1" 200 -
|
| 857 |
+
2024-05-15 16:14:51,203 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:14:51] "GET /static/images/favicon.ico HTTP/1.1" 200 -
|
| 858 |
+
2024-05-15 16:15:11,019 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:15:11] "[32mGET /run_inference HTTP/1.1[0m" 302 -
|
| 859 |
+
2024-05-15 16:15:11,034 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:15:11] "[35m[1mGET /create_csv HTTP/1.1[0m" 204 -
|
| 860 |
+
2024-05-15 16:15:11,577 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:15:11] "[33mGET /static/temp/img_display/sample1_711.jpg_inference.jpg HTTP/1.1[0m" 404 -
|
| 861 |
+
2024-05-15 16:15:11,578 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:15:11] "GET /get_data HTTP/1.1" 200 -
|
| 862 |
+
2024-05-15 16:16:42,927 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:16:42] "GET / HTTP/1.1" 200 -
|
| 863 |
+
2024-05-15 16:16:43,008 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:16:43] "[36mGET /static/css/style.css HTTP/1.1[0m" 304 -
|
| 864 |
+
2024-05-15 16:16:43,020 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:16:43] "[36mGET /static/css/color.css HTTP/1.1[0m" 304 -
|
| 865 |
+
2024-05-15 16:16:43,024 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:16:43] "[33mGET /styles.css HTTP/1.1[0m" 404 -
|
| 866 |
+
2024-05-15 16:16:43,033 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:16:43] "[36mGET /static/css/animate.css HTTP/1.1[0m" 304 -
|
| 867 |
+
2024-05-15 16:16:43,036 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:16:43] "[36mGET /static/css/font-awesome.min.css HTTP/1.1[0m" 304 -
|
| 868 |
+
2024-05-15 16:16:43,059 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:16:43] "[36mGET /static/images/logo.png HTTP/1.1[0m" 304 -
|
| 869 |
+
2024-05-15 16:16:43,063 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:16:43] "[36mGET /static/js/jquery.1.8.3.min.js HTTP/1.1[0m" 304 -
|
| 870 |
+
2024-05-15 16:16:43,076 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:16:43] "[36mGET /static/js/featherlight.min.js HTTP/1.1[0m" 304 -
|
| 871 |
+
2024-05-15 16:16:43,076 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:16:43] "[36mGET /static/js/wow.min.js HTTP/1.1[0m" 304 -
|
| 872 |
+
2024-05-15 16:16:43,086 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:16:43] "[36mGET /static/images/uplogo.gif HTTP/1.1[0m" 304 -
|
| 873 |
+
2024-05-15 16:16:43,099 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:16:43] "[36mGET /static/js/featherlight.gallery.min.js HTTP/1.1[0m" 304 -
|
| 874 |
+
2024-05-15 16:16:43,102 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:16:43] "[36mGET /static/js/jquery.enllax.min.js HTTP/1.1[0m" 304 -
|
| 875 |
+
2024-05-15 16:16:43,102 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:16:43] "[36mGET /static/js/jquery.scrollUp.min.js HTTP/1.1[0m" 304 -
|
| 876 |
+
2024-05-15 16:16:43,115 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:16:43] "[36mGET /static/js/jquery.easing.min.js HTTP/1.1[0m" 304 -
|
| 877 |
+
2024-05-15 16:16:43,132 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:16:43] "[33mGET /static/static/js/jquery.stickyNavbar.min.js HTTP/1.1[0m" 404 -
|
| 878 |
+
2024-05-15 16:16:43,165 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:16:43] "[36mGET /static/js/jquery.waypoints.min.js HTTP/1.1[0m" 304 -
|
| 879 |
+
2024-05-15 16:16:43,170 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:16:43] "[36mGET /static/js/lightbox.min.js HTTP/1.1[0m" 304 -
|
| 880 |
+
2024-05-15 16:16:43,176 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:16:43] "[36mGET /static/js/images-loaded.min.js HTTP/1.1[0m" 304 -
|
| 881 |
+
2024-05-15 16:16:43,182 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:16:43] "[36mGET /static/js/site.js HTTP/1.1[0m" 304 -
|
| 882 |
+
2024-05-15 16:16:45,632 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:16:45] "[36mGET /static/images/favicon.ico HTTP/1.1[0m" 304 -
|
| 883 |
+
2024-05-15 16:16:52,509 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:16:52] "[32mPOST /upload HTTP/1.1[0m" 302 -
|
| 884 |
+
2024-05-15 16:16:53,421 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:16:53] "GET /predict/%5B'sample1_711.jpg'%5D HTTP/1.1" 200 -
|
| 885 |
+
2024-05-15 16:16:53,482 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:16:53] "[36mGET /static/css/style.css HTTP/1.1[0m" 304 -
|
| 886 |
+
2024-05-15 16:16:53,496 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:16:53] "[33mGET /predict/css/animate.css HTTP/1.1[0m" 404 -
|
| 887 |
+
2024-05-15 16:16:53,496 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:16:53] "[36mGET /static/css/color.css HTTP/1.1[0m" 304 -
|
| 888 |
+
2024-05-15 16:16:53,507 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:16:53] "[36mGET /static/css/font-awesome.min.css HTTP/1.1[0m" 304 -
|
| 889 |
+
2024-05-15 16:16:53,521 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:16:53] "[36mGET /static/images/logo.png HTTP/1.1[0m" 304 -
|
| 890 |
+
2024-05-15 16:16:53,545 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:16:53] "GET /static/temp/img_display/sample1_711.jpg HTTP/1.1" 200 -
|
| 891 |
+
2024-05-15 16:16:53,578 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:16:53] "[36mGET /static/images/avatar.gif HTTP/1.1[0m" 304 -
|
| 892 |
+
2024-05-15 16:16:53,617 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:16:53] "[36mGET /static/js/jquery.1.8.3.min.js HTTP/1.1[0m" 304 -
|
| 893 |
+
2024-05-15 16:16:53,630 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:16:53] "[36mGET /static/js/wow.min.js HTTP/1.1[0m" 304 -
|
| 894 |
+
2024-05-15 16:16:53,641 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:16:53] "[36mGET /static/js/featherlight.min.js HTTP/1.1[0m" 304 -
|
| 895 |
+
2024-05-15 16:16:53,665 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:16:53] "[36mGET /static/js/featherlight.gallery.min.js HTTP/1.1[0m" 304 -
|
| 896 |
+
2024-05-15 16:16:53,673 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:16:53] "[36mGET /static/js/jquery.enllax.min.js HTTP/1.1[0m" 304 -
|
| 897 |
+
2024-05-15 16:16:53,678 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:16:53] "[36mGET /static/js/jquery.scrollUp.min.js HTTP/1.1[0m" 304 -
|
| 898 |
+
2024-05-15 16:16:53,685 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:16:53] "[36mGET /static/js/jquery.easing.min.js HTTP/1.1[0m" 304 -
|
| 899 |
+
2024-05-15 16:16:53,694 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:16:53] "[36mGET /static/js/jquery.stickyNavbar.min.js HTTP/1.1[0m" 304 -
|
| 900 |
+
2024-05-15 16:16:53,700 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:16:53] "[36mGET /static/js/jquery.waypoints.min.js HTTP/1.1[0m" 304 -
|
| 901 |
+
2024-05-15 16:16:53,722 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:16:53] "[36mGET /static/js/images-loaded.min.js HTTP/1.1[0m" 304 -
|
| 902 |
+
2024-05-15 16:16:53,745 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:16:53] "[36mGET /static/js/lightbox.min.js HTTP/1.1[0m" 304 -
|
| 903 |
+
2024-05-15 16:16:53,748 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:16:53] "[36mGET /static/js/site.js HTTP/1.1[0m" 304 -
|
| 904 |
+
2024-05-15 16:16:53,846 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:16:53] "[36mGET /static/images/favicon.ico HTTP/1.1[0m" 304 -
|
| 905 |
+
2024-05-15 16:20:08,746 ERROR app 'NoneType' object is not iterable
|
| 906 |
+
2024-05-15 16:20:08,765 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:08] "[32mGET /run_inference HTTP/1.1[0m" 302 -
|
| 907 |
+
2024-05-15 16:20:08,846 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:08] "[35m[1mGET /create_csv HTTP/1.1[0m" 500 -
|
| 908 |
+
2024-05-15 16:20:09,408 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:09] "[33mGET /get_data HTTP/1.1[0m" 404 -
|
| 909 |
+
2024-05-15 16:20:09,416 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:09] "[33mGET /static/temp/img_display/sample1_711.jpg_inference.jpg HTTP/1.1[0m" 404 -
|
| 910 |
+
2024-05-15 16:20:47,725 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:47] "GET / HTTP/1.1" 200 -
|
| 911 |
+
2024-05-15 16:20:47,796 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:47] "[33mGET /styles.css HTTP/1.1[0m" 404 -
|
| 912 |
+
2024-05-15 16:20:47,815 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:47] "[36mGET /static/css/color.css HTTP/1.1[0m" 304 -
|
| 913 |
+
2024-05-15 16:20:47,822 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:47] "[36mGET /static/css/font-awesome.min.css HTTP/1.1[0m" 304 -
|
| 914 |
+
2024-05-15 16:20:47,823 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:47] "[36mGET /static/css/animate.css HTTP/1.1[0m" 304 -
|
| 915 |
+
2024-05-15 16:20:47,836 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:47] "[36mGET /static/css/style.css HTTP/1.1[0m" 304 -
|
| 916 |
+
2024-05-15 16:20:47,864 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:47] "[36mGET /static/images/logo.png HTTP/1.1[0m" 304 -
|
| 917 |
+
2024-05-15 16:20:47,866 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:47] "[36mGET /static/images/uplogo.gif HTTP/1.1[0m" 304 -
|
| 918 |
+
2024-05-15 16:20:47,877 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:47] "[36mGET /static/js/jquery.1.8.3.min.js HTTP/1.1[0m" 304 -
|
| 919 |
+
2024-05-15 16:20:47,892 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:47] "[36mGET /static/js/featherlight.min.js HTTP/1.1[0m" 304 -
|
| 920 |
+
2024-05-15 16:20:47,894 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:47] "[36mGET /static/js/wow.min.js HTTP/1.1[0m" 304 -
|
| 921 |
+
2024-05-15 16:20:47,917 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:47] "[36mGET /static/js/featherlight.gallery.min.js HTTP/1.1[0m" 304 -
|
| 922 |
+
2024-05-15 16:20:47,934 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:47] "[36mGET /static/js/jquery.enllax.min.js HTTP/1.1[0m" 304 -
|
| 923 |
+
2024-05-15 16:20:47,946 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:47] "[36mGET /static/js/jquery.scrollUp.min.js HTTP/1.1[0m" 304 -
|
| 924 |
+
2024-05-15 16:20:47,950 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:47] "[36mGET /static/js/jquery.easing.min.js HTTP/1.1[0m" 304 -
|
| 925 |
+
2024-05-15 16:20:47,959 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:47] "[33mGET /static/static/js/jquery.stickyNavbar.min.js HTTP/1.1[0m" 404 -
|
| 926 |
+
2024-05-15 16:20:47,974 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:47] "[36mGET /static/js/jquery.waypoints.min.js HTTP/1.1[0m" 304 -
|
| 927 |
+
2024-05-15 16:20:47,991 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:47] "[36mGET /static/js/images-loaded.min.js HTTP/1.1[0m" 304 -
|
| 928 |
+
2024-05-15 16:20:47,999 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:47] "[36mGET /static/js/lightbox.min.js HTTP/1.1[0m" 304 -
|
| 929 |
+
2024-05-15 16:20:48,009 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:48] "[36mGET /static/js/site.js HTTP/1.1[0m" 304 -
|
| 930 |
+
2024-05-15 16:20:50,132 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:50] "[36mGET /static/images/favicon.ico HTTP/1.1[0m" 304 -
|
| 931 |
+
2024-05-15 16:20:56,370 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:56] "[32mPOST /upload HTTP/1.1[0m" 302 -
|
| 932 |
+
2024-05-15 16:20:57,197 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:57] "GET /predict/%5B'sample_coop.jpg'%5D HTTP/1.1" 200 -
|
| 933 |
+
2024-05-15 16:20:57,253 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:57] "[36mGET /static/css/style.css HTTP/1.1[0m" 304 -
|
| 934 |
+
2024-05-15 16:20:57,279 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:57] "[33mGET /predict/css/animate.css HTTP/1.1[0m" 404 -
|
| 935 |
+
2024-05-15 16:20:57,279 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:57] "[36mGET /static/css/color.css HTTP/1.1[0m" 304 -
|
| 936 |
+
2024-05-15 16:20:57,282 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:57] "[36mGET /static/css/font-awesome.min.css HTTP/1.1[0m" 304 -
|
| 937 |
+
2024-05-15 16:20:57,323 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:57] "[36mGET /static/images/logo.png HTTP/1.1[0m" 304 -
|
| 938 |
+
2024-05-15 16:20:57,394 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:57] "GET /static/temp/img_display/sample_coop.jpg HTTP/1.1" 200 -
|
| 939 |
+
2024-05-15 16:20:57,404 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:57] "[36mGET /static/images/avatar.gif HTTP/1.1[0m" 304 -
|
| 940 |
+
2024-05-15 16:20:57,456 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:57] "[36mGET /static/js/wow.min.js HTTP/1.1[0m" 304 -
|
| 941 |
+
2024-05-15 16:20:57,485 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:57] "[36mGET /static/js/jquery.1.8.3.min.js HTTP/1.1[0m" 304 -
|
| 942 |
+
2024-05-15 16:20:57,489 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:57] "[36mGET /static/js/featherlight.min.js HTTP/1.1[0m" 304 -
|
| 943 |
+
2024-05-15 16:20:57,515 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:57] "[36mGET /static/js/featherlight.gallery.min.js HTTP/1.1[0m" 304 -
|
| 944 |
+
2024-05-15 16:20:57,531 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:57] "[36mGET /static/js/jquery.enllax.min.js HTTP/1.1[0m" 304 -
|
| 945 |
+
2024-05-15 16:20:57,542 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:57] "[36mGET /static/js/jquery.scrollUp.min.js HTTP/1.1[0m" 304 -
|
| 946 |
+
2024-05-15 16:20:57,550 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:57] "[36mGET /static/js/jquery.easing.min.js HTTP/1.1[0m" 304 -
|
| 947 |
+
2024-05-15 16:20:57,556 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:57] "[36mGET /static/js/jquery.stickyNavbar.min.js HTTP/1.1[0m" 304 -
|
| 948 |
+
2024-05-15 16:20:57,562 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:57] "[36mGET /static/js/jquery.waypoints.min.js HTTP/1.1[0m" 304 -
|
| 949 |
+
2024-05-15 16:20:57,573 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:57] "[36mGET /static/js/images-loaded.min.js HTTP/1.1[0m" 304 -
|
| 950 |
+
2024-05-15 16:20:57,579 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:57] "[36mGET /static/js/lightbox.min.js HTTP/1.1[0m" 304 -
|
| 951 |
+
2024-05-15 16:20:57,589 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:57] "[36mGET /static/js/site.js HTTP/1.1[0m" 304 -
|
| 952 |
+
2024-05-15 16:20:57,776 INFO werkzeug 127.0.0.1 - - [15/May/2024 16:20:57] "[36mGET /static/images/favicon.ico HTTP/1.1[0m" 304 -
|
| 953 |
+
2024-05-15 16:23:35,405 INFO werkzeug * Detected change in 'C:\\Users\\Ayoo\\Desktop\\bewwebapp\\Layoutlmv3_inference\\inference_handler.py', reloading
|
| 954 |
+
2024-05-15 16:23:35,407 INFO werkzeug * Detected change in 'C:\\Users\\Ayoo\\Desktop\\bewwebapp\\Layoutlmv3_inference\\inference_handler.py', reloading
|
| 955 |
+
2024-05-15 18:08:02,544 ERROR app 'NoneType' object is not iterable
|
| 956 |
+
2024-05-15 18:08:02,549 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:02] "[32mGET /run_inference HTTP/1.1[0m" 302 -
|
| 957 |
+
2024-05-15 18:08:02,694 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:02] "[35m[1mGET /create_csv HTTP/1.1[0m" 500 -
|
| 958 |
+
2024-05-15 18:08:03,229 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:03] "[33mGET /get_data HTTP/1.1[0m" 404 -
|
| 959 |
+
2024-05-15 18:08:03,241 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:03] "[33mGET /static/temp/img_display/receipt_991.jpg_inference.jpg HTTP/1.1[0m" 404 -
|
| 960 |
+
2024-05-15 18:08:37,481 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:37] "GET / HTTP/1.1" 200 -
|
| 961 |
+
2024-05-15 18:08:37,632 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:37] "[33mGET /styles.css HTTP/1.1[0m" 404 -
|
| 962 |
+
2024-05-15 18:08:37,692 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:37] "[36mGET /static/images/logo.png HTTP/1.1[0m" 304 -
|
| 963 |
+
2024-05-15 18:08:37,762 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:37] "[36mGET /static/css/style.css HTTP/1.1[0m" 304 -
|
| 964 |
+
2024-05-15 18:08:37,812 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:37] "[36mGET /static/css/color.css HTTP/1.1[0m" 304 -
|
| 965 |
+
2024-05-15 18:08:37,936 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:37] "[36mGET /static/css/font-awesome.min.css HTTP/1.1[0m" 304 -
|
| 966 |
+
2024-05-15 18:08:38,009 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:38] "[36mGET /static/css/animate.css HTTP/1.1[0m" 304 -
|
| 967 |
+
2024-05-15 18:08:38,074 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:38] "[36mGET /static/images/uplogo.gif HTTP/1.1[0m" 304 -
|
| 968 |
+
2024-05-15 18:08:38,187 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:38] "[36mGET /static/js/jquery.1.8.3.min.js HTTP/1.1[0m" 304 -
|
| 969 |
+
2024-05-15 18:08:38,206 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:38] "[36mGET /static/js/wow.min.js HTTP/1.1[0m" 304 -
|
| 970 |
+
2024-05-15 18:08:38,303 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:38] "[36mGET /static/js/featherlight.min.js HTTP/1.1[0m" 304 -
|
| 971 |
+
2024-05-15 18:08:38,341 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:38] "[36mGET /static/js/featherlight.gallery.min.js HTTP/1.1[0m" 304 -
|
| 972 |
+
2024-05-15 18:08:38,369 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:38] "[36mGET /static/js/jquery.enllax.min.js HTTP/1.1[0m" 304 -
|
| 973 |
+
2024-05-15 18:08:38,415 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:38] "[36mGET /static/js/jquery.scrollUp.min.js HTTP/1.1[0m" 304 -
|
| 974 |
+
2024-05-15 18:08:38,430 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:38] "[33mGET /static/static/js/jquery.stickyNavbar.min.js HTTP/1.1[0m" 404 -
|
| 975 |
+
2024-05-15 18:08:38,485 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:38] "[36mGET /static/js/jquery.easing.min.js HTTP/1.1[0m" 304 -
|
| 976 |
+
2024-05-15 18:08:38,631 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:38] "[36mGET /static/js/jquery.waypoints.min.js HTTP/1.1[0m" 304 -
|
| 977 |
+
2024-05-15 18:08:38,671 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:38] "[36mGET /static/js/images-loaded.min.js HTTP/1.1[0m" 304 -
|
| 978 |
+
2024-05-15 18:08:38,674 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:38] "[36mGET /static/js/site.js HTTP/1.1[0m" 304 -
|
| 979 |
+
2024-05-15 18:08:38,717 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:38] "[36mGET /static/js/lightbox.min.js HTTP/1.1[0m" 304 -
|
| 980 |
+
2024-05-15 18:08:39,149 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:39] "[36mGET /static/images/favicon.ico HTTP/1.1[0m" 304 -
|
| 981 |
+
2024-05-15 18:08:46,500 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:46] "[32mPOST /upload HTTP/1.1[0m" 302 -
|
| 982 |
+
2024-05-15 18:08:52,435 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:52] "[32mPOST /upload HTTP/1.1[0m" 302 -
|
| 983 |
+
2024-05-15 18:08:57,492 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:57] "GET /predict/%5B'receipt_867.jpg'%5D HTTP/1.1" 200 -
|
| 984 |
+
2024-05-15 18:08:57,619 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:57] "GET /predict/%5B'receipt_867.jpg'%5D HTTP/1.1" 200 -
|
| 985 |
+
2024-05-15 18:08:57,795 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:57] "[36mGET /static/css/style.css HTTP/1.1[0m" 304 -
|
| 986 |
+
2024-05-15 18:08:57,906 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:57] "[36mGET /static/css/color.css HTTP/1.1[0m" 304 -
|
| 987 |
+
2024-05-15 18:08:57,946 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:57] "[36mGET /static/css/font-awesome.min.css HTTP/1.1[0m" 304 -
|
| 988 |
+
2024-05-15 18:08:57,954 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:57] "[33mGET /predict/css/animate.css HTTP/1.1[0m" 404 -
|
| 989 |
+
2024-05-15 18:08:58,085 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:58] "GET /static/temp/img_display/receipt_867.jpg HTTP/1.1" 200 -
|
| 990 |
+
2024-05-15 18:08:58,186 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:58] "[36mGET /static/images/logo.png HTTP/1.1[0m" 304 -
|
| 991 |
+
2024-05-15 18:08:58,457 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:58] "[36mGET /static/images/avatar.gif HTTP/1.1[0m" 304 -
|
| 992 |
+
2024-05-15 18:08:58,477 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:58] "[36mGET /static/js/jquery.1.8.3.min.js HTTP/1.1[0m" 304 -
|
| 993 |
+
2024-05-15 18:08:58,626 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:58] "[36mGET /static/js/wow.min.js HTTP/1.1[0m" 304 -
|
| 994 |
+
2024-05-15 18:08:58,632 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:58] "[36mGET /static/js/featherlight.min.js HTTP/1.1[0m" 304 -
|
| 995 |
+
2024-05-15 18:08:58,639 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:58] "[36mGET /static/js/featherlight.gallery.min.js HTTP/1.1[0m" 304 -
|
| 996 |
+
2024-05-15 18:08:58,693 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:58] "[36mGET /static/js/jquery.enllax.min.js HTTP/1.1[0m" 304 -
|
| 997 |
+
2024-05-15 18:08:58,787 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:58] "[36mGET /static/js/jquery.scrollUp.min.js HTTP/1.1[0m" 304 -
|
| 998 |
+
2024-05-15 18:08:58,950 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:58] "[36mGET /static/js/jquery.easing.min.js HTTP/1.1[0m" 304 -
|
| 999 |
+
2024-05-15 18:08:59,019 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:59] "[36mGET /static/js/jquery.waypoints.min.js HTTP/1.1[0m" 304 -
|
| 1000 |
+
2024-05-15 18:08:59,094 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:59] "[36mGET /static/js/jquery.stickyNavbar.min.js HTTP/1.1[0m" 304 -
|
| 1001 |
+
2024-05-15 18:08:59,129 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:59] "[36mGET /static/js/images-loaded.min.js HTTP/1.1[0m" 304 -
|
| 1002 |
+
2024-05-15 18:08:59,160 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:59] "[36mGET /static/js/lightbox.min.js HTTP/1.1[0m" 304 -
|
| 1003 |
+
2024-05-15 18:08:59,194 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:08:59] "[36mGET /static/js/site.js HTTP/1.1[0m" 304 -
|
| 1004 |
+
2024-05-15 18:09:00,368 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:09:00] "[36mGET /static/images/favicon.ico HTTP/1.1[0m" 304 -
|
| 1005 |
+
2024-05-15 18:11:05,367 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:11:05] "[32mGET /run_inference HTTP/1.1[0m" 302 -
|
| 1006 |
+
2024-05-15 18:11:05,423 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:11:05] "[35m[1mGET /create_csv HTTP/1.1[0m" 204 -
|
| 1007 |
+
2024-05-15 18:11:06,737 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:11:06] "GET /static/temp/img_display/receipt_867.jpg_inference.jpg HTTP/1.1" 200 -
|
| 1008 |
+
2024-05-15 18:11:06,977 INFO werkzeug 127.0.0.1 - - [15/May/2024 18:11:06] "GET /get_data HTTP/1.1" 200 -
|
| 1009 |
+
2024-05-15 18:14:11,927 INFO werkzeug * Detected change in 'C:\\Users\\Ayoo\\Desktop\\bewwebapp\\Layoutlmv3_inference\\inference_handler.py', reloading
|
| 1010 |
+
2024-05-15 18:14:11,936 INFO werkzeug * Detected change in 'C:\\Users\\Ayoo\\Desktop\\bewwebapp\\Layoutlmv3_inference\\inference_handler.py', reloading
|
| 1011 |
+
2024-05-15 19:38:24,151 ERROR app 'NoneType' object is not iterable
|
| 1012 |
+
2024-05-15 19:38:24,159 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:38:24] "[32mGET /run_inference HTTP/1.1[0m" 302 -
|
| 1013 |
+
2024-05-15 19:38:24,298 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:38:24] "[35m[1mGET /create_csv HTTP/1.1[0m" 500 -
|
| 1014 |
+
2024-05-15 19:38:24,867 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:38:24] "[33mGET /get_data HTTP/1.1[0m" 404 -
|
| 1015 |
+
2024-05-15 19:38:24,881 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:38:24] "[33mGET /static/temp/img_display/receipt_857.jpg_inference.jpg HTTP/1.1[0m" 404 -
|
| 1016 |
+
2024-05-15 19:38:57,336 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:38:57] "GET / HTTP/1.1" 200 -
|
| 1017 |
+
2024-05-15 19:38:57,480 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:38:57] "[36mGET /static/css/style.css HTTP/1.1[0m" 304 -
|
| 1018 |
+
2024-05-15 19:38:57,614 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:38:57] "[36mGET /static/css/color.css HTTP/1.1[0m" 304 -
|
| 1019 |
+
2024-05-15 19:38:57,631 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:38:57] "[36mGET /static/css/font-awesome.min.css HTTP/1.1[0m" 304 -
|
| 1020 |
+
2024-05-15 19:38:57,652 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:38:57] "[36mGET /static/css/animate.css HTTP/1.1[0m" 304 -
|
| 1021 |
+
2024-05-15 19:38:57,717 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:38:57] "[33mGET /styles.css HTTP/1.1[0m" 404 -
|
| 1022 |
+
2024-05-15 19:38:57,785 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:38:57] "[36mGET /static/images/logo.png HTTP/1.1[0m" 304 -
|
| 1023 |
+
2024-05-15 19:38:57,974 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:38:57] "[36mGET /static/images/uplogo.gif HTTP/1.1[0m" 304 -
|
| 1024 |
+
2024-05-15 19:38:58,083 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:38:58] "[36mGET /static/js/featherlight.min.js HTTP/1.1[0m" 304 -
|
| 1025 |
+
2024-05-15 19:38:58,084 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:38:58] "[36mGET /static/js/wow.min.js HTTP/1.1[0m" 304 -
|
| 1026 |
+
2024-05-15 19:38:58,085 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:38:58] "[36mGET /static/js/jquery.1.8.3.min.js HTTP/1.1[0m" 304 -
|
| 1027 |
+
2024-05-15 19:38:58,096 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:38:58] "[36mGET /static/js/featherlight.gallery.min.js HTTP/1.1[0m" 304 -
|
| 1028 |
+
2024-05-15 19:38:58,103 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:38:58] "[36mGET /static/js/jquery.enllax.min.js HTTP/1.1[0m" 304 -
|
| 1029 |
+
2024-05-15 19:38:58,244 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:38:58] "[36mGET /static/js/jquery.scrollUp.min.js HTTP/1.1[0m" 304 -
|
| 1030 |
+
2024-05-15 19:38:58,335 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:38:58] "[36mGET /static/js/jquery.easing.min.js HTTP/1.1[0m" 304 -
|
| 1031 |
+
2024-05-15 19:38:58,466 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:38:58] "[33mGET /static/static/js/jquery.stickyNavbar.min.js HTTP/1.1[0m" 404 -
|
| 1032 |
+
2024-05-15 19:38:58,520 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:38:58] "[36mGET /static/js/jquery.waypoints.min.js HTTP/1.1[0m" 304 -
|
| 1033 |
+
2024-05-15 19:38:58,555 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:38:58] "[36mGET /static/js/images-loaded.min.js HTTP/1.1[0m" 304 -
|
| 1034 |
+
2024-05-15 19:38:58,572 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:38:58] "[36mGET /static/js/lightbox.min.js HTTP/1.1[0m" 304 -
|
| 1035 |
+
2024-05-15 19:38:58,617 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:38:58] "[36mGET /static/js/site.js HTTP/1.1[0m" 304 -
|
| 1036 |
+
2024-05-15 19:38:59,136 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:38:59] "[36mGET /static/images/favicon.ico HTTP/1.1[0m" 304 -
|
| 1037 |
+
2024-05-15 19:39:10,717 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:39:10] "[32mPOST /upload HTTP/1.1[0m" 302 -
|
| 1038 |
+
2024-05-15 19:39:14,066 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:39:14] "GET /predict/%5B'receipt_857.jpg'%5D HTTP/1.1" 200 -
|
| 1039 |
+
2024-05-15 19:39:14,290 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:39:14] "[36mGET /static/css/font-awesome.min.css HTTP/1.1[0m" 304 -
|
| 1040 |
+
2024-05-15 19:39:14,299 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:39:14] "[36mGET /static/css/color.css HTTP/1.1[0m" 304 -
|
| 1041 |
+
2024-05-15 19:39:14,301 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:39:14] "[36mGET /static/css/style.css HTTP/1.1[0m" 304 -
|
| 1042 |
+
2024-05-15 19:39:14,316 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:39:14] "[33mGET /predict/css/animate.css HTTP/1.1[0m" 404 -
|
| 1043 |
+
2024-05-15 19:39:14,334 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:39:14] "[36mGET /static/images/logo.png HTTP/1.1[0m" 304 -
|
| 1044 |
+
2024-05-15 19:39:14,532 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:39:14] "GET /static/temp/img_display/receipt_857.jpg HTTP/1.1" 200 -
|
| 1045 |
+
2024-05-15 19:39:14,737 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:39:14] "[36mGET /static/images/avatar.gif HTTP/1.1[0m" 304 -
|
| 1046 |
+
2024-05-15 19:39:14,840 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:39:14] "[36mGET /static/js/featherlight.min.js HTTP/1.1[0m" 304 -
|
| 1047 |
+
2024-05-15 19:39:14,899 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:39:14] "[36mGET /static/js/wow.min.js HTTP/1.1[0m" 304 -
|
| 1048 |
+
2024-05-15 19:39:14,938 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:39:14] "[36mGET /static/js/jquery.1.8.3.min.js HTTP/1.1[0m" 304 -
|
| 1049 |
+
2024-05-15 19:39:14,955 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:39:14] "[36mGET /static/js/featherlight.gallery.min.js HTTP/1.1[0m" 304 -
|
| 1050 |
+
2024-05-15 19:39:14,981 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:39:14] "[36mGET /static/js/jquery.scrollUp.min.js HTTP/1.1[0m" 304 -
|
| 1051 |
+
2024-05-15 19:39:14,993 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:39:14] "[36mGET /static/js/jquery.enllax.min.js HTTP/1.1[0m" 304 -
|
| 1052 |
+
2024-05-15 19:39:15,038 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:39:15] "[36mGET /static/js/jquery.stickyNavbar.min.js HTTP/1.1[0m" 304 -
|
| 1053 |
+
2024-05-15 19:39:15,047 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:39:15] "[36mGET /static/js/jquery.easing.min.js HTTP/1.1[0m" 304 -
|
| 1054 |
+
2024-05-15 19:39:15,068 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:39:15] "[36mGET /static/js/jquery.waypoints.min.js HTTP/1.1[0m" 304 -
|
| 1055 |
+
2024-05-15 19:39:15,116 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:39:15] "[36mGET /static/js/images-loaded.min.js HTTP/1.1[0m" 304 -
|
| 1056 |
+
2024-05-15 19:39:15,148 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:39:15] "[36mGET /static/js/lightbox.min.js HTTP/1.1[0m" 304 -
|
| 1057 |
+
2024-05-15 19:39:15,156 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:39:15] "[36mGET /static/js/site.js HTTP/1.1[0m" 304 -
|
| 1058 |
+
2024-05-15 19:39:15,951 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:39:15] "[36mGET /static/images/favicon.ico HTTP/1.1[0m" 304 -
|
| 1059 |
+
2024-05-15 19:40:07,064 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:40:07] "[32mGET /run_inference HTTP/1.1[0m" 302 -
|
| 1060 |
+
2024-05-15 19:40:07,190 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:40:07] "[35m[1mGET /create_csv HTTP/1.1[0m" 204 -
|
| 1061 |
+
2024-05-15 19:40:07,799 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:40:07] "GET /get_data HTTP/1.1" 200 -
|
| 1062 |
+
2024-05-15 19:40:07,802 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:40:07] "GET /static/temp/img_display/receipt_857.jpg_inference.jpg HTTP/1.1" 200 -
|
| 1063 |
+
2024-05-15 19:47:23,767 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:47:23] "GET / HTTP/1.1" 200 -
|
| 1064 |
+
2024-05-15 19:47:24,030 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:47:24] "[36mGET /static/css/color.css HTTP/1.1[0m" 304 -
|
| 1065 |
+
2024-05-15 19:47:24,134 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:47:24] "[33mGET /styles.css HTTP/1.1[0m" 404 -
|
| 1066 |
+
2024-05-15 19:47:24,169 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:47:24] "[36mGET /static/css/font-awesome.min.css HTTP/1.1[0m" 304 -
|
| 1067 |
+
2024-05-15 19:47:24,220 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:47:24] "[36mGET /static/css/style.css HTTP/1.1[0m" 304 -
|
| 1068 |
+
2024-05-15 19:47:24,239 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:47:24] "[36mGET /static/css/animate.css HTTP/1.1[0m" 304 -
|
| 1069 |
+
2024-05-15 19:47:24,287 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:47:24] "[36mGET /static/images/logo.png HTTP/1.1[0m" 304 -
|
| 1070 |
+
2024-05-15 19:47:24,296 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:47:24] "[36mGET /static/images/uplogo.gif HTTP/1.1[0m" 304 -
|
| 1071 |
+
2024-05-15 19:47:24,352 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:47:24] "[36mGET /static/js/jquery.1.8.3.min.js HTTP/1.1[0m" 304 -
|
| 1072 |
+
2024-05-15 19:47:24,365 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:47:24] "[36mGET /static/js/featherlight.min.js HTTP/1.1[0m" 304 -
|
| 1073 |
+
2024-05-15 19:47:24,372 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:47:24] "[36mGET /static/js/wow.min.js HTTP/1.1[0m" 304 -
|
| 1074 |
+
2024-05-15 19:47:24,400 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:47:24] "[36mGET /static/js/featherlight.gallery.min.js HTTP/1.1[0m" 304 -
|
| 1075 |
+
2024-05-15 19:47:24,498 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:47:24] "[36mGET /static/js/jquery.enllax.min.js HTTP/1.1[0m" 304 -
|
| 1076 |
+
2024-05-15 19:47:24,550 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:47:24] "[36mGET /static/js/jquery.easing.min.js HTTP/1.1[0m" 304 -
|
| 1077 |
+
2024-05-15 19:47:24,552 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:47:24] "[36mGET /static/js/jquery.scrollUp.min.js HTTP/1.1[0m" 304 -
|
| 1078 |
+
2024-05-15 19:47:24,570 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:47:24] "[33mGET /static/static/js/jquery.stickyNavbar.min.js HTTP/1.1[0m" 404 -
|
| 1079 |
+
2024-05-15 19:47:24,657 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:47:24] "[36mGET /static/js/jquery.waypoints.min.js HTTP/1.1[0m" 304 -
|
| 1080 |
+
2024-05-15 19:47:24,700 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:47:24] "[36mGET /static/js/images-loaded.min.js HTTP/1.1[0m" 304 -
|
| 1081 |
+
2024-05-15 19:47:24,751 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:47:24] "[36mGET /static/js/lightbox.min.js HTTP/1.1[0m" 304 -
|
| 1082 |
+
2024-05-15 19:47:24,956 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:47:24] "[36mGET /static/js/site.js HTTP/1.1[0m" 304 -
|
| 1083 |
+
2024-05-15 19:47:26,004 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:47:26] "[36mGET /static/images/favicon.ico HTTP/1.1[0m" 304 -
|
| 1084 |
+
2024-05-15 19:47:43,964 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:47:43] "[32mPOST /upload HTTP/1.1[0m" 302 -
|
| 1085 |
+
2024-05-15 19:47:49,816 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:47:49] "GET /predict/%5B'receipt_898.jpg'%5D HTTP/1.1" 200 -
|
| 1086 |
+
2024-05-15 19:47:49,966 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:47:49] "[36mGET /static/css/style.css HTTP/1.1[0m" 304 -
|
| 1087 |
+
2024-05-15 19:47:49,986 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:47:49] "[36mGET /static/css/font-awesome.min.css HTTP/1.1[0m" 304 -
|
| 1088 |
+
2024-05-15 19:47:49,987 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:47:49] "[36mGET /static/css/color.css HTTP/1.1[0m" 304 -
|
| 1089 |
+
2024-05-15 19:47:50,103 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:47:50] "[33mGET /predict/css/animate.css HTTP/1.1[0m" 404 -
|
| 1090 |
+
2024-05-15 19:47:50,154 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:47:50] "GET /static/temp/img_display/receipt_898.jpg HTTP/1.1" 200 -
|
| 1091 |
+
2024-05-15 19:47:50,167 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:47:50] "[36mGET /static/images/logo.png HTTP/1.1[0m" 304 -
|
| 1092 |
+
2024-05-15 19:47:50,413 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:47:50] "[36mGET /static/images/avatar.gif HTTP/1.1[0m" 304 -
|
| 1093 |
+
2024-05-15 19:47:50,418 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:47:50] "[36mGET /static/js/jquery.1.8.3.min.js HTTP/1.1[0m" 304 -
|
| 1094 |
+
2024-05-15 19:47:50,522 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:47:50] "[36mGET /static/js/featherlight.min.js HTTP/1.1[0m" 304 -
|
| 1095 |
+
2024-05-15 19:47:50,532 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:47:50] "[36mGET /static/js/wow.min.js HTTP/1.1[0m" 304 -
|
| 1096 |
+
2024-05-15 19:47:50,622 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:47:50] "[36mGET /static/js/featherlight.gallery.min.js HTTP/1.1[0m" 304 -
|
| 1097 |
+
2024-05-15 19:47:50,817 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:47:50] "[36mGET /static/js/jquery.enllax.min.js HTTP/1.1[0m" 304 -
|
| 1098 |
+
2024-05-15 19:47:50,837 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:47:50] "[36mGET /static/js/jquery.scrollUp.min.js HTTP/1.1[0m" 304 -
|
| 1099 |
+
2024-05-15 19:47:50,869 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:47:50] "[36mGET /static/js/jquery.easing.min.js HTTP/1.1[0m" 304 -
|
| 1100 |
+
2024-05-15 19:47:50,996 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:47:50] "[36mGET /static/js/jquery.stickyNavbar.min.js HTTP/1.1[0m" 304 -
|
| 1101 |
+
2024-05-15 19:47:51,008 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:47:51] "[36mGET /static/js/jquery.waypoints.min.js HTTP/1.1[0m" 304 -
|
| 1102 |
+
2024-05-15 19:47:51,084 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:47:51] "[36mGET /static/js/images-loaded.min.js HTTP/1.1[0m" 304 -
|
| 1103 |
+
2024-05-15 19:47:51,171 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:47:51] "[36mGET /static/js/lightbox.min.js HTTP/1.1[0m" 304 -
|
| 1104 |
+
2024-05-15 19:47:51,191 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:47:51] "[36mGET /static/js/site.js HTTP/1.1[0m" 304 -
|
| 1105 |
+
2024-05-15 19:47:51,722 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:47:51] "[36mGET /static/images/favicon.ico HTTP/1.1[0m" 304 -
|
| 1106 |
+
2024-05-15 19:49:16,407 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:49:16] "[32mGET /run_inference HTTP/1.1[0m" 302 -
|
| 1107 |
+
2024-05-15 19:49:18,134 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:49:18] "[35m[1mGET /create_csv HTTP/1.1[0m" 204 -
|
| 1108 |
+
2024-05-15 19:49:19,489 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:49:19] "GET /get_data HTTP/1.1" 200 -
|
| 1109 |
+
2024-05-15 19:49:19,496 INFO werkzeug 127.0.0.1 - - [15/May/2024 19:49:19] "GET /static/temp/img_display/receipt_898.jpg_inference.jpg HTTP/1.1" 200 -
|
| 1110 |
+
2024-05-15 19:58:44,252 INFO werkzeug * Detected change in 'C:\\Users\\Ayoo\\Desktop\\bewwebapp\\app.py', reloading
|
| 1111 |
+
2024-05-15 19:58:44,258 INFO werkzeug * Detected change in 'C:\\Users\\Ayoo\\Desktop\\bewwebapp\\app.py', reloading
|
| 1112 |
+
2024-05-15 23:23:01,553 ERROR app 'NoneType' object is not iterable
|
| 1113 |
+
2024-05-15 23:23:01,558 INFO werkzeug 127.0.0.1 - - [15/May/2024 23:23:01] "[32mGET /run_inference HTTP/1.1[0m" 302 -
|
| 1114 |
+
2024-05-15 23:23:01,712 INFO werkzeug 127.0.0.1 - - [15/May/2024 23:23:01] "[35m[1mGET /create_csv HTTP/1.1[0m" 500 -
|
| 1115 |
+
2024-05-15 23:23:02,296 INFO werkzeug 127.0.0.1 - - [15/May/2024 23:23:02] "[33mGET /static/temp/img_display/receipt_1009.jpg_inference.jpg HTTP/1.1[0m" 404 -
|
| 1116 |
+
2024-05-15 23:23:02,303 INFO werkzeug 127.0.0.1 - - [15/May/2024 23:23:02] "[33mGET /static/temp/img_display/receipt_1010.jpg_inference.jpg HTTP/1.1[0m" 404 -
|
| 1117 |
+
2024-05-15 23:23:02,349 INFO werkzeug 127.0.0.1 - - [15/May/2024 23:23:02] "[33mGET /get_data HTTP/1.1[0m" 404 -
|
| 1118 |
+
2024-05-15 23:23:02,373 INFO werkzeug 127.0.0.1 - - [15/May/2024 23:23:02] "[33mGET /static/temp/img_display/receipt_1011.jpg_inference.jpg HTTP/1.1[0m" 404 -
|
| 1119 |
+
2024-05-15 23:23:02,432 INFO werkzeug 127.0.0.1 - - [15/May/2024 23:23:02] "[33mGET /static/temp/img_display/receipt_1013.jpg_inference.jpg HTTP/1.1[0m" 404 -
|
| 1120 |
+
2024-05-15 23:23:02,478 INFO werkzeug 127.0.0.1 - - [15/May/2024 23:23:02] "[33mGET /static/temp/img_display/receipt_1012.jpg_inference.jpg HTTP/1.1[0m" 404 -
|
| 1121 |
+
2024-05-15 23:23:02,497 INFO werkzeug 127.0.0.1 - - [15/May/2024 23:23:02] "[33mGET /static/temp/img_display/receipt_1014.jpg_inference.jpg HTTP/1.1[0m" 404 -
|
| 1122 |
+
2024-05-15 23:26:16,691 INFO werkzeug 127.0.0.1 - - [15/May/2024 23:26:16] "GET / HTTP/1.1" 200 -
|
| 1123 |
+
2024-05-15 23:26:16,815 INFO werkzeug 127.0.0.1 - - [15/May/2024 23:26:16] "[33mGET /styles.css HTTP/1.1[0m" 404 -
|
| 1124 |
+
2024-05-15 23:26:16,832 INFO werkzeug 127.0.0.1 - - [15/May/2024 23:26:16] "[36mGET /static/css/style.css HTTP/1.1[0m" 304 -
|
| 1125 |
+
2024-05-15 23:26:16,972 INFO werkzeug 127.0.0.1 - - [15/May/2024 23:26:16] "[36mGET /static/css/color.css HTTP/1.1[0m" 304 -
|
| 1126 |
+
2024-05-15 23:26:17,036 INFO werkzeug 127.0.0.1 - - [15/May/2024 23:26:17] "[36mGET /static/css/font-awesome.min.css HTTP/1.1[0m" 304 -
|
| 1127 |
+
2024-05-15 23:26:17,053 INFO werkzeug 127.0.0.1 - - [15/May/2024 23:26:17] "[36mGET /static/css/animate.css HTTP/1.1[0m" 304 -
|
| 1128 |
+
2024-05-15 23:26:17,087 INFO werkzeug 127.0.0.1 - - [15/May/2024 23:26:17] "[36mGET /static/images/logo.png HTTP/1.1[0m" 304 -
|
| 1129 |
+
2024-05-15 23:26:17,145 INFO werkzeug 127.0.0.1 - - [15/May/2024 23:26:17] "[36mGET /static/images/uplogo.gif HTTP/1.1[0m" 304 -
|
| 1130 |
+
2024-05-15 23:26:17,215 INFO werkzeug 127.0.0.1 - - [15/May/2024 23:26:17] "[36mGET /static/js/jquery.1.8.3.min.js HTTP/1.1[0m" 304 -
|
| 1131 |
+
2024-05-15 23:26:17,376 INFO werkzeug 127.0.0.1 - - [15/May/2024 23:26:17] "[36mGET /static/js/wow.min.js HTTP/1.1[0m" 304 -
|
| 1132 |
+
2024-05-15 23:26:17,428 INFO werkzeug 127.0.0.1 - - [15/May/2024 23:26:17] "[36mGET /static/js/featherlight.min.js HTTP/1.1[0m" 304 -
|
| 1133 |
+
2024-05-15 23:26:17,433 INFO werkzeug 127.0.0.1 - - [15/May/2024 23:26:17] "[36mGET /static/js/featherlight.gallery.min.js HTTP/1.1[0m" 304 -
|
| 1134 |
+
2024-05-15 23:26:17,451 INFO werkzeug 127.0.0.1 - - [15/May/2024 23:26:17] "[36mGET /static/js/jquery.enllax.min.js HTTP/1.1[0m" 304 -
|
| 1135 |
+
2024-05-15 23:26:17,471 INFO werkzeug 127.0.0.1 - - [15/May/2024 23:26:17] "[36mGET /static/js/jquery.scrollUp.min.js HTTP/1.1[0m" 304 -
|
| 1136 |
+
2024-05-15 23:26:17,504 INFO werkzeug 127.0.0.1 - - [15/May/2024 23:26:17] "[36mGET /static/js/jquery.easing.min.js HTTP/1.1[0m" 304 -
|
| 1137 |
+
2024-05-15 23:26:17,517 INFO werkzeug 127.0.0.1 - - [15/May/2024 23:26:17] "[33mGET /static/static/js/jquery.stickyNavbar.min.js HTTP/1.1[0m" 404 -
|
| 1138 |
+
2024-05-15 23:26:17,551 INFO werkzeug 127.0.0.1 - - [15/May/2024 23:26:17] "[36mGET /static/js/jquery.waypoints.min.js HTTP/1.1[0m" 304 -
|
| 1139 |
+
2024-05-15 23:26:17,561 INFO werkzeug 127.0.0.1 - - [15/May/2024 23:26:17] "[36mGET /static/js/images-loaded.min.js HTTP/1.1[0m" 304 -
|
| 1140 |
+
2024-05-15 23:26:17,576 INFO werkzeug 127.0.0.1 - - [15/May/2024 23:26:17] "[36mGET /static/js/lightbox.min.js HTTP/1.1[0m" 304 -
|
| 1141 |
+
2024-05-15 23:26:17,625 INFO werkzeug 127.0.0.1 - - [15/May/2024 23:26:17] "[36mGET /static/js/site.js HTTP/1.1[0m" 304 -
|
| 1142 |
+
2024-05-15 23:26:20,290 INFO werkzeug 127.0.0.1 - - [15/May/2024 23:26:20] "[36mGET /static/images/favicon.ico HTTP/1.1[0m" 304 -
|
requirements.txt
CHANGED
|
@@ -1,17 +1,14 @@
|
|
| 1 |
-
|
| 2 |
-
|
| 3 |
-
# git+https://github.com/huggingface/datasets.git
|
| 4 |
dill<0.3.5
|
| 5 |
seqeval
|
| 6 |
accelerate
|
| 7 |
flask
|
| 8 |
-
fastai
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
|
|
|
|
|
|
| 12 |
gunicorn
|
| 13 |
opencv-python-headless
|
| 14 |
-
transformers==4.31.0
|
| 15 |
-
numpy==1.24.3
|
| 16 |
-
datasets==2.14.6
|
| 17 |
-
Werkzeug
|
|
|
|
| 1 |
+
git+https://github.com/huggingface/transformers.git
|
| 2 |
+
git+https://github.com/huggingface/datasets.git
|
|
|
|
| 3 |
dill<0.3.5
|
| 4 |
seqeval
|
| 5 |
accelerate
|
| 6 |
flask
|
| 7 |
+
fastai==1.0.61
|
| 8 |
+
pytesseract
|
| 9 |
+
pandas
|
| 10 |
+
numpy
|
| 11 |
+
pillow
|
| 12 |
+
tqdm
|
| 13 |
gunicorn
|
| 14 |
opencv-python-headless
|
|
|
|
|
|
|
|
|
|
|
|
static/css/extractor.css
ADDED
|
@@ -0,0 +1,682 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
|
| 2 |
+
body {
|
| 3 |
+
background-color: #ddd;
|
| 4 |
+
}
|
| 5 |
+
|
| 6 |
+
.containerz {
|
| 7 |
+
display: flex;
|
| 8 |
+
width: 100vw;
|
| 9 |
+
height: 100vh;
|
| 10 |
+
}
|
| 11 |
+
|
| 12 |
+
.left-column {
|
| 13 |
+
padding-top: 100px;
|
| 14 |
+
flex: 2;
|
| 15 |
+
background-color: #ddd;
|
| 16 |
+
padding: 20px;
|
| 17 |
+
max-height: 100vh;
|
| 18 |
+
width: 100%;
|
| 19 |
+
max-width: 100%;
|
| 20 |
+
box-shadow: inset 0 15px 30px rgba(0, 0, 0, 0.1);
|
| 21 |
+
overflow-y: auto;
|
| 22 |
+
}
|
| 23 |
+
|
| 24 |
+
#canvas-container {
|
| 25 |
+
display: flex;
|
| 26 |
+
flex-wrap: wrap;
|
| 27 |
+
/* Wrap items to next line when they exceed the container width */
|
| 28 |
+
justify-content: center;
|
| 29 |
+
/* Center items horizontally */
|
| 30 |
+
gap: 10px;
|
| 31 |
+
/* Add some space between images */
|
| 32 |
+
max-width: 100%;
|
| 33 |
+
/* Ensure images don't exceed the container width */
|
| 34 |
+
margin-top: 70px;
|
| 35 |
+
}
|
| 36 |
+
|
| 37 |
+
.image-container {
|
| 38 |
+
width: 200px;
|
| 39 |
+
/* Set your desired width */
|
| 40 |
+
height: 300px;
|
| 41 |
+
/* Set your desired height */
|
| 42 |
+
background-color: white;
|
| 43 |
+
/* White background */
|
| 44 |
+
padding: 30px 30px 40px 30px;
|
| 45 |
+
/* Add padding */
|
| 46 |
+
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
|
| 47 |
+
border-radius: 10px;
|
| 48 |
+
}
|
| 49 |
+
|
| 50 |
+
.image-container:hover {
|
| 51 |
+
transition: all 0.3s;
|
| 52 |
+
transform: translateY(1.5px);
|
| 53 |
+
box-shadow: 0 6px 8px rgba(0, 0, 0, 0.4);
|
| 54 |
+
}
|
| 55 |
+
|
| 56 |
+
.image-container img {
|
| 57 |
+
width: 100%;
|
| 58 |
+
height: 100%;
|
| 59 |
+
object-fit: contain;
|
| 60 |
+
box-shadow: 0 6px 8px rgba(0, 0, 0, 0.1);
|
| 61 |
+
transition: all 0.3s;
|
| 62 |
+
}
|
| 63 |
+
|
| 64 |
+
p.images-name {
|
| 65 |
+
text-overflow: ellipsis;
|
| 66 |
+
white-space: nowrap;
|
| 67 |
+
overflow: hidden;
|
| 68 |
+
font-size: 10px;
|
| 69 |
+
margin: 5px 0 0 0;
|
| 70 |
+
text-align: center;
|
| 71 |
+
padding: 0;
|
| 72 |
+
}
|
| 73 |
+
|
| 74 |
+
.right-column {
|
| 75 |
+
flex: 2;
|
| 76 |
+
background-color: #ffffff;
|
| 77 |
+
padding: 20px;
|
| 78 |
+
overflow-y: auto;
|
| 79 |
+
max-height: 100vh;
|
| 80 |
+
}
|
| 81 |
+
|
| 82 |
+
.backbutton {
|
| 83 |
+
box-sizing: border-box;
|
| 84 |
+
border-radius: 10px;
|
| 85 |
+
color: var(--secondary-color);
|
| 86 |
+
padding: 1em 1.8em;
|
| 87 |
+
display: flex;
|
| 88 |
+
transition: 0.2s background;
|
| 89 |
+
align-items: center;
|
| 90 |
+
gap: 0.6em;
|
| 91 |
+
font-weight: bold;
|
| 92 |
+
background: rgba(255, 255, 255, 0.6);
|
| 93 |
+
backdrop-filter: blur(10px);
|
| 94 |
+
border: none;
|
| 95 |
+
cursor: pointer;
|
| 96 |
+
position: fixed;
|
| 97 |
+
z-index: 999;
|
| 98 |
+
}
|
| 99 |
+
|
| 100 |
+
.backbutton span {
|
| 101 |
+
text-decoration: none;
|
| 102 |
+
color: black;
|
| 103 |
+
font-family: 'Poppins', sans-serif, Arial, Helvetica;
|
| 104 |
+
font-size: 14px;
|
| 105 |
+
font-weight: 300;
|
| 106 |
+
}
|
| 107 |
+
|
| 108 |
+
.backbutton:hover {
|
| 109 |
+
background: linear-gradient(45deg, #FF6347, #FFA07A);
|
| 110 |
+
transition: all .3s ease-in-out;
|
| 111 |
+
}
|
| 112 |
+
|
| 113 |
+
.backbutton:hover span {
|
| 114 |
+
color: white;
|
| 115 |
+
transition: all .3s ease-in-out;
|
| 116 |
+
}
|
| 117 |
+
|
| 118 |
+
.backbutton:hover i {
|
| 119 |
+
color: white;
|
| 120 |
+
transition: all .3s ease-in-out;
|
| 121 |
+
}
|
| 122 |
+
|
| 123 |
+
.left-column h1 {
|
| 124 |
+
padding-top: 45px;
|
| 125 |
+
}
|
| 126 |
+
|
| 127 |
+
#canvas-container {
|
| 128 |
+
position: relative;
|
| 129 |
+
width: 100%;
|
| 130 |
+
height: 100%;
|
| 131 |
+
}
|
| 132 |
+
|
| 133 |
+
#canvas {
|
| 134 |
+
cursor: grab;
|
| 135 |
+
user-select: none;
|
| 136 |
+
}
|
| 137 |
+
|
| 138 |
+
#upload-input {
|
| 139 |
+
margin-top: 10px;
|
| 140 |
+
object-position: center;
|
| 141 |
+
}
|
| 142 |
+
|
| 143 |
+
.bordered-table {
|
| 144 |
+
justify-content: center;
|
| 145 |
+
display: flex;
|
| 146 |
+
padding: 0px 30px;
|
| 147 |
+
}
|
| 148 |
+
|
| 149 |
+
.bordered-table tbody td.full-width {
|
| 150 |
+
display: flex;
|
| 151 |
+
flex-wrap: wrap;
|
| 152 |
+
align-items: center;
|
| 153 |
+
}
|
| 154 |
+
|
| 155 |
+
.bordered-table tbody td.full-width .label {
|
| 156 |
+
width: 100px;
|
| 157 |
+
text-align: right;
|
| 158 |
+
margin-right: 5px;
|
| 159 |
+
}
|
| 160 |
+
|
| 161 |
+
.bordered-table tbody td .full-width input {
|
| 162 |
+
flex-grow: 1;
|
| 163 |
+
}
|
| 164 |
+
|
| 165 |
+
.bordered-table tbody td.full-width {
|
| 166 |
+
display: grid;
|
| 167 |
+
grid-template-columns: 100px 1fr;
|
| 168 |
+
}
|
| 169 |
+
|
| 170 |
+
.bordered-table tbody td.full-width .label {
|
| 171 |
+
justify-self: end;
|
| 172 |
+
}
|
| 173 |
+
|
| 174 |
+
#logox {
|
| 175 |
+
display: flex;
|
| 176 |
+
justify-content: center;
|
| 177 |
+
}
|
| 178 |
+
|
| 179 |
+
#logox img {
|
| 180 |
+
position: relative;
|
| 181 |
+
object-position: center;
|
| 182 |
+
width: 25%;
|
| 183 |
+
height: 25%;
|
| 184 |
+
padding: 10px 10px 10px 10px;
|
| 185 |
+
}
|
| 186 |
+
|
| 187 |
+
.receipt {
|
| 188 |
+
margin: 20px 20px;
|
| 189 |
+
}
|
| 190 |
+
|
| 191 |
+
.receipt1 {
|
| 192 |
+
margin: 20px 20px;
|
| 193 |
+
font: 14px;
|
| 194 |
+
}
|
| 195 |
+
|
| 196 |
+
.receipt1 table {
|
| 197 |
+
border-radius: 10px;
|
| 198 |
+
}
|
| 199 |
+
|
| 200 |
+
.receipt h1 {
|
| 201 |
+
text-align: center;
|
| 202 |
+
}
|
| 203 |
+
|
| 204 |
+
.receipt .details {
|
| 205 |
+
margin: 0px 0px 0px 15px;
|
| 206 |
+
}
|
| 207 |
+
|
| 208 |
+
.receipt table {
|
| 209 |
+
width: 100%;
|
| 210 |
+
border-collapse: collapse;
|
| 211 |
+
margin-bottom: 20px;
|
| 212 |
+
}
|
| 213 |
+
|
| 214 |
+
.receipt table {
|
| 215 |
+
border-radius: 10px;
|
| 216 |
+
}
|
| 217 |
+
|
| 218 |
+
.receipt table th,
|
| 219 |
+
.receipt table td {
|
| 220 |
+
border: 1px solid #ccc;
|
| 221 |
+
padding: 5px;
|
| 222 |
+
}
|
| 223 |
+
|
| 224 |
+
.receipt table th {
|
| 225 |
+
background-color: #f0f0f0;
|
| 226 |
+
text-align: left;
|
| 227 |
+
font-size: 16px;
|
| 228 |
+
font-weight: 500;
|
| 229 |
+
text-align: center;
|
| 230 |
+
}
|
| 231 |
+
|
| 232 |
+
.receipt table td {
|
| 233 |
+
text-align: center;
|
| 234 |
+
font-size: 14px;
|
| 235 |
+
max-width: 150px;
|
| 236 |
+
/* Set the maximum width */
|
| 237 |
+
overflow: hidden;
|
| 238 |
+
text-overflow: ellipsis;
|
| 239 |
+
white-space: nowrap;
|
| 240 |
+
padding: 0 20px;
|
| 241 |
+
}
|
| 242 |
+
|
| 243 |
+
#dataTable {
|
| 244 |
+
border-radius: 10px;
|
| 245 |
+
border-collapse: collapse;
|
| 246 |
+
width: 100%;
|
| 247 |
+
width: 100%;
|
| 248 |
+
border-collapse: collapse;
|
| 249 |
+
table-layout: fixed;
|
| 250 |
+
overflow-x: auto;
|
| 251 |
+
}
|
| 252 |
+
|
| 253 |
+
#receiptdiv {
|
| 254 |
+
display: none;
|
| 255 |
+
}
|
| 256 |
+
|
| 257 |
+
#dataTable th,
|
| 258 |
+
#dataTable td {
|
| 259 |
+
font-size: 12px;
|
| 260 |
+
text-align: center;
|
| 261 |
+
padding: 3px;
|
| 262 |
+
}
|
| 263 |
+
|
| 264 |
+
#downloadbutton {
|
| 265 |
+
display: none;
|
| 266 |
+
}
|
| 267 |
+
|
| 268 |
+
#loadingSpinner {
|
| 269 |
+
position: relative;
|
| 270 |
+
top: 20%;
|
| 271 |
+
left: 50%;
|
| 272 |
+
transform: translate(-50%, -50%);
|
| 273 |
+
border: 4px solid rgba(0, 0, 0, 0.1);
|
| 274 |
+
border-left: 4px solid #FF8B4A;
|
| 275 |
+
border-radius: 50%;
|
| 276 |
+
width: 30px;
|
| 277 |
+
height: 30px;
|
| 278 |
+
animation: spin 1s linear infinite;
|
| 279 |
+
display: none;
|
| 280 |
+
/* Hide initially */
|
| 281 |
+
}
|
| 282 |
+
|
| 283 |
+
@keyframes spin {
|
| 284 |
+
0% {
|
| 285 |
+
transform: rotate(0deg);
|
| 286 |
+
}
|
| 287 |
+
|
| 288 |
+
100% {
|
| 289 |
+
transform: rotate(360deg);
|
| 290 |
+
}
|
| 291 |
+
}
|
| 292 |
+
|
| 293 |
+
#uploadbutton:disabled {
|
| 294 |
+
cursor: not-allowed;
|
| 295 |
+
background-color: #dddddd;
|
| 296 |
+
}
|
| 297 |
+
|
| 298 |
+
.labels {
|
| 299 |
+
margin: 0 0 0 20px;
|
| 300 |
+
font-weight: 500;
|
| 301 |
+
}
|
| 302 |
+
|
| 303 |
+
.labels p {
|
| 304 |
+
font-size: 14px;
|
| 305 |
+
padding-top: 8px;
|
| 306 |
+
line-height: 5px;
|
| 307 |
+
color: ccc;
|
| 308 |
+
padding: 8px 0 0 0;
|
| 309 |
+
text-align: left;
|
| 310 |
+
}
|
| 311 |
+
|
| 312 |
+
#filenm {
|
| 313 |
+
position: relative;
|
| 314 |
+
z-index: 999;
|
| 315 |
+
}
|
| 316 |
+
|
| 317 |
+
.valid {
|
| 318 |
+
padding-left: 8px;
|
| 319 |
+
font-weight: 300;
|
| 320 |
+
font-size: 14px;
|
| 321 |
+
}
|
| 322 |
+
|
| 323 |
+
.details1 {
|
| 324 |
+
border-radius: 10px;
|
| 325 |
+
z-index: -1;
|
| 326 |
+
}
|
| 327 |
+
|
| 328 |
+
.details {}
|
| 329 |
+
|
| 330 |
+
.exportbutton {
|
| 331 |
+
margin-right: 17px;
|
| 332 |
+
box-sizing: border-box;
|
| 333 |
+
border-radius: 10px;
|
| 334 |
+
padding: 1em 1.8em;
|
| 335 |
+
display: flex;
|
| 336 |
+
transition: 0.2s background;
|
| 337 |
+
align-items: center;
|
| 338 |
+
gap: 0.6em;
|
| 339 |
+
font-weight: 400;
|
| 340 |
+
background: linear-gradient(45deg, #FF6347, #FFA07A);
|
| 341 |
+
backdrop-filter: blur(10px);
|
| 342 |
+
border: 2px solid transparent;
|
| 343 |
+
color: white;
|
| 344 |
+
cursor: pointer;
|
| 345 |
+
}
|
| 346 |
+
|
| 347 |
+
.exportbutton:hover {
|
| 348 |
+
border: 2px solid #FF8B4A;
|
| 349 |
+
background: #f5f5f5;
|
| 350 |
+
color: #000;
|
| 351 |
+
transition: all .3s ease-in-out;
|
| 352 |
+
}
|
| 353 |
+
|
| 354 |
+
@media (max-width: 1024px) {
|
| 355 |
+
.filenm {
|
| 356 |
+
border-radius: 10px;
|
| 357 |
+
gap: 0.3em;
|
| 358 |
+
font-size: 9px;
|
| 359 |
+
padding: 9px 11px;
|
| 360 |
+
margin: 0;
|
| 361 |
+
}
|
| 362 |
+
|
| 363 |
+
.filenm span {
|
| 364 |
+
text-overflow: ellipsis;
|
| 365 |
+
white-space: nowrap;
|
| 366 |
+
overflow: hidden;
|
| 367 |
+
}
|
| 368 |
+
|
| 369 |
+
.backbutton span {
|
| 370 |
+
font-size: 9px;
|
| 371 |
+
}
|
| 372 |
+
|
| 373 |
+
.backbutton {
|
| 374 |
+
padding: 12px 14px;
|
| 375 |
+
border-radius: 10px;
|
| 376 |
+
}
|
| 377 |
+
|
| 378 |
+
.receipt {
|
| 379 |
+
margin: 15px 15px;
|
| 380 |
+
}
|
| 381 |
+
|
| 382 |
+
p {
|
| 383 |
+
padding: 10px;
|
| 384 |
+
font-size: 13px;
|
| 385 |
+
}
|
| 386 |
+
|
| 387 |
+
p.desc {
|
| 388 |
+
font-size: 8px;
|
| 389 |
+
text-align: left;
|
| 390 |
+
}
|
| 391 |
+
|
| 392 |
+
.labels {
|
| 393 |
+
text-align: left;
|
| 394 |
+
}
|
| 395 |
+
|
| 396 |
+
.labels p {
|
| 397 |
+
padding: 8px 0 8px 0;
|
| 398 |
+
}
|
| 399 |
+
|
| 400 |
+
.avatargif img {
|
| 401 |
+
margin-top: 1.5em;
|
| 402 |
+
}
|
| 403 |
+
}
|
| 404 |
+
|
| 405 |
+
@media (max-width: 768px) {
|
| 406 |
+
#logox img {
|
| 407 |
+
position: relative;
|
| 408 |
+
object-position: center;
|
| 409 |
+
width: 30%;
|
| 410 |
+
height: 30%;
|
| 411 |
+
padding: 10px 10px 10px 10px;
|
| 412 |
+
}
|
| 413 |
+
|
| 414 |
+
.filenm {
|
| 415 |
+
border-radius: 6px;
|
| 416 |
+
gap: 0.3em;
|
| 417 |
+
font-size: 10px;
|
| 418 |
+
padding: 10px 12px;
|
| 419 |
+
margin: 0;
|
| 420 |
+
}
|
| 421 |
+
|
| 422 |
+
.filenm span {
|
| 423 |
+
text-overflow: ellipsis;
|
| 424 |
+
white-space: nowrap;
|
| 425 |
+
overflow: hidden;
|
| 426 |
+
}
|
| 427 |
+
|
| 428 |
+
.backbutton span {
|
| 429 |
+
font-size: 10px;
|
| 430 |
+
}
|
| 431 |
+
|
| 432 |
+
.backbutton {
|
| 433 |
+
padding: 12px 14px;
|
| 434 |
+
border-radius: 6px;
|
| 435 |
+
}
|
| 436 |
+
|
| 437 |
+
.labels {
|
| 438 |
+
padding: 0 0 5px 0;
|
| 439 |
+
margin: 0;
|
| 440 |
+
}
|
| 441 |
+
|
| 442 |
+
p {
|
| 443 |
+
padding: 8px;
|
| 444 |
+
font-size: 12px;
|
| 445 |
+
}
|
| 446 |
+
|
| 447 |
+
.uploadbutton {
|
| 448 |
+
padding: 8px 24px;
|
| 449 |
+
font-size: 14px;
|
| 450 |
+
font-weight: 300;
|
| 451 |
+
}
|
| 452 |
+
|
| 453 |
+
p.desc {
|
| 454 |
+
font-size: 6px;
|
| 455 |
+
line-height: 12px;
|
| 456 |
+
}
|
| 457 |
+
|
| 458 |
+
.valid {
|
| 459 |
+
padding-left: 5px;
|
| 460 |
+
font-size: 12px;
|
| 461 |
+
}
|
| 462 |
+
|
| 463 |
+
.labels p {
|
| 464 |
+
padding: 8px 0 8px 0;
|
| 465 |
+
}
|
| 466 |
+
|
| 467 |
+
#dataTable th,
|
| 468 |
+
#dataTable td {
|
| 469 |
+
font-size: 6px;
|
| 470 |
+
text-align: left;
|
| 471 |
+
padding: 1px;
|
| 472 |
+
}
|
| 473 |
+
|
| 474 |
+
.exportbutton {
|
| 475 |
+
margin-left: 17px;
|
| 476 |
+
border-radius: 5px;
|
| 477 |
+
padding: .8em 1em;
|
| 478 |
+
font-weight: 300;
|
| 479 |
+
font-size: 12px;
|
| 480 |
+
}
|
| 481 |
+
|
| 482 |
+
.avatargif img {
|
| 483 |
+
margin-top: 1.25em;
|
| 484 |
+
}
|
| 485 |
+
}
|
| 486 |
+
|
| 487 |
+
@media screen and (max-width: 576px) {
|
| 488 |
+
|
| 489 |
+
/* Styles for screens up to 576px wide */
|
| 490 |
+
.containerz {
|
| 491 |
+
flex-direction: column;
|
| 492 |
+
}
|
| 493 |
+
|
| 494 |
+
.left-column,
|
| 495 |
+
.right-column {
|
| 496 |
+
flex: 1;
|
| 497 |
+
width: 100%;
|
| 498 |
+
}
|
| 499 |
+
|
| 500 |
+
.left-column {
|
| 501 |
+
box-shadow: inset 0 15px 30px rgba(0, 0, 0, 0.1);
|
| 502 |
+
padding: 10px;
|
| 503 |
+
}
|
| 504 |
+
|
| 505 |
+
.right-column {
|
| 506 |
+
border-radius: 20px;
|
| 507 |
+
flex: 1.2;
|
| 508 |
+
}
|
| 509 |
+
|
| 510 |
+
.filenm {
|
| 511 |
+
border-radius: 7px;
|
| 512 |
+
gap: 0.3em;
|
| 513 |
+
font-size: 12px;
|
| 514 |
+
white-space: nowrap;
|
| 515 |
+
overflow: hidden;
|
| 516 |
+
text-overflow: ellipsis;
|
| 517 |
+
padding: 8px 10px;
|
| 518 |
+
margin: 0;
|
| 519 |
+
}
|
| 520 |
+
|
| 521 |
+
.backbutton span {
|
| 522 |
+
font-size: 12px;
|
| 523 |
+
}
|
| 524 |
+
|
| 525 |
+
.backbutton {
|
| 526 |
+
padding: 8px 10px;
|
| 527 |
+
border-radius: 7px;
|
| 528 |
+
}
|
| 529 |
+
|
| 530 |
+
.labels {
|
| 531 |
+
padding: 0 0 5px 0;
|
| 532 |
+
margin: 0;
|
| 533 |
+
}
|
| 534 |
+
|
| 535 |
+
.uploadbutton {
|
| 536 |
+
padding: 6px 22px;
|
| 537 |
+
font-size: 12px;
|
| 538 |
+
font-weight: 300;
|
| 539 |
+
}
|
| 540 |
+
|
| 541 |
+
p.desc {
|
| 542 |
+
font-size: 4px;
|
| 543 |
+
text-align: left;
|
| 544 |
+
line-height: 10px;
|
| 545 |
+
}
|
| 546 |
+
|
| 547 |
+
.valid {
|
| 548 |
+
padding-left: 5px;
|
| 549 |
+
font-size: 10px;
|
| 550 |
+
}
|
| 551 |
+
|
| 552 |
+
.labels p {
|
| 553 |
+
padding: 8px 0 8px 0;
|
| 554 |
+
}
|
| 555 |
+
|
| 556 |
+
#dataTable th,
|
| 557 |
+
#dataTable td {
|
| 558 |
+
font-size: 6px;
|
| 559 |
+
text-align: left;
|
| 560 |
+
padding: 1px;
|
| 561 |
+
}
|
| 562 |
+
|
| 563 |
+
.exportbutton {
|
| 564 |
+
margin-left: 17px;
|
| 565 |
+
border-radius: 5px;
|
| 566 |
+
padding: .5em .8em;
|
| 567 |
+
font-weight: 300;
|
| 568 |
+
font-size: 10px;
|
| 569 |
+
}
|
| 570 |
+
|
| 571 |
+
.avatargif img {
|
| 572 |
+
margin-top: 1em;
|
| 573 |
+
}
|
| 574 |
+
}
|
| 575 |
+
|
| 576 |
+
p.desc {
|
| 577 |
+
font-size: 10px;
|
| 578 |
+
font-family: 'Poppins';
|
| 579 |
+
font-weight: 200;
|
| 580 |
+
margin: 0;
|
| 581 |
+
padding: 0;
|
| 582 |
+
line-height: 12px;
|
| 583 |
+
font-style: italic;
|
| 584 |
+
}
|
| 585 |
+
|
| 586 |
+
.fa-spinner {
|
| 587 |
+
font-size: 16px;
|
| 588 |
+
}
|
| 589 |
+
|
| 590 |
+
.avatargif {
|
| 591 |
+
display: flex;
|
| 592 |
+
justify-content: center;
|
| 593 |
+
align-items: center;
|
| 594 |
+
}
|
| 595 |
+
|
| 596 |
+
.avatargif img {
|
| 597 |
+
margin-top: 3.5em;
|
| 598 |
+
width: 40%;
|
| 599 |
+
height: 40%;
|
| 600 |
+
}
|
| 601 |
+
|
| 602 |
+
.red-border {
|
| 603 |
+
border: 2px solid red;
|
| 604 |
+
}
|
| 605 |
+
|
| 606 |
+
.green-border {
|
| 607 |
+
border: 2px solid green;
|
| 608 |
+
}
|
| 609 |
+
|
| 610 |
+
::-webkit-scrollbar {
|
| 611 |
+
display: none;
|
| 612 |
+
}
|
| 613 |
+
|
| 614 |
+
.image-container:hover .tooltiptext {
|
| 615 |
+
visibility: visible;
|
| 616 |
+
opacity: 1;
|
| 617 |
+
}
|
| 618 |
+
|
| 619 |
+
.tooltiptext {
|
| 620 |
+
font-size: 12px;
|
| 621 |
+
visibility: hidden;
|
| 622 |
+
width: 160px;
|
| 623 |
+
background-color: #333;
|
| 624 |
+
color: #fff;
|
| 625 |
+
text-align: center;
|
| 626 |
+
border-radius: 8px;
|
| 627 |
+
padding: 5px;
|
| 628 |
+
position: absolute;
|
| 629 |
+
z-index: 99;
|
| 630 |
+
bottom: 105%;
|
| 631 |
+
left: 50%;
|
| 632 |
+
margin-left: -80px;
|
| 633 |
+
opacity: 0;
|
| 634 |
+
transition: opacity 0.3s;
|
| 635 |
+
}
|
| 636 |
+
|
| 637 |
+
.tooltiptext::after {
|
| 638 |
+
content: "";
|
| 639 |
+
position: absolute;
|
| 640 |
+
top: 100%;
|
| 641 |
+
left: 50%;
|
| 642 |
+
margin-left: -5px;
|
| 643 |
+
border-width: 5px;
|
| 644 |
+
border-style: solid;
|
| 645 |
+
border-color: #333 transparent transparent transparent;
|
| 646 |
+
}
|
| 647 |
+
|
| 648 |
+
.zoomed-image-container {
|
| 649 |
+
position: fixed;
|
| 650 |
+
top: 0;
|
| 651 |
+
left: 0;
|
| 652 |
+
width: 50%;
|
| 653 |
+
height: 100%;
|
| 654 |
+
background-color: rgba(0, 0, 0, 0.8);
|
| 655 |
+
display: flex;
|
| 656 |
+
justify-content: center;
|
| 657 |
+
align-items: center;
|
| 658 |
+
z-index: 999;
|
| 659 |
+
}
|
| 660 |
+
|
| 661 |
+
.zoomed-image-container img {
|
| 662 |
+
max-width: 90%;
|
| 663 |
+
max-height: 90%;
|
| 664 |
+
object-fit: contain;
|
| 665 |
+
}
|
| 666 |
+
|
| 667 |
+
@media (max-width: 576px) {
|
| 668 |
+
.zoomed-image-container {
|
| 669 |
+
position: fixed;
|
| 670 |
+
top: 0;
|
| 671 |
+
left: 0;
|
| 672 |
+
width: 100%;
|
| 673 |
+
height: 45%;
|
| 674 |
+
background-color: rgba(0, 0, 0, 0.8);
|
| 675 |
+
display: flex;
|
| 676 |
+
justify-content: center;
|
| 677 |
+
align-items: center;
|
| 678 |
+
z-index: 999;
|
| 679 |
+
/* Optional: If you want to hide the scrollbar in Firefox */
|
| 680 |
+
scrollbar-width: none;
|
| 681 |
+
}
|
| 682 |
+
}
|
templates/extractor.html
CHANGED
|
@@ -9,7 +9,9 @@
|
|
| 9 |
<link rel="shortcut icon" href="/static/images/favicon.ico" title="Favicon" />
|
| 10 |
|
| 11 |
<!-- Main CSS Files -->
|
| 12 |
-
<link rel="stylesheet" href="/static/css/style.css">
|
|
|
|
|
|
|
| 13 |
|
| 14 |
<!-- Color CSS -->
|
| 15 |
<link rel="stylesheet" href="/static/css/color.css">
|
|
@@ -27,689 +29,7 @@
|
|
| 27 |
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600&display=swap"
|
| 28 |
rel="stylesheet">
|
| 29 |
<title>ExCeipt | Extractor</title>
|
| 30 |
-
|
| 31 |
-
body {
|
| 32 |
-
background-color: #ddd;
|
| 33 |
-
}
|
| 34 |
-
|
| 35 |
-
.containerz {
|
| 36 |
-
display: flex;
|
| 37 |
-
width: 100vw;
|
| 38 |
-
height: 100vh;
|
| 39 |
-
}
|
| 40 |
-
|
| 41 |
-
.left-column {
|
| 42 |
-
padding-top: 100px;
|
| 43 |
-
flex: 2;
|
| 44 |
-
background-color: #ddd;
|
| 45 |
-
padding: 20px;
|
| 46 |
-
max-height: 100vh;
|
| 47 |
-
width: 100%;
|
| 48 |
-
max-width: 100%;
|
| 49 |
-
box-shadow: inset 0 15px 30px rgba(0, 0, 0, 0.1);
|
| 50 |
-
overflow-y: auto;
|
| 51 |
-
}
|
| 52 |
-
|
| 53 |
-
#canvas-container {
|
| 54 |
-
display: flex;
|
| 55 |
-
flex-wrap: wrap;
|
| 56 |
-
/* Wrap items to next line when they exceed the container width */
|
| 57 |
-
justify-content: center;
|
| 58 |
-
/* Center items horizontally */
|
| 59 |
-
gap: 10px;
|
| 60 |
-
/* Add some space between images */
|
| 61 |
-
max-width: 100%;
|
| 62 |
-
/* Ensure images don't exceed the container width */
|
| 63 |
-
margin-top: 70px;
|
| 64 |
-
}
|
| 65 |
-
|
| 66 |
-
.image-container {
|
| 67 |
-
width: 200px;
|
| 68 |
-
/* Set your desired width */
|
| 69 |
-
height: 300px;
|
| 70 |
-
/* Set your desired height */
|
| 71 |
-
background-color: white;
|
| 72 |
-
/* White background */
|
| 73 |
-
padding: 30px 30px 40px 30px;
|
| 74 |
-
/* Add padding */
|
| 75 |
-
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
|
| 76 |
-
border-radius: 10px;
|
| 77 |
-
}
|
| 78 |
-
|
| 79 |
-
.image-container:hover {
|
| 80 |
-
transition: all 0.3s;
|
| 81 |
-
transform: translateY(1.5px);
|
| 82 |
-
box-shadow: 0 6px 8px rgba(0, 0, 0, 0.4);
|
| 83 |
-
}
|
| 84 |
-
|
| 85 |
-
.image-container img {
|
| 86 |
-
width: 100%;
|
| 87 |
-
height: 100%;
|
| 88 |
-
object-fit: contain;
|
| 89 |
-
box-shadow: 0 6px 8px rgba(0, 0, 0, 0.1);
|
| 90 |
-
transition: all 0.3s;
|
| 91 |
-
}
|
| 92 |
-
|
| 93 |
-
p.images-name {
|
| 94 |
-
text-overflow: ellipsis;
|
| 95 |
-
white-space: nowrap;
|
| 96 |
-
overflow: hidden;
|
| 97 |
-
font-size: 10px;
|
| 98 |
-
margin: 5px 0 0 0;
|
| 99 |
-
text-align: center;
|
| 100 |
-
padding: 0;
|
| 101 |
-
}
|
| 102 |
-
|
| 103 |
-
.right-column {
|
| 104 |
-
flex: 2;
|
| 105 |
-
background-color: #ffffff;
|
| 106 |
-
padding: 20px;
|
| 107 |
-
overflow-y: auto;
|
| 108 |
-
max-height: 100vh;
|
| 109 |
-
}
|
| 110 |
-
|
| 111 |
-
.backbutton {
|
| 112 |
-
box-sizing: border-box;
|
| 113 |
-
border-radius: 10px;
|
| 114 |
-
color: var(--secondary-color);
|
| 115 |
-
padding: 1em 1.8em;
|
| 116 |
-
display: flex;
|
| 117 |
-
transition: 0.2s background;
|
| 118 |
-
align-items: center;
|
| 119 |
-
gap: 0.6em;
|
| 120 |
-
font-weight: bold;
|
| 121 |
-
background: rgba(255, 255, 255, 0.6);
|
| 122 |
-
backdrop-filter: blur(10px);
|
| 123 |
-
border: none;
|
| 124 |
-
cursor: pointer;
|
| 125 |
-
position: fixed;
|
| 126 |
-
z-index: 999;
|
| 127 |
-
}
|
| 128 |
-
|
| 129 |
-
.backbutton span {
|
| 130 |
-
text-decoration: none;
|
| 131 |
-
color: black;
|
| 132 |
-
font-family: 'Poppins', sans-serif, Arial, Helvetica;
|
| 133 |
-
font-size: 14px;
|
| 134 |
-
font-weight: 300;
|
| 135 |
-
}
|
| 136 |
-
|
| 137 |
-
.backbutton:hover {
|
| 138 |
-
background: linear-gradient(45deg, #FF6347, #FFA07A);
|
| 139 |
-
transition: all .3s ease-in-out;
|
| 140 |
-
}
|
| 141 |
-
|
| 142 |
-
.backbutton:hover span {
|
| 143 |
-
color: white;
|
| 144 |
-
transition: all .3s ease-in-out;
|
| 145 |
-
}
|
| 146 |
-
|
| 147 |
-
.backbutton:hover i {
|
| 148 |
-
color: white;
|
| 149 |
-
transition: all .3s ease-in-out;
|
| 150 |
-
}
|
| 151 |
-
|
| 152 |
-
.left-column h1 {
|
| 153 |
-
padding-top: 45px;
|
| 154 |
-
}
|
| 155 |
-
|
| 156 |
-
#canvas-container {
|
| 157 |
-
position: relative;
|
| 158 |
-
width: 100%;
|
| 159 |
-
height: 100%;
|
| 160 |
-
}
|
| 161 |
-
|
| 162 |
-
#canvas {
|
| 163 |
-
cursor: grab;
|
| 164 |
-
user-select: none;
|
| 165 |
-
}
|
| 166 |
-
|
| 167 |
-
#upload-input {
|
| 168 |
-
margin-top: 10px;
|
| 169 |
-
object-position: center;
|
| 170 |
-
}
|
| 171 |
-
|
| 172 |
-
.bordered-table {
|
| 173 |
-
justify-content: center;
|
| 174 |
-
display: flex;
|
| 175 |
-
padding: 0px 30px;
|
| 176 |
-
}
|
| 177 |
-
|
| 178 |
-
.bordered-table tbody td.full-width {
|
| 179 |
-
display: flex;
|
| 180 |
-
flex-wrap: wrap;
|
| 181 |
-
align-items: center;
|
| 182 |
-
}
|
| 183 |
-
|
| 184 |
-
.bordered-table tbody td.full-width .label {
|
| 185 |
-
width: 100px;
|
| 186 |
-
text-align: right;
|
| 187 |
-
margin-right: 5px;
|
| 188 |
-
}
|
| 189 |
-
|
| 190 |
-
.bordered-table tbody td .full-width input {
|
| 191 |
-
flex-grow: 1;
|
| 192 |
-
}
|
| 193 |
-
|
| 194 |
-
.bordered-table tbody td.full-width {
|
| 195 |
-
display: grid;
|
| 196 |
-
grid-template-columns: 100px 1fr;
|
| 197 |
-
}
|
| 198 |
-
|
| 199 |
-
.bordered-table tbody td.full-width .label {
|
| 200 |
-
justify-self: end;
|
| 201 |
-
}
|
| 202 |
-
|
| 203 |
-
#logox {
|
| 204 |
-
display: flex;
|
| 205 |
-
justify-content: center;
|
| 206 |
-
}
|
| 207 |
-
|
| 208 |
-
#logox img {
|
| 209 |
-
position: relative;
|
| 210 |
-
object-position: center;
|
| 211 |
-
width: 25%;
|
| 212 |
-
height: 25%;
|
| 213 |
-
padding: 10px 10px 10px 10px;
|
| 214 |
-
}
|
| 215 |
-
|
| 216 |
-
.receipt {
|
| 217 |
-
margin: 20px 20px;
|
| 218 |
-
}
|
| 219 |
-
|
| 220 |
-
.receipt1 {
|
| 221 |
-
margin: 20px 20px;
|
| 222 |
-
font: 14px;
|
| 223 |
-
}
|
| 224 |
-
|
| 225 |
-
.receipt1 table {
|
| 226 |
-
border-radius: 10px;
|
| 227 |
-
}
|
| 228 |
-
|
| 229 |
-
.receipt h1 {
|
| 230 |
-
text-align: center;
|
| 231 |
-
}
|
| 232 |
-
|
| 233 |
-
.receipt .details {
|
| 234 |
-
margin: 0px 0px 0px 15px;
|
| 235 |
-
}
|
| 236 |
-
|
| 237 |
-
.receipt table {
|
| 238 |
-
width: 100%;
|
| 239 |
-
border-collapse: collapse;
|
| 240 |
-
margin-bottom: 20px;
|
| 241 |
-
}
|
| 242 |
-
|
| 243 |
-
.receipt table {
|
| 244 |
-
border-radius: 10px;
|
| 245 |
-
}
|
| 246 |
-
|
| 247 |
-
.receipt table th,
|
| 248 |
-
.receipt table td {
|
| 249 |
-
border: 1px solid #ccc;
|
| 250 |
-
padding: 5px;
|
| 251 |
-
}
|
| 252 |
-
|
| 253 |
-
.receipt table th {
|
| 254 |
-
background-color: #f0f0f0;
|
| 255 |
-
text-align: left;
|
| 256 |
-
font-size: 16px;
|
| 257 |
-
font-weight: 500;
|
| 258 |
-
text-align: center;
|
| 259 |
-
}
|
| 260 |
-
|
| 261 |
-
.receipt table td {
|
| 262 |
-
text-align: center;
|
| 263 |
-
font-size: 14px;
|
| 264 |
-
max-width: 150px;
|
| 265 |
-
/* Set the maximum width */
|
| 266 |
-
overflow: hidden;
|
| 267 |
-
text-overflow: ellipsis;
|
| 268 |
-
white-space: nowrap;
|
| 269 |
-
padding: 0 20px;
|
| 270 |
-
}
|
| 271 |
-
|
| 272 |
-
#dataTable {
|
| 273 |
-
border-radius: 10px;
|
| 274 |
-
border-collapse: collapse;
|
| 275 |
-
width: 100%;
|
| 276 |
-
width: 100%;
|
| 277 |
-
border-collapse: collapse;
|
| 278 |
-
table-layout: fixed;
|
| 279 |
-
overflow-x: auto;
|
| 280 |
-
}
|
| 281 |
-
|
| 282 |
-
#receiptdiv {
|
| 283 |
-
display: none;
|
| 284 |
-
}
|
| 285 |
-
|
| 286 |
-
#dataTable th,
|
| 287 |
-
#dataTable td {
|
| 288 |
-
font-size: 12px;
|
| 289 |
-
text-align: center;
|
| 290 |
-
padding: 3px;
|
| 291 |
-
}
|
| 292 |
-
|
| 293 |
-
#downloadbutton {
|
| 294 |
-
display: none;
|
| 295 |
-
}
|
| 296 |
-
|
| 297 |
-
#loadingSpinner {
|
| 298 |
-
position: relative;
|
| 299 |
-
top: 20%;
|
| 300 |
-
left: 50%;
|
| 301 |
-
transform: translate(-50%, -50%);
|
| 302 |
-
border: 4px solid rgba(0, 0, 0, 0.1);
|
| 303 |
-
border-left: 4px solid #FF8B4A;
|
| 304 |
-
border-radius: 50%;
|
| 305 |
-
width: 30px;
|
| 306 |
-
height: 30px;
|
| 307 |
-
animation: spin 1s linear infinite;
|
| 308 |
-
display: none;
|
| 309 |
-
/* Hide initially */
|
| 310 |
-
}
|
| 311 |
-
|
| 312 |
-
@keyframes spin {
|
| 313 |
-
0% {
|
| 314 |
-
transform: rotate(0deg);
|
| 315 |
-
}
|
| 316 |
-
|
| 317 |
-
100% {
|
| 318 |
-
transform: rotate(360deg);
|
| 319 |
-
}
|
| 320 |
-
}
|
| 321 |
-
|
| 322 |
-
#uploadbutton:disabled {
|
| 323 |
-
cursor: not-allowed;
|
| 324 |
-
background-color: #dddddd;
|
| 325 |
-
}
|
| 326 |
-
|
| 327 |
-
.labels {
|
| 328 |
-
margin: 0 0 0 20px;
|
| 329 |
-
font-weight: 500;
|
| 330 |
-
}
|
| 331 |
-
|
| 332 |
-
.labels p {
|
| 333 |
-
font-size: 14px;
|
| 334 |
-
padding-top: 8px;
|
| 335 |
-
line-height: 5px;
|
| 336 |
-
color: ccc;
|
| 337 |
-
padding: 8px 0 0 0;
|
| 338 |
-
text-align: left;
|
| 339 |
-
}
|
| 340 |
-
|
| 341 |
-
#filenm {
|
| 342 |
-
position: relative;
|
| 343 |
-
z-index: 999;
|
| 344 |
-
}
|
| 345 |
-
|
| 346 |
-
.valid {
|
| 347 |
-
padding-left: 8px;
|
| 348 |
-
font-weight: 300;
|
| 349 |
-
font-size: 14px;
|
| 350 |
-
}
|
| 351 |
-
|
| 352 |
-
.details1 {
|
| 353 |
-
border-radius: 10px;
|
| 354 |
-
z-index: -1;
|
| 355 |
-
}
|
| 356 |
-
|
| 357 |
-
.details {}
|
| 358 |
-
|
| 359 |
-
.exportbutton {
|
| 360 |
-
margin-right: 17px;
|
| 361 |
-
box-sizing: border-box;
|
| 362 |
-
border-radius: 10px;
|
| 363 |
-
padding: 1em 1.8em;
|
| 364 |
-
display: flex;
|
| 365 |
-
transition: 0.2s background;
|
| 366 |
-
align-items: center;
|
| 367 |
-
gap: 0.6em;
|
| 368 |
-
font-weight: 400;
|
| 369 |
-
background: linear-gradient(45deg, #FF6347, #FFA07A);
|
| 370 |
-
backdrop-filter: blur(10px);
|
| 371 |
-
border: 2px solid transparent;
|
| 372 |
-
color: white;
|
| 373 |
-
cursor: pointer;
|
| 374 |
-
}
|
| 375 |
-
|
| 376 |
-
.exportbutton:hover {
|
| 377 |
-
border: 2px solid #FF8B4A;
|
| 378 |
-
background: #f5f5f5;
|
| 379 |
-
color: #000;
|
| 380 |
-
transition: all .3s ease-in-out;
|
| 381 |
-
}
|
| 382 |
-
|
| 383 |
-
@media (max-width: 1024px) {
|
| 384 |
-
.filenm {
|
| 385 |
-
border-radius: 10px;
|
| 386 |
-
gap: 0.3em;
|
| 387 |
-
font-size: 9px;
|
| 388 |
-
padding: 9px 11px;
|
| 389 |
-
margin: 0;
|
| 390 |
-
}
|
| 391 |
-
|
| 392 |
-
.filenm span {
|
| 393 |
-
text-overflow: ellipsis;
|
| 394 |
-
white-space: nowrap;
|
| 395 |
-
overflow: hidden;
|
| 396 |
-
}
|
| 397 |
-
|
| 398 |
-
.backbutton span {
|
| 399 |
-
font-size: 9px;
|
| 400 |
-
}
|
| 401 |
-
|
| 402 |
-
.backbutton {
|
| 403 |
-
padding: 12px 14px;
|
| 404 |
-
border-radius: 10px;
|
| 405 |
-
}
|
| 406 |
-
|
| 407 |
-
.receipt {
|
| 408 |
-
margin: 15px 15px;
|
| 409 |
-
}
|
| 410 |
-
|
| 411 |
-
p {
|
| 412 |
-
padding: 10px;
|
| 413 |
-
font-size: 13px;
|
| 414 |
-
}
|
| 415 |
-
|
| 416 |
-
p.desc {
|
| 417 |
-
font-size: 8px;
|
| 418 |
-
text-align: left;
|
| 419 |
-
}
|
| 420 |
-
|
| 421 |
-
.labels {
|
| 422 |
-
text-align: left;
|
| 423 |
-
}
|
| 424 |
-
|
| 425 |
-
.labels p {
|
| 426 |
-
padding: 8px 0 8px 0;
|
| 427 |
-
}
|
| 428 |
-
|
| 429 |
-
.avatargif img {
|
| 430 |
-
margin-top: 1.5em;
|
| 431 |
-
}
|
| 432 |
-
}
|
| 433 |
-
|
| 434 |
-
@media (max-width: 768px) {
|
| 435 |
-
#logox img {
|
| 436 |
-
position: relative;
|
| 437 |
-
object-position: center;
|
| 438 |
-
width: 30%;
|
| 439 |
-
height: 30%;
|
| 440 |
-
padding: 10px 10px 10px 10px;
|
| 441 |
-
}
|
| 442 |
-
|
| 443 |
-
.filenm {
|
| 444 |
-
border-radius: 6px;
|
| 445 |
-
gap: 0.3em;
|
| 446 |
-
font-size: 10px;
|
| 447 |
-
padding: 10px 12px;
|
| 448 |
-
margin: 0;
|
| 449 |
-
}
|
| 450 |
-
|
| 451 |
-
.filenm span {
|
| 452 |
-
text-overflow: ellipsis;
|
| 453 |
-
white-space: nowrap;
|
| 454 |
-
overflow: hidden;
|
| 455 |
-
}
|
| 456 |
-
|
| 457 |
-
.backbutton span {
|
| 458 |
-
font-size: 10px;
|
| 459 |
-
}
|
| 460 |
-
|
| 461 |
-
.backbutton {
|
| 462 |
-
padding: 12px 14px;
|
| 463 |
-
border-radius: 6px;
|
| 464 |
-
}
|
| 465 |
-
|
| 466 |
-
.labels {
|
| 467 |
-
padding: 0 0 5px 0;
|
| 468 |
-
margin: 0;
|
| 469 |
-
}
|
| 470 |
-
|
| 471 |
-
p {
|
| 472 |
-
padding: 8px;
|
| 473 |
-
font-size: 12px;
|
| 474 |
-
}
|
| 475 |
-
|
| 476 |
-
.uploadbutton {
|
| 477 |
-
padding: 8px 24px;
|
| 478 |
-
font-size: 14px;
|
| 479 |
-
font-weight: 300;
|
| 480 |
-
}
|
| 481 |
-
|
| 482 |
-
p.desc {
|
| 483 |
-
font-size: 6px;
|
| 484 |
-
line-height: 12px;
|
| 485 |
-
}
|
| 486 |
-
|
| 487 |
-
.valid {
|
| 488 |
-
padding-left: 5px;
|
| 489 |
-
font-size: 12px;
|
| 490 |
-
}
|
| 491 |
-
|
| 492 |
-
.labels p {
|
| 493 |
-
padding: 8px 0 8px 0;
|
| 494 |
-
}
|
| 495 |
-
|
| 496 |
-
#dataTable th,
|
| 497 |
-
#dataTable td {
|
| 498 |
-
font-size: 6px;
|
| 499 |
-
text-align: left;
|
| 500 |
-
padding: 1px;
|
| 501 |
-
}
|
| 502 |
-
|
| 503 |
-
.exportbutton {
|
| 504 |
-
margin-left: 17px;
|
| 505 |
-
border-radius: 5px;
|
| 506 |
-
padding: .8em 1em;
|
| 507 |
-
font-weight: 300;
|
| 508 |
-
font-size: 12px;
|
| 509 |
-
}
|
| 510 |
-
|
| 511 |
-
.avatargif img {
|
| 512 |
-
margin-top: 1.25em;
|
| 513 |
-
}
|
| 514 |
-
}
|
| 515 |
-
|
| 516 |
-
@media screen and (max-width: 576px) {
|
| 517 |
-
|
| 518 |
-
/* Styles for screens up to 576px wide */
|
| 519 |
-
.containerz {
|
| 520 |
-
flex-direction: column;
|
| 521 |
-
}
|
| 522 |
-
|
| 523 |
-
.left-column,
|
| 524 |
-
.right-column {
|
| 525 |
-
flex: 1;
|
| 526 |
-
width: 100%;
|
| 527 |
-
}
|
| 528 |
-
|
| 529 |
-
.left-column {
|
| 530 |
-
box-shadow: inset 0 15px 30px rgba(0, 0, 0, 0.1);
|
| 531 |
-
padding: 10px;
|
| 532 |
-
}
|
| 533 |
-
|
| 534 |
-
.right-column {
|
| 535 |
-
border-radius: 20px;
|
| 536 |
-
flex: 1.2;
|
| 537 |
-
}
|
| 538 |
-
|
| 539 |
-
.filenm {
|
| 540 |
-
border-radius: 7px;
|
| 541 |
-
gap: 0.3em;
|
| 542 |
-
font-size: 12px;
|
| 543 |
-
white-space: nowrap;
|
| 544 |
-
overflow: hidden;
|
| 545 |
-
text-overflow: ellipsis;
|
| 546 |
-
padding: 8px 10px;
|
| 547 |
-
margin: 0;
|
| 548 |
-
}
|
| 549 |
-
|
| 550 |
-
.backbutton span {
|
| 551 |
-
font-size: 12px;
|
| 552 |
-
}
|
| 553 |
-
|
| 554 |
-
.backbutton {
|
| 555 |
-
padding: 8px 10px;
|
| 556 |
-
border-radius: 7px;
|
| 557 |
-
}
|
| 558 |
-
|
| 559 |
-
.labels {
|
| 560 |
-
padding: 0 0 5px 0;
|
| 561 |
-
margin: 0;
|
| 562 |
-
}
|
| 563 |
-
|
| 564 |
-
.uploadbutton {
|
| 565 |
-
padding: 6px 22px;
|
| 566 |
-
font-size: 12px;
|
| 567 |
-
font-weight: 300;
|
| 568 |
-
}
|
| 569 |
-
|
| 570 |
-
p.desc {
|
| 571 |
-
font-size: 4px;
|
| 572 |
-
text-align: left;
|
| 573 |
-
line-height: 10px;
|
| 574 |
-
}
|
| 575 |
-
|
| 576 |
-
.valid {
|
| 577 |
-
padding-left: 5px;
|
| 578 |
-
font-size: 10px;
|
| 579 |
-
}
|
| 580 |
-
|
| 581 |
-
.labels p {
|
| 582 |
-
padding: 8px 0 8px 0;
|
| 583 |
-
}
|
| 584 |
-
|
| 585 |
-
#dataTable th,
|
| 586 |
-
#dataTable td {
|
| 587 |
-
font-size: 6px;
|
| 588 |
-
text-align: left;
|
| 589 |
-
padding: 1px;
|
| 590 |
-
}
|
| 591 |
-
|
| 592 |
-
.exportbutton {
|
| 593 |
-
margin-left: 17px;
|
| 594 |
-
border-radius: 5px;
|
| 595 |
-
padding: .5em .8em;
|
| 596 |
-
font-weight: 300;
|
| 597 |
-
font-size: 10px;
|
| 598 |
-
}
|
| 599 |
-
|
| 600 |
-
.avatargif img {
|
| 601 |
-
margin-top: 1em;
|
| 602 |
-
}
|
| 603 |
-
}
|
| 604 |
-
|
| 605 |
-
p.desc {
|
| 606 |
-
font-size: 10px;
|
| 607 |
-
font-family: 'Poppins';
|
| 608 |
-
font-weight: 200;
|
| 609 |
-
margin: 0;
|
| 610 |
-
padding: 0;
|
| 611 |
-
line-height: 12px;
|
| 612 |
-
font-style: italic;
|
| 613 |
-
}
|
| 614 |
-
|
| 615 |
-
.fa-spinner {
|
| 616 |
-
font-size: 16px;
|
| 617 |
-
}
|
| 618 |
-
|
| 619 |
-
.avatargif {
|
| 620 |
-
display: flex;
|
| 621 |
-
justify-content: center;
|
| 622 |
-
align-items: center;
|
| 623 |
-
}
|
| 624 |
-
|
| 625 |
-
.avatargif img {
|
| 626 |
-
margin-top: 3.5em;
|
| 627 |
-
width: 40%;
|
| 628 |
-
height: 40%;
|
| 629 |
-
}
|
| 630 |
-
|
| 631 |
-
.red-border {
|
| 632 |
-
border: 2px solid red;
|
| 633 |
-
}
|
| 634 |
-
|
| 635 |
-
.green-border {
|
| 636 |
-
border: 2px solid green;
|
| 637 |
-
}
|
| 638 |
-
|
| 639 |
-
::-webkit-scrollbar {
|
| 640 |
-
display: none;
|
| 641 |
-
}
|
| 642 |
-
|
| 643 |
-
.image-container:hover .tooltiptext {
|
| 644 |
-
visibility: visible;
|
| 645 |
-
opacity: 1;
|
| 646 |
-
}
|
| 647 |
-
|
| 648 |
-
.tooltiptext {
|
| 649 |
-
font-size: 12px;
|
| 650 |
-
visibility: hidden;
|
| 651 |
-
width: 160px;
|
| 652 |
-
background-color: #333;
|
| 653 |
-
color: #fff;
|
| 654 |
-
text-align: center;
|
| 655 |
-
border-radius: 8px;
|
| 656 |
-
padding: 5px;
|
| 657 |
-
position: absolute;
|
| 658 |
-
z-index: 99;
|
| 659 |
-
bottom: 105%;
|
| 660 |
-
left: 50%;
|
| 661 |
-
margin-left: -80px;
|
| 662 |
-
opacity: 0;
|
| 663 |
-
transition: opacity 0.3s;
|
| 664 |
-
}
|
| 665 |
-
|
| 666 |
-
.tooltiptext::after {
|
| 667 |
-
content: "";
|
| 668 |
-
position: absolute;
|
| 669 |
-
top: 100%;
|
| 670 |
-
left: 50%;
|
| 671 |
-
margin-left: -5px;
|
| 672 |
-
border-width: 5px;
|
| 673 |
-
border-style: solid;
|
| 674 |
-
border-color: #333 transparent transparent transparent;
|
| 675 |
-
}
|
| 676 |
-
|
| 677 |
-
.zoomed-image-container {
|
| 678 |
-
position: fixed;
|
| 679 |
-
top: 0;
|
| 680 |
-
left: 0;
|
| 681 |
-
width: 50%;
|
| 682 |
-
height: 100%;
|
| 683 |
-
background-color: rgba(0, 0, 0, 0.8);
|
| 684 |
-
display: flex;
|
| 685 |
-
justify-content: center;
|
| 686 |
-
align-items: center;
|
| 687 |
-
z-index: 999;
|
| 688 |
-
}
|
| 689 |
-
|
| 690 |
-
.zoomed-image-container img {
|
| 691 |
-
max-width: 90%;
|
| 692 |
-
max-height: 90%;
|
| 693 |
-
object-fit: contain;
|
| 694 |
-
}
|
| 695 |
-
|
| 696 |
-
@media (max-width: 576px) {
|
| 697 |
-
.zoomed-image-container {
|
| 698 |
-
position: fixed;
|
| 699 |
-
top: 0;
|
| 700 |
-
left: 0;
|
| 701 |
-
width: 100%;
|
| 702 |
-
height: 45%;
|
| 703 |
-
background-color: rgba(0, 0, 0, 0.8);
|
| 704 |
-
display: flex;
|
| 705 |
-
justify-content: center;
|
| 706 |
-
align-items: center;
|
| 707 |
-
z-index: 999;
|
| 708 |
-
/* Optional: If you want to hide the scrollbar in Firefox */
|
| 709 |
-
scrollbar-width: none;
|
| 710 |
-
}
|
| 711 |
-
}
|
| 712 |
-
</style>
|
| 713 |
<script src="https://cdn.lordicon.com/lordicon.js"></script>
|
| 714 |
</head>
|
| 715 |
|
|
@@ -830,7 +150,8 @@
|
|
| 830 |
|
| 831 |
<div style="text-align: center; display: none; justify-content: center;" id="downloadbutton">
|
| 832 |
<a href="{{ url_for('download_csv') }}">
|
| 833 |
-
<button class="exportbutton" type="submit"><i
|
|
|
|
| 834 |
</a>
|
| 835 |
<button class="exportbutton" onclick="window.location.href='{{ index_url }}'">
|
| 836 |
<span id="uploadIcon"><i class="fas fa-upload"></i></span>
|
|
@@ -843,6 +164,8 @@
|
|
| 843 |
</div>
|
| 844 |
<a href="https://lordicon.com/" hidden>Icons by Lordicon.com</a>
|
| 845 |
<script>
|
|
|
|
|
|
|
| 846 |
document.addEventListener('DOMContentLoaded', function () {
|
| 847 |
const dataTable = document.getElementById('receiptdiv');
|
| 848 |
const loadingSpinner = document.getElementById('loadingIcon');
|
|
@@ -937,7 +260,44 @@
|
|
| 937 |
}
|
| 938 |
|
| 939 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 940 |
</script>
|
|
|
|
|
|
|
|
|
|
| 941 |
<!-- Include JavaScript resources -->
|
| 942 |
<script src="https://cdnjs.cloudflare.com/ajax/libs/PapaParse/5.3.0/papaparse.min.js"></script>
|
| 943 |
<script src="/static/js/jquery.1.8.3.min.js"></script>
|
|
|
|
| 9 |
<link rel="shortcut icon" href="/static/images/favicon.ico" title="Favicon" />
|
| 10 |
|
| 11 |
<!-- Main CSS Files -->
|
| 12 |
+
<!-- <link rel="stylesheet" href="/static/css/style.css"> -->
|
| 13 |
+
<link rel="stylesheet" href="{{ url_for('static', filename='css/style.css') }}">
|
| 14 |
+
<link rel="stylesheet" href="{{ url_for('static', filename='css/extractor.css') }}">
|
| 15 |
|
| 16 |
<!-- Color CSS -->
|
| 17 |
<link rel="stylesheet" href="/static/css/color.css">
|
|
|
|
| 29 |
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600&display=swap"
|
| 30 |
rel="stylesheet">
|
| 31 |
<title>ExCeipt | Extractor</title>
|
| 32 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 33 |
<script src="https://cdn.lordicon.com/lordicon.js"></script>
|
| 34 |
</head>
|
| 35 |
|
|
|
|
| 150 |
|
| 151 |
<div style="text-align: center; display: none; justify-content: center;" id="downloadbutton">
|
| 152 |
<a href="{{ url_for('download_csv') }}">
|
| 153 |
+
<button id="downloadButton" class="exportbutton" type="submit"><i
|
| 154 |
+
class="fa-solid fa-download"></i>Download CSV</button>
|
| 155 |
</a>
|
| 156 |
<button class="exportbutton" onclick="window.location.href='{{ index_url }}'">
|
| 157 |
<span id="uploadIcon"><i class="fas fa-upload"></i></span>
|
|
|
|
| 164 |
</div>
|
| 165 |
<a href="https://lordicon.com/" hidden>Icons by Lordicon.com</a>
|
| 166 |
<script>
|
| 167 |
+
const index_url = '{{ index_url }}'; // Replace with the actual value if it's not supposed to be a template variable
|
| 168 |
+
|
| 169 |
document.addEventListener('DOMContentLoaded', function () {
|
| 170 |
const dataTable = document.getElementById('receiptdiv');
|
| 171 |
const loadingSpinner = document.getElementById('loadingIcon');
|
|
|
|
| 260 |
}
|
| 261 |
|
| 262 |
});
|
| 263 |
+
|
| 264 |
+
document.querySelector('#downloadButton').addEventListener('click', function (event) {
|
| 265 |
+
event.preventDefault(); // Prevent the default action
|
| 266 |
+
|
| 267 |
+
const tbody = document.querySelector('#dataTable tbody');
|
| 268 |
+
const rows = Array.from(tbody.querySelectorAll('tr'));
|
| 269 |
+
|
| 270 |
+
// Define your headers
|
| 271 |
+
const headers = ['RECEIPTNUMBER', 'MERCHANTNAME', 'MERCHANTADDRESS', 'TRANSACTIONDATE', 'TRANSACTIONTIME', 'ITEMS', 'PRICE', 'TOTAL', 'VATTAX'];
|
| 272 |
+
|
| 273 |
+
// Convert the content to CSV format
|
| 274 |
+
const csvData = [headers.join(',')].concat(rows.map(row => {
|
| 275 |
+
const cells = Array.from(row.querySelectorAll('td'));
|
| 276 |
+
return cells.map(cell => cell.textContent.replace(/,/g, '.')).join(',');
|
| 277 |
+
})).join('\n');
|
| 278 |
+
|
| 279 |
+
// Send a POST request to the server with the CSV data
|
| 280 |
+
fetch(index_url + 'download_csv', {
|
| 281 |
+
method: 'POST',
|
| 282 |
+
headers: {
|
| 283 |
+
'Content-Type': 'text/csv'
|
| 284 |
+
},
|
| 285 |
+
body: csvData
|
| 286 |
+
})
|
| 287 |
+
.then(response => response.blob())
|
| 288 |
+
.then(blob => {
|
| 289 |
+
// Create a Blob URL and initiate the download
|
| 290 |
+
const url = URL.createObjectURL(blob);
|
| 291 |
+
const a = document.createElement('a');
|
| 292 |
+
a.href = url;
|
| 293 |
+
a.download = 'data.csv';
|
| 294 |
+
a.click();
|
| 295 |
+
});
|
| 296 |
+
});
|
| 297 |
</script>
|
| 298 |
+
|
| 299 |
+
|
| 300 |
+
|
| 301 |
<!-- Include JavaScript resources -->
|
| 302 |
<script src="https://cdnjs.cloudflare.com/ajax/libs/PapaParse/5.3.0/papaparse.min.js"></script>
|
| 303 |
<script src="/static/js/jquery.1.8.3.min.js"></script>
|