Skip to content

Commit 78f6809

Browse files
committed
-
1 parent 14f6a82 commit 78f6809

File tree

3 files changed

+20
-17
lines changed

3 files changed

+20
-17
lines changed

source_py3/python_toolbox/cute_profile/profile_handling.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import marshal
77
import pathlib
88
import abc
9-
import os.path
109
import pstats
1110

1211
from python_toolbox.third_party import envelopes
@@ -116,5 +115,5 @@ def get_profile_handler(profile_handler_string):
116115
[0]):
117116
return EmailProfileHandler(*profile_handler_string.split('\n'))
118117
else:
119-
assert os.path.isdir(profile_handler_string)
118+
assert pathlib.Path(profile_handler_string).is_dir()
120119
return FolderProfileHandler(profile_handler_string)

source_py3/python_toolbox/path_tools.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
'''Defines various tools related to file-system paths.'''
55

66
import sys
7-
import os.path
87
import pathlib
98
import glob
109
import types
@@ -45,6 +44,7 @@ def get_root_path_of_module(module):
4544
# It's a one-file module, not a package.
4645
result = path_of_root_module.parent.absolute()
4746

48-
assert result in list(map(os.path.abspath, sys.path))
47+
assert result in list(map(pathlib.Path.absolute,
48+
map(pathlib.Path, sys.path)))
4949
return result
5050

source_py3/python_toolbox/zip_tools.py

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,11 @@
99
import os.path
1010
import io
1111
import re
12+
import pathlib
1213
import fnmatch
1314

1415

15-
def zip_folder(folder, zip_path, ignored_patterns=()):
16+
def zip_folder(source_folder, zip_path, ignored_patterns=()):
1617
'''
1718
Zip `folder` into a zip file specified by `zip_path`.
1819
@@ -25,32 +26,35 @@ def zip_folder(folder, zip_path, ignored_patterns=()):
2526
2627
Any empty sub-folders will be ignored.
2728
'''
28-
assert os.path.isdir(folder)
29-
source_folder = os.path.realpath(folder)
29+
zip_path = pathlib.Path(zip_path)
30+
source_folder = pathlib.Path(source_folder).absolute()
31+
assert source_folder.is_dir()
3032

3133
ignored_re_patterns = [re.compile(fnmatch.translate(ignored_pattern)) for
3234
ignored_pattern in ignored_patterns]
3335

34-
zip_name = os.path.splitext(os.path.split(zip_path)[1])[0]
35-
source_folder_name = os.path.split(source_folder)[1]
36-
36+
zip_name = zip_path.name[:-len(zip_path.suffix)]
37+
38+
internal_pure_path = pathlib.PurePath(source_folder.name)
39+
3740
with zip_module.ZipFile(zip_path, 'w', zip_module.ZIP_DEFLATED) \
3841
as zip_file:
3942

4043
for root, subfolders, files in os.walk(source_folder):
44+
root = pathlib.Path(root)
45+
subfolders = map(pathlib.Path, subfolders)
46+
files = map(pathlib.Path, files)
4147

4248
for file_path in files:
4349

44-
if any(ignored_re_pattern.match(os.path.join(root, file_path))
45-
for ignored_re_pattern in ignored_re_patterns):
50+
if any(ignored_re_pattern.match(root / file_path)
51+
for ignored_re_pattern in ignored_re_patterns):
4652
continue
4753

48-
absolute_file_path = os.path.join(root, file_path)
54+
absolute_file_path = root / file_path
4955

50-
destination_file_path = os.path.join(
51-
source_folder_name,
52-
absolute_file_path[(len(source_folder) + len(os.sep)):]
53-
)
56+
destination_file_path = internal_pure_path / \
57+
absolute_file_path.name
5458

5559
zip_file.write(absolute_file_path, destination_file_path)
5660

0 commit comments

Comments
 (0)