mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-07-26 14:41:23 -07:00
Bundle a new version of python-six for compatibility along with some code to make it easy for distributions to override the bunndled copy if they have a new enough version.
This commit is contained in:
parent
28c933ce5e
commit
baa309309d
54 changed files with 1017 additions and 84 deletions
34
hacking/update_bundled.py
Executable file
34
hacking/update_bundled.py
Executable file
|
@ -0,0 +1,34 @@
|
|||
#!/usr/bin/python2 -tt
|
||||
|
||||
import glob
|
||||
import json
|
||||
import os.path
|
||||
from distutils.version import LooseVersion
|
||||
|
||||
from ansible.module_utils.urls import open_url
|
||||
|
||||
basedir = os.path.dirname(__file__)
|
||||
|
||||
for filename in glob.glob(os.path.join(basedir, '../lib/ansible/compat/*/__init__.py')):
|
||||
if 'compat/tests' in filename:
|
||||
# compat/tests doesn't bundle any code
|
||||
continue
|
||||
|
||||
filename = os.path.normpath(filename)
|
||||
with open(filename, 'r') as module:
|
||||
for line in module:
|
||||
if line.strip().startswith('_BUNDLED_METADATA'):
|
||||
data = line[line.index('{'):].strip()
|
||||
break
|
||||
else:
|
||||
print('WARNING: {0} contained no metadata. Could not check for updates'.format(filename))
|
||||
continue
|
||||
metadata = json.loads(data)
|
||||
pypi_fh = open_url('https://pypi.python.org/pypi/{0}/json'.format(metadata['pypi_name']))
|
||||
pypi_data = json.loads(pypi_fh.read())
|
||||
if LooseVersion(metadata['version']) < LooseVersion(pypi_data['info']['version']):
|
||||
print('UPDATE: {0} from {1} to {2} {3}'.format(
|
||||
metadata['pypi_name'],
|
||||
metadata['version'],
|
||||
pypi_data['info']['version'],
|
||||
'https://pypi.python.org/pypi/{0}/'.format(metadata['pypi_name'])))
|
Loading…
Add table
Add a link
Reference in a new issue