Skip to content

Commit

Permalink
Added input project code
Browse files Browse the repository at this point in the history
  • Loading branch information
tianrui98 committed Feb 5, 2024
1 parent 4f2b108 commit f4a96af
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 63 deletions.
56 changes: 0 additions & 56 deletions log/activities.log

This file was deleted.

12 changes: 11 additions & 1 deletion src/UI.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
from datetime import datetime
from datetime import timedelta
from tkinter import ttk
from tkinter import simpledialog
import json
#%% UI
class UI():
Expand All @@ -22,6 +23,7 @@ def __init__(self, image_height_ratio = 0.7, project_name = "", project_address
self.root = tk.Tk()
self.root.title("Die Study Tool")
self.project_name = project_name
self.project_code = "" #user will be asked to give a code when exporting
self.project_address = project_address
self.progress_data = progress_data
self.demo_mode = False
Expand Down Expand Up @@ -362,7 +364,7 @@ def export_data(self, keep_progress = False):
if not save_address:
return None
self.progress_data, _ = progress.update_progress_data(self.project_name, self.stage, self.cluster, self.progress_data)
res, destination_address = progress.export_results(self.project_name,self.progress_data, save_address, keep_progress)
destination_address = progress.export_results(self.project_name,self.progress_data, save_address, self.project_code)
if self.testing_mode:
self.test.test_export(self.progress_data[self.project_name]["clusters"], self.project_name, destination_address)
if not keep_progress:
Expand All @@ -374,10 +376,13 @@ def export_data(self, keep_progress = False):
self.root.destroy()
self.quit = True



def export(self, project_completed = False):
if project_completed:
response = self.create_export_results_window()
if response:
self.project_code = self.create_ask_project_code_window()
self.export_data()
else:
response = messagebox.askokcancel("Export intermediate results", "You have NOT completed the current project.\nExport the intermediate results?" )
Expand Down Expand Up @@ -479,6 +484,11 @@ def create_export_results_window(self):
response = messagebox.askokcancel("Export results", "You have completed the current project.\nExport the results?" )
return response

def create_ask_project_code_window(self):
response = simpledialog.askstring("Project code", "Please enter a short project code. Example: 'O1' for obverse type 1 or 'R12' for reverse type 12. \n This will be the prefix for the die numbers (eg. O1;001, O1;002).")

return response.replace(' ', '')

def create_save_progress_window(self, message):
response = messagebox.askokcancel("Save progress", message + "\nMove on to the next?" )
return response
Expand Down
14 changes: 8 additions & 6 deletions src/progress.py
Original file line number Diff line number Diff line change
Expand Up @@ -734,7 +734,7 @@ def create_cluster_folders(project_name, clusters_data, dest_folder):
#copy best image to verified
shutil.copy(os.path.join(project_folder, cluster_info["best_image_name"]),os.path.join(dest_verified_folder, final_cluster_name + '.' + cluster_info["best_image_name"].split(".")[-1]))

def export_results(project_name, progress_data, save_address, keep_progress):
def export_results(project_name, progress_data, save_address, project_code):
"""Generate excel sheet & move cluster out & wipe out progress data"""

#write none-single clusters
Expand Down Expand Up @@ -787,17 +787,19 @@ def export_results(project_name, progress_data, save_address, keep_progress):

data.append([""] * max_length +["sum"] + [str(total_number)])
res = pd.DataFrame(data, columns=columns)
res = res.applymap(lambda x : x.split('.')[0])
res = res.applymap(lambda x : x.split('.')[0])
digits = max(3, len(str(int(res.index.values[-2]))))
res.index = [project_code + ';' + str(int(idx) + 1).zfill(digits) for idx in res.index]
res = res.rename(index={res.index[-1]: ""})

project_folder = os.path.join(os.getcwd() ,"projects", project_name)
project_folder_name = os.path.basename(project_folder) + "_" + str(datetime.now().strftime('%Y-%m-%d-%H-%M'))

dest_folder = os.path.join(save_address, project_folder_name)

create_cluster_folders(project_name, progress_data[project_name]["clusters"], dest_folder)
res.to_excel( os.path.join(dest_folder, "results_" + project_folder_name + ".xlsx"), index= False)

return res, dest_folder
res.to_excel( os.path.join(dest_folder, "results_" + project_folder_name + ".xlsx"), index= True)

return dest_folder

def _create_best_image_cluster_dict (clusters_data):
return {v["best_image_name"]: k for k, v in clusters_data.items() if not k == "Singles"}
Expand Down

0 comments on commit f4a96af

Please sign in to comment.