Skip to content

Commit 1d6817d

Browse files
feat: allow removal of pinfile
1 parent 34dc3cf commit 1d6817d

File tree

1 file changed

+13
-3
lines changed
  • snakemake_interface_software_deployment_plugins

1 file changed

+13
-3
lines changed

snakemake_interface_software_deployment_plugins/__init__.py

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -312,6 +312,16 @@ def pinfile(self) -> Path:
312312
self.pinfile_extension()
313313
)
314314

315+
def remove_pinfile(self) -> None:
316+
"""Remove the pinfile."""
317+
if self.pinfile.exists():
318+
try:
319+
self.pinfile.unlink()
320+
except Exception as e:
321+
raise WorkflowError(
322+
f"Removal of pinfile {self.pinfile} failed: {e}"
323+
) from e
324+
315325

316326
class CacheableEnvBase(EnvBase, ABC):
317327
async def get_cache_assets(self) -> Iterable[str]: ...
@@ -340,7 +350,7 @@ async def remove_cache(self) -> None:
340350
except Exception as e:
341351
raise WorkflowError(
342352
f"Removal of cache asset {asset_path} for {self.spec} failed: {e}"
343-
)
353+
) from e
344354

345355

346356
class DeployableEnvBase(EnvBase, ABC):
@@ -385,13 +395,13 @@ def managed_remove(self) -> None:
385395
try:
386396
self.remove()
387397
except Exception as e:
388-
raise WorkflowError(f"Removal of {self.spec} failed: {e}")
398+
raise WorkflowError(f"Removal of {self.spec} failed: {e}") from e
389399

390400
async def managed_deploy(self) -> None:
391401
try:
392402
await self.deploy()
393403
except Exception as e:
394-
raise WorkflowError(f"Deployment of {self.spec} failed: {e}")
404+
raise WorkflowError(f"Deployment of {self.spec} failed: {e}") from e
395405

396406
def deployment_hash(self) -> str:
397407
return self._managed_generic_hash("deployment_hash")

0 commit comments

Comments
 (0)