Skip to content

Commit

Permalink
Add --ignore-python-version flag (#11568)
Browse files Browse the repository at this point in the history
* Add --ignore-python-version flag

* address
  • Loading branch information
ofek authored Feb 24, 2022
1 parent 6ebd368 commit d24c7e6
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 14 deletions.
7 changes: 6 additions & 1 deletion datadog_checks_downloader/datadog_checks/downloader/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,8 @@ def download():
'--force', action='store_true', help='Force download even if the type of integration may be incorrect.'
)

parser.add_argument('--ignore-python-version', action='store_true', help='Ignore Python version requirements.')

parser.add_argument(
'-v', '--verbose', action='count', default=0, help='Show verbose information about TUF and in-toto.'
)
Expand All @@ -93,6 +95,7 @@ def download():
version = args.version
root_layout_type = args.type
force = args.force
ignore_python_version = args.ignore_python_version
verbose = args.verbose

if not standard_distribution_name.startswith('datadog-'):
Expand All @@ -115,6 +118,8 @@ def download():
tuf_downloader = TUFDownloader(
repository_url_prefix=repository_url_prefix, root_layout_type=root_layout_type, verbose=verbose
)
wheel_relpath = tuf_downloader.get_wheel_relpath(standard_distribution_name, version=version)
wheel_relpath = tuf_downloader.get_wheel_relpath(
standard_distribution_name, version=version, ignore_python_version=ignore_python_version
)
wheel_abspath = tuf_downloader.download(wheel_relpath)
print(wheel_abspath) # pylint: disable=print-statement
Original file line number Diff line number Diff line change
Expand Up @@ -303,7 +303,7 @@ def __get_versions(self, standard_distribution_name):

return wheels

def get_wheel_relpath(self, standard_distribution_name, version=None):
def get_wheel_relpath(self, standard_distribution_name, version=None, ignore_python_version=False):
"""
Returns:
If download over TUF is successful, this function will return the
Expand Down Expand Up @@ -332,6 +332,9 @@ def get_wheel_relpath(self, standard_distribution_name, version=None):

# Otherwise, fuhgedaboutit.
if not href:
raise PythonVersionMismatch(standard_distribution_name, version, this_python, python_tags)
if ignore_python_version:
href = list(python_tags.values())[0]
else:
raise PythonVersionMismatch(standard_distribution_name, version, this_python, python_tags)

return 'simple/{}/{}'.format(standard_distribution_name, href)
13 changes: 2 additions & 11 deletions datadog_checks_downloader/tests/test_downloader.py
Original file line number Diff line number Diff line change
Expand Up @@ -83,20 +83,11 @@ def download(package, version=None, root_layout_type='core'):
# -vvv: WARNING
# -vvvv: INFO
# -vvvvv: DEBUG
cmd = ['python', '-m', 'datadog_checks.downloader', '-vvvv', '--type', root_layout_type]
cmd = ['python', '-m', 'datadog_checks.downloader', '-vvvv', '--type', root_layout_type, '--ignore-python-version']
if version:
cmd.extend(['--version', version])
cmd.append(package)

try:
out = subprocess.check_output(cmd, stderr=subprocess.STDOUT)
except subprocess.CalledProcessError as e:
if b'datadog_checks.downloader.exceptions.PythonVersionMismatch' in e.output:
log.debug('unmet Python version requirements')
return
else:
raise

out = subprocess.check_output(cmd)
log.debug(' '.join(cmd))
log.debug(out)
log.debug('')
Expand Down

0 comments on commit d24c7e6

Please sign in to comment.