Skip to content

Commit 9b4dff2

Browse files
Merge pull request #93 from baloise/refactor-create-tmp-dir
refactor: move tmp dir creation/deletion into own file
2 parents 9748e49 + 8c03f11 commit 9b4dff2

13 files changed

Lines changed: 70 additions & 47 deletions

gitopscli/cliparser.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import argparse
22
import sys
33

4-
from gitopscli.yaml.yaml_util import yaml_load
4+
from gitopscli.io.yaml_util import yaml_load
55

66

77
def create_cli(args):

gitopscli/commands/create_preview.py

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@
55
import uuid
66

77
from gitopscli.git.create_git import create_git
8-
from gitopscli.yaml.gitops_config import GitOpsConfig
9-
from gitopscli.yaml.yaml_util import update_yaml_file
8+
from gitopscli.io.gitops_config import GitOpsConfig
9+
from gitopscli.io.yaml_util import update_yaml_file
10+
from gitopscli.io.tmp_dir import create_tmp_dir, delete_tmp_dir
1011
from gitopscli.gitops_exception import GitOpsException
1112

1213
# pylint: disable=too-many-statements
@@ -29,8 +30,8 @@ def create_preview_command(
2930
):
3031
assert command == "create-preview"
3132

32-
apps_tmp_dir = __create_tmp_dir()
33-
root_tmp_dir = __create_tmp_dir()
33+
apps_tmp_dir = create_tmp_dir()
34+
root_tmp_dir = create_tmp_dir()
3435

3536
try:
3637
apps_git = create_git(
@@ -127,8 +128,8 @@ def create_preview_command(
127128
logging.info("Creating PullRequest comment for pr with id %s and content: %s", pr_id, pr_comment_text)
128129
apps_git.add_pull_request_comment(pr_id, pr_comment_text, parent_id)
129130
finally:
130-
shutil.rmtree(apps_tmp_dir, ignore_errors=True)
131-
shutil.rmtree(root_tmp_dir, ignore_errors=True)
131+
delete_tmp_dir(apps_tmp_dir)
132+
delete_tmp_dir(root_tmp_dir)
132133
if create_pr:
133134
pull_request = __create_pullrequest(config_branch, gitops_config, root_git)
134135
if auto_merge:
@@ -207,10 +208,3 @@ def __merge_pullrequest(branch, pull_request, root_git):
207208
logging.info("Pull request merged")
208209
root_git.delete_branch(branch)
209210
logging.info("Branch '%s' deleted", branch)
210-
211-
212-
def __create_tmp_dir():
213-
tmp_dir = f"/tmp/gitopscli/{uuid.uuid4()}"
214-
os.makedirs(tmp_dir)
215-
logging.info("Created directory %s", tmp_dir)
216-
return tmp_dir

gitopscli/commands/delete_preview.py

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
import hashlib
22
import logging
33
import os
4-
import shutil
54
import uuid
5+
import shutil
66

77
from gitopscli.git.create_git import create_git
8-
from gitopscli.yaml.gitops_config import GitOpsConfig
8+
from gitopscli.io.gitops_config import GitOpsConfig
9+
from gitopscli.io.tmp_dir import create_tmp_dir, delete_tmp_dir
910
from gitopscli.gitops_exception import GitOpsException
1011

1112

@@ -25,8 +26,8 @@ def delete_preview_command(
2526
):
2627
assert command == "delete-preview"
2728

28-
apps_tmp_dir = __create_tmp_dir()
29-
root_tmp_dir = __create_tmp_dir()
29+
apps_tmp_dir = create_tmp_dir()
30+
root_tmp_dir = create_tmp_dir()
3031

3132
try:
3233
apps_git = create_git(
@@ -85,8 +86,8 @@ def delete_preview_command(
8586
logging.info("Pushed branch %s", config_branch)
8687

8788
finally:
88-
shutil.rmtree(apps_tmp_dir, ignore_errors=True)
89-
shutil.rmtree(root_tmp_dir, ignore_errors=True)
89+
delete_tmp_dir(apps_tmp_dir)
90+
delete_tmp_dir(root_tmp_dir)
9091
if create_pr:
9192
pull_request = __create_pullrequest(config_branch, gitops_config, root_git)
9293
if auto_merge:
@@ -108,10 +109,3 @@ def __merge_pullrequest(branch, pull_request, root_git):
108109
logging.info("Pull request merged")
109110
root_git.delete_branch(branch)
110111
logging.info("Branch '%s' deleted", branch)
111-
112-
113-
def __create_tmp_dir():
114-
tmp_dir = f"/tmp/gitopscli/{uuid.uuid4()}"
115-
os.makedirs(tmp_dir)
116-
logging.info("Created directory %s", tmp_dir)
117-
return tmp_dir

gitopscli/commands/deploy.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import logging
22
import os
3-
import shutil
43
import uuid
54

65
from gitopscli.git.create_git import create_git
7-
from gitopscli.yaml.yaml_util import update_yaml_file, yaml_dump
6+
from gitopscli.io.yaml_util import update_yaml_file, yaml_dump
7+
from gitopscli.io.tmp_dir import create_tmp_dir, delete_tmp_dir
88
from gitopscli.gitops_exception import GitOpsException
99

1010

@@ -26,9 +26,7 @@ def deploy_command(
2626
):
2727
assert command == "deploy"
2828

29-
tmp_dir = f"/tmp/gitopscli/{uuid.uuid4()}"
30-
os.makedirs(tmp_dir)
31-
logging.info("Created directory %s", tmp_dir)
29+
tmp_dir = create_tmp_dir()
3230

3331
try:
3432
git = create_git(
@@ -59,7 +57,7 @@ def deploy_command(
5957
git.push(config_branch)
6058
logging.info("Pushed branch %s", config_branch)
6159
finally:
62-
shutil.rmtree(tmp_dir, ignore_errors=True)
60+
delete_tmp_dir(tmp_dir)
6361

6462
if create_pr:
6563
__create_pr(git, config_branch, file, updated_values, auto_merge)

gitopscli/commands/sync_apps.py

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
import logging
22
import os
3-
import shutil
4-
import uuid
53

64
from ruamel.yaml import YAML
75

86
from gitopscli.git.create_git import create_git
9-
from gitopscli.yaml.yaml_util import merge_yaml_element
7+
from gitopscli.io.yaml_util import merge_yaml_element
8+
from gitopscli.io.tmp_dir import create_tmp_dir, delete_tmp_dir
109
from gitopscli.gitops_exception import GitOpsException
1110

1211

@@ -25,12 +24,8 @@ def sync_apps_command(
2524
):
2625
assert command == "sync-apps"
2726

28-
apps_tmp_dir = f"/tmp/gitopscli/{uuid.uuid4()}"
29-
os.makedirs(apps_tmp_dir)
30-
logging.info("Created directory %s", apps_tmp_dir)
31-
root_tmp_dir = f"/tmp/gitopscli/{uuid.uuid4()}"
32-
os.makedirs(root_tmp_dir)
33-
logging.info("Created directory %s", root_tmp_dir)
27+
apps_tmp_dir = create_tmp_dir()
28+
root_tmp_dir = create_tmp_dir()
3429

3530
try:
3631
apps_git = create_git(
@@ -58,8 +53,8 @@ def sync_apps_command(
5853

5954
__sync_apps(apps_git, root_git)
6055
finally:
61-
shutil.rmtree(apps_tmp_dir, ignore_errors=True)
62-
shutil.rmtree(root_tmp_dir, ignore_errors=True)
56+
delete_tmp_dir(apps_tmp_dir)
57+
delete_tmp_dir(root_tmp_dir)
6358

6459

6560
def __sync_apps(apps_git, root_git):

gitopscli/io/tmp_dir.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import uuid
2+
import os
3+
import shutil
4+
5+
6+
def create_tmp_dir():
7+
tmp_dir = f"/tmp/gitopscli/{uuid.uuid4()}"
8+
os.makedirs(tmp_dir)
9+
return tmp_dir
10+
11+
12+
def delete_tmp_dir(tmp_dir):
13+
shutil.rmtree(tmp_dir, ignore_errors=True)

requirements-dev.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
black==19.10b0
22
pylint==2.4.4
3-
pytest==5.3.4
3+
pytest==5.4.2
44
mkdocs==1.0.4
55
mkdocs-material==4.6.3

0 commit comments

Comments
 (0)