annotating with checks : support sinle file
parent
6d17633108
commit
a682e21e8b
|
|
@ -198,7 +198,7 @@ def process_student(args):
|
||||||
c.drawImage(temp_img_path, 0, 0, width=w, height=h)
|
c.drawImage(temp_img_path, 0, 0, width=w, height=h)
|
||||||
c.save()
|
c.save()
|
||||||
|
|
||||||
print("Debug : size", w, h)
|
# print("Debug : size", w, h)
|
||||||
# Ancien code, avec du drift
|
# Ancien code, avec du drift
|
||||||
# concat_img.save(os.path.join(output_dir, "Concat.pdf"), "PDF", resolution=DPI)
|
# concat_img.save(os.path.join(output_dir, "Concat.pdf"), "PDF", resolution=DPI)
|
||||||
# concat_img.save(os.path.join(output_dir, "Reference.png"))
|
# concat_img.save(os.path.join(output_dir, "Reference.png"))
|
||||||
|
|
@ -209,12 +209,34 @@ def process_student(args):
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
if len(sys.argv) < 2:
|
if len(sys.argv) < 2:
|
||||||
print("Usage: python annotating_with_checks.py <Dir>")
|
print("Usage: python annotating_with_checks.py <Dir> or <File>")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
root_dir = sys.argv[1]
|
input_path = sys.argv[1]
|
||||||
|
target_id = None
|
||||||
|
|
||||||
|
# Detect if input is a specific file
|
||||||
|
if os.path.isfile(input_path):
|
||||||
|
root_dir = os.path.dirname(input_path) or "."
|
||||||
|
# Extract ID from filename (e.g., Copie40.pdf -> 40)
|
||||||
|
match = re.search(r'Copie(\d+)', os.path.basename(input_path))
|
||||||
|
if match:
|
||||||
|
target_id = match.group(1)
|
||||||
|
else:
|
||||||
|
print("Error: Could not extract student ID from filename.")
|
||||||
|
sys.exit(1)
|
||||||
|
else:
|
||||||
|
root_dir = input_path
|
||||||
|
|
||||||
results = annotating.make_dictionary(root_dir)
|
results = annotating.make_dictionary(root_dir)
|
||||||
|
|
||||||
|
# Filter results if a specific target ID was requested
|
||||||
|
if target_id:
|
||||||
|
if target_id in results:
|
||||||
|
results = {target_id: results[target_id]}
|
||||||
|
else:
|
||||||
|
print(f"Student ID {target_id} not found in directory scan.")
|
||||||
|
results = {}
|
||||||
|
|
||||||
tasks = [(root_dir, sid, lbls) for sid, lbls in results.items()]
|
tasks = [(root_dir, sid, lbls) for sid, lbls in results.items()]
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ import os
|
||||||
import sys
|
import sys
|
||||||
import json
|
import json
|
||||||
import ezodf
|
import ezodf
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
# Configuration
|
# Configuration
|
||||||
ODS_PATH = "/home/sebastien/Rust/gestion_classe/Staging/current_eval.ods"
|
ODS_PATH = "/home/sebastien/Rust/gestion_classe/Staging/current_eval.ods"
|
||||||
|
|
@ -14,6 +15,7 @@ def main():
|
||||||
else:
|
else:
|
||||||
work_dir = os.path.abspath(sys.argv[1])
|
work_dir = os.path.abspath(sys.argv[1])
|
||||||
|
|
||||||
|
all_labels = [l for l in (Path(work_dir) / "labels").read_text().split("\n") if l!=""]
|
||||||
a_rendre_path = os.path.join(work_dir, TARGET_DIR_NAME)
|
a_rendre_path = os.path.join(work_dir, TARGET_DIR_NAME)
|
||||||
|
|
||||||
if not os.path.isdir(a_rendre_path):
|
if not os.path.isdir(a_rendre_path):
|
||||||
|
|
@ -95,14 +97,18 @@ def main():
|
||||||
# Start filling from Row 2 (index 2), immediately below the name line
|
# Start filling from Row 2 (index 2), immediately below the name line
|
||||||
start_row = 2
|
start_row = 2
|
||||||
|
|
||||||
for i, key in enumerate(scores_data.keys()):
|
# for i, key in enumerate(scores_data.keys()):
|
||||||
|
for i, key in enumerate(all_labels):
|
||||||
row_idx = start_row + i
|
row_idx = start_row + i
|
||||||
|
|
||||||
# Ensure we don't go out of bounds
|
# Ensure we don't go out of bounds
|
||||||
if row_idx >= sheet.nrows():
|
if row_idx >= sheet.nrows():
|
||||||
sheet.append_rows(1)
|
sheet.append_rows(1)
|
||||||
|
|
||||||
|
if key in scores_data:
|
||||||
val_str = str(scores_data[key])
|
val_str = str(scores_data[key])
|
||||||
|
else:
|
||||||
|
val_str = ""
|
||||||
|
|
||||||
# Logic: if "" -> "NT"
|
# Logic: if "" -> "NT"
|
||||||
new_val = "NT" if val_str == "" else val_str
|
new_val = "NT" if val_str == "" else val_str
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue