Skip to content

Commit b0dd5f0

Browse files
committed
basic backup added
basic continuous backup added to the program
1 parent dd72ccd commit b0dd5f0

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

dls_barcode/data_store/store.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ def __init__(self, directory, store_capacity, file_manager):
1616
self._file_manager = file_manager
1717
self._file = os.path.join(directory, "store.txt")
1818
self._csv_file = os.path.join(directory, "store.csv")
19+
self._backup_csv_file = os.path.join(directory, "backup.csv")
1920
self._img_dir = os.path.join(directory, "img_dir")
2021

2122
if not self._file_manager.is_dir(self._img_dir):
@@ -84,12 +85,16 @@ def delete_records(self, records_to_delete):
8485

8586
self._process_change()
8687

88+
def backup_records(self, records_to_back_up):
89+
self._to_backup_csv_file(records_to_back_up)
90+
8791
def _truncate_record_list(self):
8892
min_store_capacity = 2
8993
actual_store_capacity = max(self._store_capacity.value(), min_store_capacity)
9094

9195
if len(self.records) > actual_store_capacity:
9296
to_delete = self.records[actual_store_capacity:]
97+
self.backup_records(to_delete)
9398
self.delete_records(to_delete)
9499

95100
def _process_change(self):
@@ -117,6 +122,12 @@ def _to_csv_file(self):
117122
record_lines = [rec.to_csv_string() + "\n" for rec in self.records]
118123
self._file_manager.write_lines(self._csv_file, record_lines)
119124

125+
def _to_backup_csv_file(self, records):
126+
""" Save the contents of the store to the backup csv file
127+
"""
128+
record_lines = [rec.to_csv_string() + "\n" for rec in records]
129+
self._file_manager.write_lines(self._backup_csv_file, record_lines)
130+
120131
def _merge_holder_image_into_pins_image(self, holder_img, pins_img):
121132
factor = 0.22 * pins_img.width / holder_img.width
122133
small_holder_img = holder_img.rescale(factor)

dls_barcode/gui/record_table.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,9 @@ def _delete_selected_records(self):
135135
record = self._store.get_record(index)
136136
records_to_delete.append(record)
137137

138+
self._store.backup_records(records_to_delete)
138139
self._store.delete_records(records_to_delete)
140+
139141
self._load_store_records()
140142

141143
def is_latest_holder_barcode(self, holder_barcode):

0 commit comments

Comments
 (0)