yamanavijayavardhan commited on
Commit
d7a1342
·
1 Parent(s): 67fc68f
Files changed (1) hide show
  1. main.py +21 -4
main.py CHANGED
@@ -66,10 +66,13 @@ try:
66
  gensim_data_dir = os.path.join(cache_dir, 'gensim-data')
67
  upload_dir = os.path.join(cache_dir, 'uploads')
68
  ans_image_dir = os.path.join(cache_dir, 'ans_image')
 
69
 
70
  # Create directories with correct permissions
71
- for directory in [cache_dir, nltk_data_dir, gensim_data_dir, upload_dir, ans_image_dir]:
72
  os.makedirs(directory, exist_ok=True)
 
 
73
  except Exception as e:
74
  print(f"Warning: Could not create cache directories: {e}")
75
  # Fallback to temporary directories
@@ -78,6 +81,7 @@ except Exception as e:
78
  gensim_data_dir = tempfile.mkdtemp(prefix='gensim_data_')
79
  upload_dir = tempfile.mkdtemp(prefix='uploads_')
80
  ans_image_dir = tempfile.mkdtemp(prefix='ans_image_')
 
81
 
82
  # Set environment variables
83
  os.environ['HF_HOME'] = cache_dir
@@ -280,6 +284,10 @@ def compute_marks():
280
  processed_answers.append(ans)
281
  answers = processed_answers
282
 
 
 
 
 
283
  # Get files from the request
284
  files = request.files.getlist('files[]')
285
  if not files:
@@ -299,16 +307,24 @@ def compute_marks():
299
  # Create student directory if it doesn't exist
300
  student_dir = os.path.join(ans_image_dir, student_folder)
301
  os.makedirs(student_dir, exist_ok=True)
 
302
 
303
  # Save the file
304
  filepath = os.path.join(student_dir, filename)
305
  file.save(filepath)
 
 
 
 
 
 
 
306
 
307
  # Add to data structure
308
  if student_folder not in data:
309
  data[student_folder] = []
310
- data[student_folder].append(filepath.replace("\\", "/"))
311
- log_print(f"Saved file: {filepath}")
312
 
313
  if not data:
314
  log_print("No valid image files were found in the upload", "ERROR")
@@ -439,11 +455,12 @@ def allowed_file(filename, allowed_extensions):
439
  def cleanup_temp_files():
440
  try:
441
  import shutil
442
- temp_dirs = [ans_image_dir, upload_dir]
443
  for directory in temp_dirs:
444
  if os.path.exists(directory):
445
  shutil.rmtree(directory)
446
  os.makedirs(directory, exist_ok=True)
 
447
  log_print("Successfully cleaned up temporary files")
448
  except Exception as e:
449
  log_print(f"Error cleaning up temporary files: {e}", "ERROR")
 
66
  gensim_data_dir = os.path.join(cache_dir, 'gensim-data')
67
  upload_dir = os.path.join(cache_dir, 'uploads')
68
  ans_image_dir = os.path.join(cache_dir, 'ans_image')
69
+ htr_images_dir = os.path.join(cache_dir, 'images')
70
 
71
  # Create directories with correct permissions
72
+ for directory in [cache_dir, nltk_data_dir, gensim_data_dir, upload_dir, ans_image_dir, htr_images_dir]:
73
  os.makedirs(directory, exist_ok=True)
74
+ # Ensure directory has write permissions
75
+ os.chmod(directory, 0o777)
76
  except Exception as e:
77
  print(f"Warning: Could not create cache directories: {e}")
78
  # Fallback to temporary directories
 
81
  gensim_data_dir = tempfile.mkdtemp(prefix='gensim_data_')
82
  upload_dir = tempfile.mkdtemp(prefix='uploads_')
83
  ans_image_dir = tempfile.mkdtemp(prefix='ans_image_')
84
+ htr_images_dir = tempfile.mkdtemp(prefix='htr_images_')
85
 
86
  # Set environment variables
87
  os.environ['HF_HOME'] = cache_dir
 
284
  processed_answers.append(ans)
285
  answers = processed_answers
286
 
287
+ # Create HTR images directory if it doesn't exist
288
+ os.makedirs(htr_images_dir, exist_ok=True)
289
+ os.chmod(htr_images_dir, 0o777) # Ensure write permissions
290
+
291
  # Get files from the request
292
  files = request.files.getlist('files[]')
293
  if not files:
 
307
  # Create student directory if it doesn't exist
308
  student_dir = os.path.join(ans_image_dir, student_folder)
309
  os.makedirs(student_dir, exist_ok=True)
310
+ os.chmod(student_dir, 0o777) # Ensure write permissions
311
 
312
  # Save the file
313
  filepath = os.path.join(student_dir, filename)
314
  file.save(filepath)
315
+ os.chmod(filepath, 0o666) # Ensure file is readable/writable
316
+
317
+ # Create symlink in HTR images directory
318
+ htr_filepath = os.path.join(htr_images_dir, f"{student_folder}_{filename}")
319
+ if os.path.exists(htr_filepath):
320
+ os.remove(htr_filepath)
321
+ os.symlink(filepath, htr_filepath)
322
 
323
  # Add to data structure
324
  if student_folder not in data:
325
  data[student_folder] = []
326
+ data[student_folder].append(htr_filepath.replace("\\", "/"))
327
+ log_print(f"Saved file: {filepath} and linked to {htr_filepath}")
328
 
329
  if not data:
330
  log_print("No valid image files were found in the upload", "ERROR")
 
455
  def cleanup_temp_files():
456
  try:
457
  import shutil
458
+ temp_dirs = [ans_image_dir, upload_dir, htr_images_dir]
459
  for directory in temp_dirs:
460
  if os.path.exists(directory):
461
  shutil.rmtree(directory)
462
  os.makedirs(directory, exist_ok=True)
463
+ os.chmod(directory, 0o777) # Ensure write permissions
464
  log_print("Successfully cleaned up temporary files")
465
  except Exception as e:
466
  log_print(f"Error cleaning up temporary files: {e}", "ERROR")