Skip to content
Snippets Groups Projects
Commit b6bbc266 authored by Attila Farkas's avatar Attila Farkas
Browse files

Merge branch 'version-2.0.1' into 'master'

Version 2.0.1

See merge request !38
parents 01d3aa5a c2229718
No related branches found
No related tags found
1 merge request!38Version 2.0.1
import os
from pathlib import Path
import shutil
import stat
from typing import Union, List, Dict
import jinja2
......@@ -57,6 +58,12 @@ class Writer:
output = template.render(data=data, ruby_variables=ruby_variables)
Writer._write_to_file(output_file, output)
@staticmethod
def _on_rmtree_error(func, path, exc_info):
"""On error during rmtree, try to make the file writable"""
os.chmod(path, stat.S_IWRITE)
os.unlink(path)
@staticmethod
def clone_git_repository(repository: str, location: Path, cloned_dir: str) -> None:
"""Clone a git repository to the provided location and removes .git
......@@ -74,7 +81,8 @@ class Writer:
raise RuntimeError(f"Could not clone repository: {repository}")
try:
shutil.rmtree(location.joinpath(cloned_dir).joinpath(".git"))
shutil.rmtree(location.joinpath(cloned_dir).joinpath(".git"),
onerror=Writer._on_rmtree_error)
except OSError:
pass
......
......@@ -32,6 +32,7 @@ preconfig_group_vars: preconfig/group_vars/
provisioning_dir: provisioning
provisioning_playbook: provisioning/playbook.yml
provisioning_inventory: provisioning/hosts.yml
provisioning_group_vars: provisioning/group_vars/
user_extra_vars: provisioning/extra_vars.yml
#Git repositories
......
# Generated by Cyber Sandbox Creator 2.0.0
# Generated by Cyber Sandbox Creator 2.0.1
# https://gitlab.ics.muni.cz/muni-kypo-csc/cyber-sandbox-creator
#
# -*- mode: ruby -*-
......
[metadata]
name = sandboxcreator
version = 2.0.0
version = 2.0.1
author = Attila Farkas, Jana Ziková, Kamil Andoniadis
author_email = farkas@mail.muni.cz
description = Local virtual lab creation
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment