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>
|