diff --git a/model_server/base/api.py b/model_server/base/api.py index 38705a2d8035be33cba4cef4d9283cd921c78302..d91ed5854350d1567fa68ae58c4f72f751063864 100644 --- a/model_server/base/api.py +++ b/model_server/base/api.py @@ -142,9 +142,9 @@ def read_accessor_from_file(filename: str, accessor_id: Union[str, None] = None) @app.put('/accessors/write_to_file/{accessor_id}') -def write_accessor_to_file(accessor_id: str, filename: Union[str, None] = None) -> str: +def write_accessor_to_file(accessor_id: str, filename: Union[str, None] = None, pop: bool = True) -> str: try: - return session.write_accessor(accessor_id, filename) + return session.write_accessor(accessor_id, filename, pop=pop) except AccessorIdError as e: raise HTTPException(404, f'Did not find accessor with ID {accessor_id}') except WriteAccessorError as e: diff --git a/model_server/base/session.py b/model_server/base/session.py index 1cef23b100b1d33873de00a2da3e6595027f63a8..12080c676816d009607d87a6250f79b7b7359c91 100644 --- a/model_server/base/session.py +++ b/model_server/base/session.py @@ -215,7 +215,7 @@ class _Session(object): self.del_accessor(acc_id) return acc - def write_accessor(self, acc_id: str, filename: Union[str, None] = None) -> str: + def write_accessor(self, acc_id: str, filename: Union[str, None] = None, pop=True) -> str: """ Write an accessor to file and unload it from the session :param acc_id: accessor's ID @@ -228,7 +228,7 @@ class _Session(object): fp = self.paths['outbound_images'] / filename if fp.exists(): raise InvalidPathError(f'Cannot overwrite file {filename} when writing accessor') - acc = self.get_accessor(acc_id, pop=True) + acc = self.get_accessor(acc_id, pop=pop) old_fp = self.accessors[acc_id]['filepath'] if old_fp != '':