Skip to content

Commit b706cc4

Browse files
committed
Solve review comments
1 parent a62f677 commit b706cc4

File tree

5 files changed

+15
-21
lines changed

5 files changed

+15
-21
lines changed

lean/click.py

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@
2323
from lean.models.logger import Option
2424
from lean.models.errors import AuthenticationError
2525

26-
import tempfile
27-
2826

2927
def get_whoami_message() -> str:
3028
"""
@@ -62,17 +60,10 @@ def get_whoami_message() -> str:
6260
return f"logged in as {member.name} ({member.email})"
6361

6462
def get_disk_space_info(path: Path) -> str:
65-
import os
63+
import shutil
6664
try:
67-
if os.name == 'posix': # macOS y Linux
68-
stat = os.statvfs(path)
69-
total = stat.f_blocks * stat.f_frsize
70-
free = stat.f_bfree * stat.f_frsize
71-
used = total - free
72-
else: # Windows
73-
import shutil
74-
usage = shutil.disk_usage(path)
75-
total, used, free = usage.total, usage.used, usage.free
65+
usage = shutil.disk_usage(str(path))
66+
total, used, free = usage.total, usage.used, usage.free
7667

7768
return (
7869
f"Space in temporary location - "
@@ -156,7 +147,7 @@ def _parse_verbose_option(ctx: Context, param: Parameter, value: Optional[bool])
156147
docker_version = "Not installed"
157148

158149
try:
159-
temp_dir = Path(tempfile.gettempdir()).resolve()
150+
temp_dir = container.temp_manager.create_temporary_directory().parent
160151
space_info = get_disk_space_info(temp_dir)
161152
except:
162153
temp_dir = ""

lean/components/util/temp_manager.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,16 @@
1212
# limitations under the License.
1313

1414
from pathlib import Path
15+
from lean.components.util.logger import Logger
1516

1617
class TempManager:
1718
"""The TempManager class provides access to temporary directories."""
1819

19-
def __init__(self) -> None:
20+
def __init__(self, logger: Logger) -> None:
2021
"""Creates a new TempManager instance."""
2122
self._temporary_directories = []
2223
self.delete_temporary_directories_when_done = True
24+
self._logger = logger
2325

2426
def create_temporary_directory(self) -> Path:
2527
"""Returns the path to an empty temporary directory.
@@ -29,6 +31,7 @@ def create_temporary_directory(self) -> Path:
2931
from tempfile import mkdtemp
3032
path = Path(mkdtemp(prefix="lean-cli-"))
3133
self._temporary_directories.append(path)
34+
self._logger.debug(f"Created temporary directory: {path}")
3235
return path
3336

3437
def delete_temporary_directories(self) -> None:

lean/container.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ def initialize(self,
6868
self.platform_manager = PlatformManager()
6969
self.task_manager = TaskManager(self.logger)
7070
self.name_generator = NameGenerator()
71-
self.temp_manager = TempManager()
71+
self.temp_manager = TempManager(self.logger)
7272
self.xml_manager = XMLManager()
7373
self.http_client = HTTPClient(self.logger)
7474

@@ -211,4 +211,4 @@ def manage_docker_image(self, image: Optional[str], update: bool, no_update: boo
211211
return engine_image, container_module_version, project_config
212212

213213

214-
container = Container()
214+
container = Container()

tests/components/docker/test_lean_runner.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ def create_lean_runner(docker_manager: mock.Mock) -> LeanRunner:
8787
docker_manager,
8888
module_manager,
8989
project_manager,
90-
TempManager(),
90+
TempManager(logger),
9191
xml_manager)
9292

9393

tests/components/util/test_temp_manager.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@
1010
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1111
# See the License for the specific language governing permissions and
1212
# limitations under the License.
13-
1413
from lean.components.util.temp_manager import TempManager
14+
from unittest import mock
1515

1616

1717
def test_create_temporary_directory_creates_empty_directory() -> None:
18-
temp_manager = TempManager()
18+
temp_manager = TempManager(mock.Mock())
1919

2020
path = temp_manager.create_temporary_directory()
2121

@@ -24,13 +24,13 @@ def test_create_temporary_directory_creates_empty_directory() -> None:
2424

2525

2626
def test_create_temporary_directory_creates_new_directory_every_time() -> None:
27-
temp_manager = TempManager()
27+
temp_manager = TempManager(mock.Mock())
2828

2929
assert temp_manager.create_temporary_directory() != temp_manager.create_temporary_directory()
3030

3131

3232
def test_delete_temporary_directories_deletes_all_previously_created_directories() -> None:
33-
temp_manager = TempManager()
33+
temp_manager = TempManager(mock.Mock())
3434

3535
paths = []
3636
for i in range(5):

0 commit comments

Comments
 (0)