pyflakes warns about various errors, addressed here. For cls_cluster.py,
remove (unknown) sys.exit and replace through Exception, as sys.exit()
has the unwanted effect that the CI script would stop. Instead, raise
an Exception that would show the problem in the HTML, and ensures that
the script runs until the end.
These are the warnings flagged by pyflakes.
cls_cluster.py:297:4: undefined name 'sys'
cls_containerize.py:39:1: 'subprocess' imported but unused
cls_containerize.py:41:1: 'threading' imported but unused
cls_containerize.py:43:1: 'multiprocessing.Process' imported but unused
cls_containerize.py:43:1: 'multiprocessing.Lock' imported but unused
cls_containerize.py:43:1: 'multiprocessing.SimpleQueue' imported but unused
cls_containerize.py:49:1: 'cls_cluster as OC' imported but unused
cls_containerize.py:50:1: redefinition of unused 'cls_cmd' from line 42
cls_module.py:28:1: 'os' imported but unused
cls_module.py:29:1: 'sys' imported but unused
cls_module.py:34:1: 'subprocess' imported but unused
cls_module.py:35:1: 'datetime.datetime' imported but unused
cls_module.py:211:11: undefined name 'sshconnection'
cls_oaicitest.py:37:1: 'pexpect' imported but unused
cls_oaicitest.py:47:1: 'cls_cluster as OC' imported but unused
cls_oaicitest.py:54:1: 'matplotlib.pyplot as plt' imported but unused
cls_oaicitest.py:55:1: 'numpy as np' imported but unused
cls_oai_html.py:34:1: 'sys' imported but unused
cls_oai_html.py:41:1: 'multiprocessing.Process' imported but unused
cls_oai_html.py:41:1: 'multiprocessing.Lock' imported but unused
cls_oai_html.py:41:1: 'multiprocessing.SimpleQueue' imported but unused
cls_physim.py:37:1: 'multiprocessing.SimpleQueue' imported but unused
cls_static_code_analysis.py:39:1: 'time' imported but unused
cls_static_code_analysis.py:40:1: 'multiprocessing.Process' imported but unused
cls_static_code_analysis.py:40:1: 'multiprocessing.Lock' imported but unused
cls_static_code_analysis.py:40:1: 'multiprocessing.SimpleQueue' imported but unused
epc.py:41:1: 'multiprocessing.Process' imported but unused
epc.py:41:1: 'multiprocessing.Lock' imported but unused
epc.py:41:1: 'multiprocessing.SimpleQueue' imported but unused
main.py:60:1: 'pexpect' imported but unused
main.py:66:1: 'datetime' imported but unused
main.py:68:1: redefinition of unused 'subprocess' from line 63
main.py:70:1: 'multiprocessing.Process' imported but unused
main.py:70:1: 'multiprocessing.Lock' imported but unused
main.py:70:1: 'multiprocessing.SimpleQueue' imported but unused
provideUniqueImageTag.py:2:1: 'os' imported but unused
54 lines
1.7 KiB
Python
54 lines
1.7 KiB
Python
import argparse
|
|
import re
|
|
import subprocess
|
|
import sys
|
|
|
|
AUTH_SERVICE = 'registry.docker.io'
|
|
AUTH_SCOPE = 'repository:oaisoftwarealliance/oai-enb:pull'
|
|
|
|
def main() -> None:
|
|
args = _parse_args()
|
|
|
|
cmd = 'curl -fsSL "https://auth.docker.io/token?service=' + AUTH_SERVICE + '&scope=' + AUTH_SCOPE + '" 2>/dev/null | jq --raw-output ".token"'
|
|
token = subprocess.check_output(cmd, shell=True, universal_newlines=True)
|
|
token = str(token).strip()
|
|
cmd = 'curl -fsSL -H "Authorization: Bearer ' + token + '" "https://index.docker.io/v2/oaisoftwarealliance/oai-enb/tags/list" 2>/dev/null | jq .'
|
|
listOfTags = subprocess.check_output(cmd, shell=True, universal_newlines=True)
|
|
|
|
foundTag = False
|
|
for tag in listOfTags.split('\n'):
|
|
if re.search('"' + args.start_tag + '"', tag) is not None:
|
|
foundTag = True
|
|
|
|
if not foundTag:
|
|
print (args.start_tag)
|
|
sys.exit(0)
|
|
|
|
proposedVariants = ['a', 'b', 'c', 'd']
|
|
for variant in proposedVariants:
|
|
foundTag = False
|
|
currentVariant = variant
|
|
for tag in listOfTags.split('\n'):
|
|
if re.search('"' + args.start_tag + variant + '"', tag) is not None:
|
|
foundTag = True
|
|
break
|
|
if not foundTag:
|
|
break
|
|
|
|
if not foundTag:
|
|
print (args.start_tag + currentVariant)
|
|
|
|
def _parse_args() -> argparse.Namespace:
|
|
parser = argparse.ArgumentParser(description='Provides an unique new image tag for DockerHub')
|
|
|
|
parser.add_argument(
|
|
'--start_tag', '-st',
|
|
action='store',
|
|
required=True,
|
|
help='Proposed Starting Tag',
|
|
)
|
|
return parser.parse_args()
|
|
|
|
if __name__ == '__main__':
|
|
main()
|