summaryrefslogtreecommitdiff
path: root/ick2/actions.py
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2018-03-30 17:42:26 +0300
committerLars Wirzenius <liw@liw.fi>2018-03-30 17:42:26 +0300
commit9184c4cbae2a1a6502a36142953accf1fc164739 (patch)
tree2fa3e0109d481b3d5ac610bfe92ae568c6c10d4a /ick2/actions.py
parentef7b01237ad7585cbfa6b7c16c524b669fca2836 (diff)
downloadick2-9184c4cbae2a1a6502a36142953accf1fc164739.tar.gz
Fix: empty workspace
Diffstat (limited to 'ick2/actions.py')
-rw-r--r--ick2/actions.py25
1 files changed, 15 insertions, 10 deletions
diff --git a/ick2/actions.py b/ick2/actions.py
index 1ca33d5..9c9b9d6 100644
--- a/ick2/actions.py
+++ b/ick2/actions.py
@@ -60,12 +60,16 @@ class ActionFactory:
def get_allowed_environments(self):
return list(self._classes.keys())
+ def get_workspace_area(self):
+ area = ick2.WorkspaceArea()
+ area.set_root(self._workspace_area)
+ return area
+
def create_environment(self, spec, project_name):
env = spec.get('where', 'host')
assert env in self.get_allowed_environments()
env_class = self._classes[env]
- area = ick2.WorkspaceArea()
- area.set_root(self._workspace_area)
+ area = self.get_workspace_area()
ws = area.create_workspace(project_name)
return env_class(self._systree, ws.get_directory(), self._reporter)
@@ -209,9 +213,9 @@ class CreateWorkspaceAction(Action):
def execute(self, params, step):
env = self.get_env()
- workspace = env.get_workspace_directory()
- workspace.clear()
- self._env.report(0, 'Created workspace %s\n' % workspace)
+ dirname = env.get_workspace_directory()
+ make_directory_empty(env, dirname)
+ self._env.report(0, 'Created or emptied workspace %s\n' % workspace)
return 0
@@ -262,13 +266,9 @@ class PopulateSystreeAction(Action): # pragma: no cover
env = self.get_env()
systree_dir = env.get_systree_directory()
- self.make_directory_empty(systree_dir)
+ make_directory_empty(env, systree_dir)
return self.download_and_unpack_systree(systree_name, systree_dir)
- def make_directory_empty(self, dirname):
- return cliapp.runcmd(
- ['sudo', 'find', dirname, '-mindepth', '1', '-delete'])
-
def download_and_unpack_systree(self, systree_name, dirname):
url = self.get_blob_upload_url(systree_name)
headers = self.get_authz_headers()
@@ -282,3 +282,8 @@ class PopulateSystreeAction(Action): # pragma: no cover
exit_code = self._env.host_runcmd(curl, untar)
self._env.report(exit_code, 'action finished\n')
return exit_code
+
+
+def make_directory_empty(env, dirname):
+ return env.runcmd(
+ ['sudo', 'find', dirname, '-mindepth', '1', '-delete'])