Skip to content

Commit 87f4237

Browse files
Use backport module explicitly.
The backport module for importlib_resources doesn't shadow the standard library import.resources thus we need to import conditionally based on the current Python / standard library version.
1 parent a8265b9 commit 87f4237

File tree

2 files changed

+19
-10
lines changed

2 files changed

+19
-10
lines changed

bloom/generators/debian/generator.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434

3535
import collections
3636
import datetime
37-
import importlib.resources
3837
import io
3938
import json
4039
import os
@@ -89,6 +88,12 @@
8988
from bloom.util import get_rfc_2822_date
9089
from bloom.util import maybe_continue
9190

91+
if sys.version_info[0:2] < (3, 10):
92+
import importlib_resources
93+
else:
94+
import importlib.resources as importlib_resources
95+
96+
9297
try:
9398
from catkin_pkg.changelog import get_changelog_from_path
9499
from catkin_pkg.changelog import CHANGELOG_FILENAME
@@ -127,22 +132,22 @@
127132

128133
def __place_template_folder(group, src, dst, gbp=False):
129134
template_files = [os.path.basename(file)
130-
for file in importlib.resources.files(f'{group}.{src.replace("/", ".")}').iterdir()]
135+
for file in importlib_resources.files(f'{group}.{src.replace("/", ".")}').iterdir()]
131136
# For each template, place
132137
for template_file in template_files:
133138
if not gbp and os.path.basename(template_file) == 'gbp.conf.em':
134139
debug("Skipping template '{0}'".format(template_file))
135140
continue
136141
template_path = os.path.join(src, template_file)
137142
template_dst = os.path.join(dst, template_file)
138-
if importlib.resources.files(group).joinpath(template_path).is_dir():
143+
if importlib_resources.files(group).joinpath(template_path).is_dir():
139144
debug("Recursing on folder '{0}'".format(template_path))
140145
__place_template_folder(group, template_path, template_dst, gbp)
141146
else:
142147
try:
143148
debug("Placing template '{0}'".format(template_path))
144-
template = importlib.resources.files(group).joinpath(template_path).open().read()
145-
template_abs_path = importlib.resources.files(group).joinpath(template_path)
149+
template = importlib_resources.files(group).joinpath(template_path).open().read()
150+
template_abs_path = importlib_resources.files(group).joinpath(template_path)
146151
except IOError as err:
147152
error("Failed to load template "
148153
"'{0}': {1}".format(template_file, str(err)), exit=True)

bloom/generators/rpm/generator.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434

3535
import collections
3636
import datetime
37-
import importlib.resources
3837
import io
3938
import json
4039
import os
@@ -83,6 +82,11 @@
8382
from bloom.util import execute_command
8483
from bloom.util import maybe_continue
8584

85+
if sys.version_info[0:2] < (3, 10):
86+
import importlib_resources
87+
else:
88+
import importlib.resources as importlib_resources
89+
8690
try:
8791
import rosdistro
8892
except ImportError as err:
@@ -103,19 +107,19 @@
103107

104108
def __place_template_folder(group, src, dst, gbp=False):
105109
template_files = [os.path.basename(file)
106-
for file in importlib.resources.files(f'{group}.{src.replace("/", ".")}').iterdir()]
110+
for file in importlib_resources.files(f'{group}.{src.replace("/", ".")}').iterdir()]
107111
# For each template, place
108112
for template_file in template_files:
109113
template_path = os.path.join(src, template_file)
110114
template_dst = os.path.join(dst, template_file)
111-
if importlib.resources.files(group).joinpath(template_path).is_dir():
115+
if importlib_resources.files(group).joinpath(template_path).is_dir():
112116
debug("Recursing on folder '{0}'".format(template_path))
113117
__place_template_folder(group, template_path, template_dst, gbp)
114118
else:
115119
try:
116120
debug("Placing template '{0}'".format(template_path))
117-
template = importlib.resources.files(group).joinpath(template_path).open().read()
118-
template_abs_path = importlib.resources.files(group).joinpath(template_path)
121+
template = importlib_resources.files(group).joinpath(template_path).open().read()
122+
template_abs_path = importlib_resources.files(group).joinpath(template_path)
119123
except IOError as err:
120124
error("Failed to load template "
121125
"'{0}': {1}".format(template_file, str(err)), exit=True)

0 commit comments

Comments
 (0)