aboutsummaryrefslogtreecommitdiffstats
path: root/openecomp-be
diff options
context:
space:
mode:
authoreschcam <cameron.scholes@est.tech>2023-06-19 17:39:10 +0100
committerVasyl Razinkov <vasyl.razinkov@est.tech>2023-06-20 10:14:27 +0000
commita622b7fe17a94698c1d242772d5d1b1d48761a29 (patch)
treee35dd9070a008a0c9b65494dc6094e44fe3a8f23 /openecomp-be
parentf845ac23cdd262b7624785283531952e38557deb (diff)
Migrate Python 2 files to Python 3
Issue-ID: SDC-4498 Signed-off-by: eschcam <cameron.scholes@est.tech> Change-Id: I6b55fcd799371dd209898607c90d5c348e242c36
Diffstat (limited to 'openecomp-be')
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/securityrulestoportconnection/securityRulesToPortGetResource/inputfiles/call_home.py8
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/securityrulestoportconnection/securityRulesToPortGetResource/inputfiles/check_availability.py8
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/securityrulestoportconnection/securityRulesToPortGetResource/inputfiles/register_status.py30
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/securityrulestoportconnection/securityRulesToPortGetResource/inputfiles/wait_for_resources.py12
-rw-r--r--openecomp-be/tools/build/scripts/action_library_client/action_library_client.py59
-rw-r--r--openecomp-be/tools/build/scripts/parse-json.py14
-rw-r--r--openecomp-be/tools/migration/1607_to_1610.py192
7 files changed, 168 insertions, 155 deletions
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/securityrulestoportconnection/securityRulesToPortGetResource/inputfiles/call_home.py b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/securityrulestoportconnection/securityRulesToPortGetResource/inputfiles/call_home.py
index 54f2a69c09..0b120983eb 100644
--- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/securityrulestoportconnection/securityRulesToPortGetResource/inputfiles/call_home.py
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/securityrulestoportconnection/securityRulesToPortGetResource/inputfiles/call_home.py
@@ -6,7 +6,6 @@ from socket import getfqdn
from sys import platform
from time import sleep
-
PARSER = argparse.ArgumentParser()
PARSER.add_argument("manager_ip", help="The IPv4 Address where one can read the MaveriQConductor.")
PARSER.add_argument("--mockupfile", type=str, help="The path of the json mockupfile to use.")
@@ -43,7 +42,7 @@ def check_availability():
is_connected = False
while is_connected is False:
try:
- if requests.get(URL_AVAIL, headers={'Connection': 'close'}).status_code is 200:
+ if requests.get(URL_AVAIL, headers={'Connection': 'close'}).status_code == 200:
is_connected = True
sleep(2)
except requests.exceptions.ConnectionError:
@@ -90,8 +89,9 @@ def main():
# Perform any replacement needed.
json_data = multiple_replace(regex_dict, json_data)
- print json_data
+ print(json_data)
check_availability()
return post_request(p_json_data=json_data, p_headers=HEADERS)
-print main()
+
+print(main())
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/securityrulestoportconnection/securityRulesToPortGetResource/inputfiles/check_availability.py b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/securityrulestoportconnection/securityRulesToPortGetResource/inputfiles/check_availability.py
index e93b372f15..09098b23d0 100644
--- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/securityrulestoportconnection/securityRulesToPortGetResource/inputfiles/check_availability.py
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/securityrulestoportconnection/securityRulesToPortGetResource/inputfiles/check_availability.py
@@ -15,20 +15,20 @@ PARSER.add_argument("ScribeIP", type=str,
help="The Stage the application is currently in")
ARGS = PARSER.parse_args()
-print "Begining check availability check!"
+print("Beginning check availability check!")
isConnected = False
while isConnected is False:
try:
sys.stdout.write('.')
sleep(2)
if requests.get(conductor_url.format(ARGS.ScribeIP),
- headers={'Connection': 'close'}).status_code is 200 and requests.get(
+ headers={'Connection': 'close'}).status_code == 200 and requests.get(
check_api.format(ARGS.ScribeIP,
headers={'Connection': 'close'}),
auth=requests.auth.HTTPBasicAuth(check_user,
- check_password)).status_code is 200:
+ check_password)).status_code == 200:
isConnected = True
except requests.exceptions.ConnectionError as e:
sleep(2)
-print 'Conductor and Scribe are ready!'
+print('Conductor and Scribe are ready!')
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/securityrulestoportconnection/securityRulesToPortGetResource/inputfiles/register_status.py b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/securityrulestoportconnection/securityRulesToPortGetResource/inputfiles/register_status.py
index 98adafaf2f..55be22daf5 100644
--- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/securityrulestoportconnection/securityRulesToPortGetResource/inputfiles/register_status.py
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/securityrulestoportconnection/securityRulesToPortGetResource/inputfiles/register_status.py
@@ -12,7 +12,6 @@ from socket import getfqdn
import sys
from time import time
-
parser = argparse.ArgumentParser()
parser.add_argument("scribe_ip", type=str,
help="The IP where the Scribe can be reached.")
@@ -88,22 +87,24 @@ def build_add_json():
ADD_COMPONENT_BODY["OAM_IP"] = OAM_DIRECT_IP
for interface in netifaces.interfaces():
- ADD_COMPONENT_BODY["machineNetworkInterfaces"].append({"name": interface, "value": netifaces.ifaddresses(interface)[2][0]['addr']})
+ ADD_COMPONENT_BODY["machineNetworkInterfaces"].append(
+ {"name": interface, "value": netifaces.ifaddresses(interface)[2][0]['addr']})
- if PROBE_ID is not "":
- ADD_COMPONENT_BODY["machineID"] = REGION + '_' + TENANT + '_' +\
- CLUSTER_NAME + '_' + MACHINE_NAME + '_' + PROBE_ID
+ if PROBE_ID != "":
+ ADD_COMPONENT_BODY["machineID"] = REGION + '_' + TENANT + '_' + \
+ CLUSTER_NAME + '_' + MACHINE_NAME + '_' + PROBE_ID
else:
- ADD_COMPONENT_BODY["machineID"] = REGION + '_' + TENANT + '_' +\
- CLUSTER_NAME + '_' + MACHINE_NAME
+ ADD_COMPONENT_BODY["machineID"] = REGION + '_' + TENANT + '_' + \
+ CLUSTER_NAME + '_' + MACHINE_NAME
return ADD_COMPONENT_BODY
def send_postage(p_url, p_url_user, p_url_password, p_json_data):
json_header = {'Content-type': 'application/json'}
- request = requests.post(p_url, json.dumps(p_json_data), json_header, auth=requests.auth.HTTPBasicAuth(p_url_user, p_url_password))
- print request.status_code
- if (request.status_code != 200):
+ request = requests.post(p_url, json.dumps(p_json_data), json_header,
+ auth=requests.auth.HTTPBasicAuth(p_url_user, p_url_password))
+ print(request.status_code)
+ if request.status_code != 200:
sys.exit(1)
return request.status_code
@@ -118,9 +119,10 @@ def post_add_machine():
read_metadata()
return send_postage(add_machine_ip, user, password, build_add_json())
+
if args.stage is None and args.status is None and args.description is None:
- print "adding machine"
- print post_add_machine()
+ print("adding machine")
+ print(post_add_machine())
else:
- print "logging health"
- print post_health()
+ print("logging health")
+ print(post_health())
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/securityrulestoportconnection/securityRulesToPortGetResource/inputfiles/wait_for_resources.py b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/securityrulestoportconnection/securityRulesToPortGetResource/inputfiles/wait_for_resources.py
index 5d960d659e..5abf961f75 100644
--- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/securityrulestoportconnection/securityRulesToPortGetResource/inputfiles/wait_for_resources.py
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/securityrulestoportconnection/securityRulesToPortGetResource/inputfiles/wait_for_resources.py
@@ -16,9 +16,9 @@ def parse_json_file(json_path):
def check_network_interfaces():
for interface in netifaces.interfaces():
- if(sys.platform != 'win32' or netifaces.ifaddresses(interface)[-1000][0]['addr'] != '00:00:00:00:00:00:00:e0'):
+ if sys.platform != 'win32' or netifaces.ifaddresses(interface)[-1000][0]['addr'] != '00:00:00:00:00:00:00:e0':
while 2 not in netifaces.ifaddresses(interface).keys() and 23 not in netifaces.ifaddresses(interface).keys():
- print "Still waiting for interface:", interface
+ print("Still waiting for interface:", interface)
time.sleep(TIME_INTERVAL)
@@ -29,7 +29,7 @@ def check_connectivity():
ping_str = "ping -n 1 "
while os.system(ping_str + component_ip) != 0:
- print "No connectivity to", component_ip, "waiting", TIME_INTERVAL, "seconds"
+ print("No connectivity to", component_ip, "waiting", TIME_INTERVAL, "seconds")
time.sleep(TIME_INTERVAL)
@@ -51,7 +51,7 @@ def check_cinder_mounts():
cinder_attached = os.popen("wmic diskdrive get DeviceID | find /i \"PHYSICALDRIVE\" | find /V \"0\" /C").read()
while (int(cinder_attached) < cinder_count) and (cinder_count != 0):
- print "Missing a cinder mount, waiting", TIME_INTERVAL, "seconds"
+ print("Missing a cinder mount, waiting", TIME_INTERVAL, "seconds")
time.sleep(TIME_INTERVAL)
if sys.platform.startswith('linux'):
@@ -62,7 +62,7 @@ def check_cinder_mounts():
"wmic diskdrive get DeviceID | find /i \"PHYSICALDRIVE\" | find /V \"0\" /C").read()
if int(cinder_attached) == cinder_count:
- print "All cinder are attached and ready to be formatted and mounted"
+ print("All cinder are attached and ready to be formatted and mounted")
def main():
@@ -72,7 +72,7 @@ def main():
if component_ip is not None:
check_connectivity()
- print "All resources are ready"
+ print("All resources are ready")
if __name__ == "__main__":
diff --git a/openecomp-be/tools/build/scripts/action_library_client/action_library_client.py b/openecomp-be/tools/build/scripts/action_library_client/action_library_client.py
index 7f513afe86..0537128665 100644
--- a/openecomp-be/tools/build/scripts/action_library_client/action_library_client.py
+++ b/openecomp-be/tools/build/scripts/action_library_client/action_library_client.py
@@ -147,6 +147,7 @@ class FinalizeStatus(object):
class ArgsDict(dict):
"""A dict which makes attributes accessible as properties."""
+
def __getattr__(self, attr):
return self[attr]
@@ -221,33 +222,33 @@ class ArgumentParser(object):
def usage():
"""Print usage message."""
print("" +
- "Usage: action_library_client.py [--help] [--url <url>] [--in <filename>]\n" +
- " [--out <filename>] [--config <filename>]\n" +
- " [--log <filename>] [--uuid <uuid>]\n" +
- " [--curl] [--dryrun] [--verbose] [--version]\n" +
- " [--list | --create | --update= | --delete |\n" +
- " --checkout | --undocheckout | --checkin | --submit]\n" +
- "\n" +
- "Optional arguments:\n" +
- " --help Show this help message and exit\n" +
- " --url <url> REST endpoint URL\n" +
- " --in <filename> Path to JSON input file (else STDIN)\n" +
- " --out <filename> Path to JSON output file (else STDOUT or logfile)\n" +
- " --config <filename> Path to configuration file\n" +
- " --log <filename> Path to logfile (else STDOUT)\n" +
- " --uuid <uuid> Action UUID, (=='actionInvariantUUID')\n" +
- " --curl Use curl transport impl\n" +
- " --dryrun Describe what will happen, execute nothing\n" +
- " --verbose Verbose diagnostic output\n" +
- " --version Print script version and exit\n" +
- " --list List actions\n" +
- " --create Create new action (requires --in)\n" +
- " --update Update existing action (requires --uuid, --in)\n" +
- " --delete Delete existing action (requires --uuid)\n" +
- " --checkout Create minor version candidate (requires --uuid)\n" +
- " --undocheckout Discard minor version candidate (requires --uuid)\n" +
- " --checkin Create minor version from candidate (requires --uuid)\n" +
- " --submit Create next major version (requires --uuid)")
+ "Usage: action_library_client.py [--help] [--url <url>] [--in <filename>]\n" +
+ " [--out <filename>] [--config <filename>]\n" +
+ " [--log <filename>] [--uuid <uuid>]\n" +
+ " [--curl] [--dryrun] [--verbose] [--version]\n" +
+ " [--list | --create | --update= | --delete |\n" +
+ " --checkout | --undocheckout | --checkin | --submit]\n" +
+ "\n" +
+ "Optional arguments:\n" +
+ " --help Show this help message and exit\n" +
+ " --url <url> REST endpoint URL\n" +
+ " --in <filename> Path to JSON input file (else STDIN)\n" +
+ " --out <filename> Path to JSON output file (else STDOUT or logfile)\n" +
+ " --config <filename> Path to configuration file\n" +
+ " --log <filename> Path to logfile (else STDOUT)\n" +
+ " --uuid <uuid> Action UUID, (=='actionInvariantUUID')\n" +
+ " --curl Use curl transport impl\n" +
+ " --dryrun Describe what will happen, execute nothing\n" +
+ " --verbose Verbose diagnostic output\n" +
+ " --version Print script version and exit\n" +
+ " --list List actions\n" +
+ " --create Create new action (requires --in)\n" +
+ " --update Update existing action (requires --uuid, --in)\n" +
+ " --delete Delete existing action (requires --uuid)\n" +
+ " --checkout Create minor version candidate (requires --uuid)\n" +
+ " --undocheckout Discard minor version candidate (requires --uuid)\n" +
+ " --checkin Create minor version from candidate (requires --uuid)\n" +
+ " --submit Create next major version (requires --uuid)")
###############################################################################
@@ -533,7 +534,7 @@ class CURLRESTClient(IRESTClient):
"""Debug curl command, for diags and dryrun."""
buf = ""
for token in cmd:
- if token is "curl" or token.startswith("-"):
+ if token == "curl" or token.startswith("-"):
buf = "{0}{1} ".format(buf, token)
else:
buf = "{0}\"{1}\" ".format(buf, token)
@@ -556,7 +557,7 @@ class CURLRESTClient(IRESTClient):
try:
separator = output.index("\r\n\r\n{")
self.logger.debug("HTTP preamble:\n{0}".format(output[:separator]))
- json_body = json.loads(output[(separator+4):])
+ json_body = json.loads(output[(separator + 4):])
self.log_json_response(method, json_body)
return json_body
except ValueError:
diff --git a/openecomp-be/tools/build/scripts/parse-json.py b/openecomp-be/tools/build/scripts/parse-json.py
index 46537ceac5..83c70aac01 100644
--- a/openecomp-be/tools/build/scripts/parse-json.py
+++ b/openecomp-be/tools/build/scripts/parse-json.py
@@ -41,17 +41,19 @@ from collections import OrderedDict
def readJsonFile(file, type):
- with open(file, 'r') as f:
- data = json.load(f, object_pairs_hook=OrderedDict)
- return data[type]
+ with open(file, 'r') as f:
+ data = json.load(f, object_pairs_hook=OrderedDict)
+ return data[type]
+
def printJsonTypeEntries(jsonData):
- for i in jsonData.keys():
- print jsonData[i] + ';'
+ for i in jsonData.keys():
+ print(jsonData[i] + ';')
def usage():
- print 'parseJsonFile.py [-f <json-file> & -t <cql-type: drop|create|insert|update|select]'
+ print('parseJsonFile.py [-f <json-file> & -t <cql-type: drop|create|insert|update|select]')
+
def main(argv):
action = ''
diff --git a/openecomp-be/tools/migration/1607_to_1610.py b/openecomp-be/tools/migration/1607_to_1610.py
index f46cb3a4b8..e817e3b1e6 100644
--- a/openecomp-be/tools/migration/1607_to_1610.py
+++ b/openecomp-be/tools/migration/1607_to_1610.py
@@ -1,6 +1,6 @@
#!/usr/bin/python
import os
-import sys,json,datetime,time,types,httplib,re
+import sys, json, datetime, time, types, httplib, re
import mimetypes
DEFAULT_HOST = "127.0.0.1"
@@ -13,49 +13,50 @@ DEFAULT_PASSWORD = "cs0008"
ONBOARD_BASE_PATH = "/onboarding-api/v1.0"
VSP_LIST_PATH = "{0}/vendor-software-products".format(ONBOARD_BASE_PATH)
-VSP_ACTIONS_PATH = "{0}/vendor-software-products/{{vspId}}/actions".format(ONBOARD_BASE_PATH)
+VSP_ACTIONS_PATH = "{0}/vendor-software-products/{{vspId}}/actions".format(ONBOARD_BASE_PATH)
VSP_UPLOAD_PATH = "{0}/vendor-software-products/{{vspId}}/upload".format(ONBOARD_BASE_PATH)
VSP_DOWNLOAD_PATH = "{0}/vendor-software-products/{{vspId}}/downloadHeat".format(ONBOARD_BASE_PATH)
VSP_GET_URL = "{0}/vendor-software-products/{{vspId}}".format(ONBOARD_BASE_PATH)
+
def main(argv):
- username=DEFAULT_USERNAME
- password=DEFAULT_PASSWORD
- host=DEFAULT_HOST
+ username = DEFAULT_USERNAME
+ password = DEFAULT_PASSWORD
+ host = DEFAULT_HOST
if not argv:
- print "Going to use default values"
+ print("Going to use default values")
else:
- if argv[0].lower() == 'h' or argv[0].lower() == '-h':
- printHelp()
- return
-
- if argv[0] == '-ip':
- host=argv[1]
- else:
- if argv[0].lower() == '-a' and '/' not in argv[1]:
- print '\n>>> Error: Credentials required (username/password)\n'
- printHelp()
- return
-
- else:
- creds = argv[1].split('/')
- username = creds[0]
- password = creds[1] # not used
-
- try:
- cmdIp=argv[2]
- host=argv[3]
- except IndexError:
- host=DEFAULT_HOST
- print "Going to use user defined values"
+ if argv[0].lower() == 'h' or argv[0].lower() == '-h':
+ printHelp()
+ return
+
+ if argv[0] == '-ip':
+ host = argv[1]
+ else:
+ if argv[0].lower() == '-a' and '/' not in argv[1]:
+ print('\n>>> Error: Credentials required (username/password)\n')
+ printHelp()
+ return
+
+ else:
+ creds = argv[1].split('/')
+ username = creds[0]
+ password = creds[1] # not used
+
+ try:
+ cmdIp = argv[2]
+ host = argv[3]
+ except IndexError:
+ host = DEFAULT_HOST
+ print("Going to use user defined values")
Service.server(host)
- webHandler=WebHandler(host=host, port=DEFAULT_PORT)
+ webHandler = WebHandler(host=host, port=DEFAULT_PORT)
response, headers = webHandler.rest(url=VSP_LIST_PATH, method='GET', data=None, userId=username)
jResult = json.loads(response)
jSrvices = jResult["results"]
- reportFileName = 'upgradereport.csv' #datetime.now()
+ reportFileName = 'upgradereport.csv' # datetime.now()
reportFile = open(reportFileName, 'w')
reportFile.write(Service.header())
@@ -69,85 +70,91 @@ def main(argv):
else:
lockingUser = jService["lockingUser"]
- service = Service(serviceName=serviceName, vspId=vspId, vendorName=vendorName, lockingUser=lockingUser )
- print service
- # Will try to GET the service
+ service = Service(serviceName=serviceName, vspId=vspId, vendorName=vendorName, lockingUser=lockingUser)
+ print(service)
+ # Will try to GET the service
res = service.Get()
if res == 500:
- serviceMigration(service, status, username)
+ serviceMigration(service, status, username)
else:
- print "Service {0} was tested and does not need a migration".format(serviceName)
+ print("Service {0} was tested and does not need a migration".format(serviceName))
reportFile.write(service.line())
reportFile.close()
def serviceMigration(service, serviceStatus, username):
- print "Service {0} was tested and it needs a migration".format(service.serviceName)
- print "Service {0} - Migration start"
- if serviceStatus == "Locked":
- print "Service {0} is locked - forcing checkin".format(service.serviceName)
- service.Checkin()
- print "Doing new checkout"
- service.Checkout(username)
-
- zipName = service.DownloadHeat()
- if not zipName:
- print "no heat found"
- service.uploadStatus = "no heat found"
- else:
- uploadResponse = service.UploadHeat(zipName)
- uploadResults = json.loads(uploadResponse)
- if uploadResults['status'] == 'Success' and uploadResults['errors'].__len__() == 0:
- service.uploadStatus = "Heat uploaded successfully"
- else:
- service.uploadStatus = "Heat uploaded with errors"
- print "Doing new checkin"
+ print("Service {0} was tested and it needs a migration".format(service.serviceName))
+ print("Service {0} - Migration start")
+ if serviceStatus == "Locked":
+ print("Service {0} is locked - forcing checkin".format(service.serviceName))
service.Checkin()
+ print("Doing new checkout")
+ service.Checkout(username)
+
+ zipName = service.DownloadHeat()
+ if not zipName:
+ print("no heat found")
+ service.uploadStatus = "no heat found"
+ else:
+ uploadResponse = service.UploadHeat(zipName)
+ uploadResults = json.loads(uploadResponse)
+ if uploadResults['status'] == 'Success' and uploadResults['errors'].__len__() == 0:
+ service.uploadStatus = "Heat uploaded successfully"
+ else:
+ service.uploadStatus = "Heat uploaded with errors"
+ print("Doing new checkin")
+ service.Checkin()
- print "Service {0} - Migration end"
+ print("Service {0} - Migration end")
-def printHelp():
+def printHelp():
print("Upgrade script Help:")
print("==================================")
print("1607_to_1610 -h --> get help")
print("1607_to_1610 -a <username>/<password> [-ip {ip}]")
print("Example: 1607_to_1610 -a root/secret")
+
class Service(object):
- def __init__(self, serviceName, vspId ,vendorName, lockingUser):
+ def __init__(self, serviceName, vspId, vendorName, lockingUser):
self.serviceName = serviceName
self.vspId = vspId
self.vendorName = vendorName
self.lockingUser = lockingUser
- self.webHandler = WebHandler(host=Service.serveraddress, port=DEFAULT_PORT) # Schema?
+ self.webHandler = WebHandler(host=Service.serveraddress, port=DEFAULT_PORT) # Schema?
self.uploadStatus = "not started"
def __repr__(self):
- return 'Name: {0}, Id: {1}, Vendor: {2}, locked by: {3}, status {4}'.format(self.serviceName, self.vspId ,self.vendorName, self.lockingUser, self.uploadStatus)
+ return 'Name: {0}, Id: {1}, Vendor: {2}, locked by: {3}, status {4}'.format(self.serviceName, self.vspId,
+ self.vendorName, self.lockingUser,
+ self.uploadStatus)
+
@classmethod
def header(cls):
return 'Name,Id,Vendor,locked-by,status\n'
@classmethod
def server(cls, address):
- cls.serveraddress=address
+ cls.serveraddress = address
def line(self):
- return '{0},{1},{2},{3},{4}\n'.format(self.serviceName, self.vspId ,self.vendorName, self.lockingUser, self.uploadStatus)
+ return '{0},{1},{2},{3},{4}\n'.format(self.serviceName, self.vspId, self.vendorName, self.lockingUser,
+ self.uploadStatus)
def Checkout(self, userId):
# /v1.0/vendor-software-products/{vspId}/actions
- urlpath=VSP_ACTIONS_PATH.format(vspId=self.vspId)
- response, headers = self.webHandler.rest( url=urlpath, method='PUT', data={"action": "Checkout"}, userId=userId)
- self.lockingUser=userId #we will later use this user to checkin
+ urlpath = VSP_ACTIONS_PATH.format(vspId=self.vspId)
+ response, headers = self.webHandler.rest(url=urlpath, method='PUT', data={"action": "Checkout"}, userId=userId)
+ self.lockingUser = userId # we will later use this user to checkin
return response
def Checkin(self):
# /v1.0/vendor-software-products/{vspId}/actions
urlpath = VSP_ACTIONS_PATH.format(vspId=self.vspId)
- response, headers = self.webHandler.rest(url=urlpath, method='PUT', data={"action": "Checkin"}, userId=self.lockingUser)
+ response, headers = self.webHandler.rest(url=urlpath, method='PUT', data={"action": "Checkin"},
+ userId=self.lockingUser)
return response
def Get(self):
@@ -156,38 +163,39 @@ class Service(object):
try:
response, headers = self.webHandler.rest(url=urlpath, method='GET', data=None, userId=self.lockingUser)
except HttpError as e:
- print e.message
+ print(e.message)
response = e.status
return response
def UploadHeat(self, zipName):
- #/v1.0/vendor-software-products/{vspId}/upload
- urlpath = VSP_UPLOAD_PATH.format(vspId=self.vspId)
- try:
- fields = []
- with open(zipName, 'rb') as fin:
- buffer = fin.read()
- fin.close()
- files = [('upload', 'heatfile.zip', buffer)]
- response = self.webHandler.post_multipart('HTTP', urlpath, fields, files, self.lockingUser)
-
- return response
- finally:
- print "done upload"
+ # /v1.0/vendor-software-products/{vspId}/upload
+ urlpath = VSP_UPLOAD_PATH.format(vspId=self.vspId)
+ try:
+ fields = []
+ with open(zipName, 'rb') as fin:
+ buffer = fin.read()
+ fin.close()
+ files = [('upload', 'heatfile.zip', buffer)]
+ response = self.webHandler.post_multipart('HTTP', urlpath, fields, files, self.lockingUser)
+
+ return response
+ finally:
+ print("done upload")
def DownloadHeat(self):
- urlpath=VSP_DOWNLOAD_PATH.format(vspId=self.vspId)
+ urlpath = VSP_DOWNLOAD_PATH.format(vspId=self.vspId)
try:
- response, headers = self.webHandler.rest(url=urlpath, method='Get', data=None, userId=self.lockingUser, accept='application/octet-stream')
+ response, headers = self.webHandler.rest(url=urlpath, method='Get', data=None, userId=self.lockingUser,
+ accept='application/octet-stream')
except HttpError as e:
if e.status == 404:
return ""
for (key, value) in headers:
if key.lower() == "content-disposition":
- file_name = value[value.index('=')+1:]
+ file_name = value[value.index('=') + 1:]
break
- heatsDir= os.path.join(os.path.dirname(__file__), 'heats')
+ heatsDir = os.path.join(os.path.dirname(__file__), 'heats')
if not os.path.exists(heatsDir):
os.makedirs(heatsDir)
file_name = os.path.join(heatsDir, file_name)
@@ -198,7 +206,6 @@ class Service(object):
return file_name
-
class WebHandler(object):
def __init__(self, host, port):
self.host = host
@@ -208,13 +215,13 @@ class WebHandler(object):
connection = httplib.HTTPConnection(host=self.host, port=self.port)
try:
- headers = {'Content-Type':content_type ,'Accept':accept}
+ headers = {'Content-Type': content_type, 'Accept': accept}
headers['USER_ID'] = userId
connection.request(method=method, headers=headers, body=json.dumps(data), url=url)
response = connection.getresponse()
if response.status not in range(200, 300):
- raise HttpError(status= response.status, message=response.reason)
+ raise HttpError(status=response.status, message=response.reason)
return response.read(), response.getheaders()
finally:
@@ -241,7 +248,7 @@ class WebHandler(object):
h.endheaders()
h.send(body)
errcode, errmsg, headers = h.getreply()
- print errcode, errmsg, headers
+ print(errcode, errmsg, headers)
return h.file.read()
def encode_multipart_form_data(self, fields, files):
@@ -268,14 +275,15 @@ class WebHandler(object):
def get_content_type(self, filename):
return mimetypes.guess_type(filename)[0] or 'application/octet-stream'
+
class HttpError(Exception):
def __init__(self, status, message):
self.status = status
- self.message=message
+ self.message = message
+
def __str__(self):
return repr(self.value, self.message)
+
if __name__ == "__main__":
main(sys.argv[1:])
-
-