exit(0)
import os
import subprocess
import sys
import argparse
class OPOperator():
def __init__(self):
self.local_dir = os.getcwd()
def pull_from_center(self, folder_name, package_name, PDMCode):
PDM_token = "ETMsDgAAAW3y4VWSABRBRVMvQ0JDL1BLQ1M1UGFkZGluZwCAABAAEHdISqnBxYC1s+zZWobYBFQAAAJwG6/R2TxjSoAFn5ZgE2+0G34uQQrJiT4u6yWZCy30oAr42jaJxSVzu9yTpqMYOWB3mwbp8Uq0bRHOKejexrkFeB1oLloo5BJNIVKmQjI71wSg7e9NJesnYn7XdT2wRAxrK1aFyftpUyY0wcW9QWe4oWnRVBFyzelqen67xFqsHOKz3kaau0UpkJpUxXSWhAi/wMTgTky4YeQfv03xSx7JKFuh4JiBrd+OKf78AHYhN69CxzQYWcesg25k10gqZZwHCTTHfni3C+7rgXo61Dc4lAuiuwpf+eD0LBgZuN8gD0+aI+0asx8ZGasNJms6Rblq1/Ai7mhnC130hKJr2yonP89D40zzjLpyiXu7Eil4Kmhu4KBdq/ATuXZVnPY83lJnMR0HLmlx+ZjL4+HsSR2ag5JzaNcIuYUqpIyfToUHjCVpxwTNTZj4pCPGmOB0mzVwrkUqG7M/WwA0D/z8XDzy6A7GcFlUzSIeARf3bFOsgqYEiV4GdnCMdo00A2Q2oBlsI1/zlbt7DIwpO6Rc5K9t3CfEYF++xx86Pwn8AwdFZ+5U9uFcQ9nsMxNwtzoRJnDrlVgGnhtRshbVtNvB7p8zSxpoayzVI6hYtPRDp4K6CqT32H5UNcsnAxne5J+BekOd9kfc4eltIpqyfIgWkIIwq1NUv/uKjqx4L3ZK45DZl/HG7wSZmI2dKGBBIxZKJc3QuNPVUg2Bs8TumCUH1glr+BJmYSNoqSLGH9jjHwn6gPXaXUjuhzO5Mtc07G59uSnCVnsBqcL4uWLh6vr2afkAKBapIa7QK0VYuOu4MZk3A7hIK+yFcnjtExTgC2ZnLOWMABRoMUXYuJBErTud8ZnarXdTImMliQ=="
print ("[INFO] Download open source software from center")
rm_cmd = 'cd %s/../%s; rm -rf %s' % (self.local_dir, folder_name, package_name)
ret = self.exe_cmd(rm_cmd)
self.error_handler(ret)
print ("[INFO] start download new package: %s" % (package_name))
download_cmd = 'cd %s/../%s; curl -o "%s" -k -H "x-auth-token: "%s"" "https://svr.centralrepo.inhuawei.com/cmc-oss/v1/opensource/download?softVersionId="%s"&packages="%s"&fromPage=true"' % (self.local_dir, folder_name, package_name, PDM_token, PDMCode, package_name)
ret = self.exe_cmd(download_cmd)
self.error_handler(ret)
def pull_center_test(self):
self.pull_from_center('fio', 'fio-fio-3.8.tar.gz', '05832WND')
self.pull_from_center('iperf', 'iperf-3.7.tar.gz', '05833PNC')
self.pull_from_center('kafka-python', 'kafka-python-2.0.0.tar.gz', '05835PPS')
self.pull_from_center('jackson', 'jackson-annotations-2.11.2.jar', '05836QJR')
self.pull_from_center('jackson', 'jackson-core-2.11.2.jar', '05836QJR')
self.pull_from_center('jackson', 'jackson-databind-2.11.2.jar', '05836QJR')
self.pull_from_center('double-conversion', 'v3.1.1.zip', '05833DJM')
self.pull_from_center('psutil', 'psutil-5.7.0.tar.gz', '05834AVD')
def pull_center(self):
self.pull_from_center('fio', 'fio-fio-3.8.tar.gz', '05832WND')
self.pull_from_center('iperf', 'iperf-3.7.tar.gz', '05833PNC')
self.pull_from_center('kafka-python', 'kafka-python-2.0.0.tar.gz', '05835PPS')
self.pull_from_center('zlib', 'zlib-1.2.11.tar.gz', '05832LKN')
self.pull_from_center('cffi', 'cffi-1.12.3.tar.gz', '05833NKG')
self.pull_from_center('zstd', 'zstd-1.4.4.tar.gz', '05833RAA')
self.pull_from_center('unixodbc', 'unixODBC-2.3.9.tar.gz', '05836YTH')
self.pull_from_center('snappy', '1.1.8.tar.gz', '05834ASH')
self.pull_from_center('six', 'six-1.12.0.tar.gz', '05833CQA')
self.pull_from_center('asn1crypto', 'asn1crypto-1.2.0.tar.gz', '05833TCM')
self.pull_from_center('cryptography', 'cryptography-2.7.tar.gz', '05833JGS')
self.pull_from_center('openssl', 'openssl-1.1.1g.tar.gz', '05834NCD')
self.pull_from_center('pynacl', 'pynacl-1.3.0.tar.gz', '05833ABT')
self.pull_from_center('psutil', 'psutil-5.7.0.tar.gz', '05834AVD')
self.pull_from_center('pcre', 'pcre-8.44.tar.gz', '05834AMQ')
self.pull_from_center('paste', 'paste-3.4.0.tar.gz', '05834JPG')
self.pull_from_center('paramiko', 'paramiko-2.6.0.tar.gz', '05833MWY')
self.pull_from_center('orc', 'orc-rel-release-1.6.0.tar.gz', '05833RAN')
self.pull_from_center('numactl', 'numactl-2.0.13.tar.gz', '05833MQM')
self.pull_from_center('nghttp2', 'nghttp2-1.39.2.tar.gz', '05833PAX')
self.pull_from_center('netifaces', 'netifaces-release_0_10_9.tar.gz', '05833LEF')
self.pull_from_center('lz4', 'lz4-1.9.2.tar.gz', '05833QVT')
self.pull_from_center('llvm', 'llvm-10.0.0.src.tar.xz', '05835YVM')
self.pull_from_center('libxml2', 'libxml2-2.9.9.tar.gz', '05833DFT')
self.pull_from_center('libiconv', 'libiconv-1.16.tar.gz', '05833PRU')
self.pull_from_center('libevent', 'libevent-2.1.11-stable.tar.gz', '05833LTP')
self.pull_from_center('libcgroup', 'libcgroup-0.41-21.el7.src.rpm', '05833VLC')
self.pull_from_center('joda-time', 'joda-time-2.10.6.jar', '05836EVA')
self.pull_from_center('jemalloc', 'jemalloc-5.2.1.zip', '05833NWG')
self.pull_from_center('jackson', 'jackson-annotations-2.11.2.jar', '05836QJR')
self.pull_from_center('jackson', 'jackson-core-2.11.2.jar', '05836QJR')
self.pull_from_center('jackson', 'jackson-databind-2.11.2.jar', '05836QJR')
self.pull_from_center('ipaddress', 'ipaddress-1.0.22.tar.gz', '05832XTX')
self.pull_from_center('idna', 'idna-2.8.tar.gz', '05833CQF')
self.pull_from_center('esdk_obs_api', 'huaweicloud-sdk-c-obs-3.1.3.tar.gz', '05833HQG')
self.pull_from_center('grpc', 'grpc-1.28.1.tar.gz', '05834MFX')
self.pull_from_center('abseil-cpp', 'abseil-cpp-20200225.zip', '05835XEB')
self.pull_from_center('protobuf', 'protobuf-3.11.3.zip', '05834KWC')
self.pull_from_center('glog', 'glog-0.4.0.tar.gz', '05833NWR')
self.pull_from_center('flatbuffers', 'flatbuffers-1.11.0-src.zip', '05833LKH')
self.pull_from_center('fastjson', 'fastjson-1.2.70.jar', '05835TDF')
self.pull_from_center('enum34', 'enum34-1.1.9.tar.gz', '05834AFS')
self.pull_from_center('libedit', 'libedit-20190324-3.1.tar.gz', '05833LPK')
self.pull_from_center('double-conversion', 'v3.1.1.zip', '05833DJM')
self.pull_from_center('libcurl', 'curl-7.68.0.tar.gz', '05833WCD')
self.pull_from_center('cJSON', 'cJSON-1.7.13.tar.gz', '05834SXQ')
self.pull_from_center('c-ares', 'c-ares-1.15.0.tar.gz', '05833HTP')
self.pull_from_center('brotli', 'brotli-1.0.7-src.zip', '05833HGN')
self.pull_from_center('boost', 'boost_1_72_0.tar.gz', '05834LEU')
self.pull_from_center('bcrypt', 'bcrypt-3.1.7.tar.gz', '05833LMP')
self.pull_from_center('libthrift', 'thrift-0.13.0.tar.gz', '05833QEA')
self.pull_from_center('parquet', 'apache-arrow-0.11.1.zip', '05833DJU')
self.pull_from_center('httpclient', 'httpclient-4.5.13.jar', '05837DRH')
self.pull_from_center('httpcore', 'httpcore-4.4.13.jar', '05834FRW')
self.pull_from_center('commons-codec', 'commons-codec-1.11.jar', '05832USL')
self.pull_from_center('commons-logging', 'commons-logging-1.2.jar', '05835NYL')
self.pull_from_center('nanomsg', 'nanomsg-1.1.5.tar.gz', '05833GBW')
self.pull_from_center('slf4j', 'slf4j-api-1.7.30.jar', '05834BMW')
self.pull_from_center('rapidjson', 'rapidjson-4b3d7c2f42142f10b888e580c515f60ca98e2ee9.zip', '05833NMN')
self.pull_from_center('pyasn1', 'pyasn1-0.6.2.tar.gz', '05833MPT')
self.pull_from_center('pycparser', 'pycparser-2.19.tar.gz', '05833CLN')
self.pull_from_center('pyOpenSSL', 'pyOpenSSL-19.0.0.tar.gz', '05833EMP')
self.pull_from_center('madlib', 'apache-madlib-1.17.0-src.tar.gz', '05837HGE')
def build(self):
self.pull_center()
def error_handler(self, ret):
if ret:
print("[ERROR] Invalid return code, exited")
assert False
def exe_cmd(self, cmd):
if sys.version_info < (3, 5):
ret = subprocess.call(cmd, shell = True)
else:
run_tsk = subprocess.run(cmd, shell = True, check = True)
ret = run_tsk.returncode
return ret
if __name__ == '__main__':
Operator = OPOperator()
Operator.pull_from_center(sys.argv[1], sys.argv[2], sys.argv[3])