diff options
author | laili <lai.li@zte.com.cn> | 2018-08-24 17:55:03 +0800 |
---|---|---|
committer | laili <lai.li@zte.com.cn> | 2018-08-24 17:55:14 +0800 |
commit | ff7e744fe30c602fda1de5fba930f432dc0ce1d7 (patch) | |
tree | 89a77529f602282ba1cb10ec59c58319b8b8a9aa | |
parent | 8a942a211ea9b1e55fe6b07af9c929442fb353bb (diff) |
Ns descriptor related stuffs.
Refactor qury pnfd.
Change-Id: I693b457fa102c3c196f93cb35235c91924db4943
Issue-ID: VFC-1037
Signed-off-by: laili <lai.li@zte.com.cn>
-rw-r--r-- | catalog/packages/biz/pnf_descriptor.py | 65 |
1 files changed, 29 insertions, 36 deletions
diff --git a/catalog/packages/biz/pnf_descriptor.py b/catalog/packages/biz/pnf_descriptor.py index 43ed8410..fc112233 100644 --- a/catalog/packages/biz/pnf_descriptor.py +++ b/catalog/packages/biz/pnf_descriptor.py @@ -52,27 +52,18 @@ def query_multiple(): raise CatalogException('PNF descriptors do not exist.') response_data = [] for pnf_pkg in pnf_pkgs: - data = { - 'id': pnf_pkg.pnfPackageId, - 'pnfdId': pnf_pkg.pnfdId, - 'pnfdName': pnf_pkg.pnfdProductName, # TODO: check - 'pnfdVersion': pnf_pkg.pnfdVersion, - 'pnfdProvider': pnf_pkg.pnfVendor, # TODO: check - 'pnfdInvariantId': None, # TODO - 'pnfdOnboardingState': pnf_pkg.onboardingState, - 'onboardingFailureDetails': None, # TODO - 'pnfdUsageState': pnf_pkg.usageState, - 'userDefinedData': {}, - '_links': None # TODO - } - if pnf_pkg.userDefinedData: - user_defined_data = json.JSONDecoder().decode(pnf_pkg.userDefinedData) - data['userDefinedData'] = user_defined_data + data = fill_response_data(pnf_pkg) response_data.append(data) - return response_data +def query_single(pnfd_info_id): + pnf_pkgs = PnfPackageModel.objects.filter(pnfPackageId=pnfd_info_id) + if not pnf_pkgs.exists(): + raise CatalogException('PNF descriptor (%s) does not exist.' % pnfd_info_id) + return fill_response_data(pnf_pkgs[0]) + + def process(pnfd_info_id, local_file_name): # TODO: onboardingState changes pnfd_json = toscaparser.parse_pnfd(local_file_name) pnfd = json.JSONDecoder().decode(pnfd_json) @@ -126,25 +117,6 @@ def download(pnfd_info_id): return local_file_path -def query_single(pnfd_info_id): - pkg_info = {} - pnf_pkg = PnfPackageModel.objects.filter(pnfPackageId=pnfd_info_id) - if not pnf_pkg.exists(): - raise CatalogException('PNF descriptor (%s) does not exist.' % pnfd_info_id) - pkg_info["id"] = pnf_pkg[0].pnfPackageId - pkg_info["pnfdId"] = pkg_info[0].pnfdId - pkg_info["pnfdName"] = pnf_pkg[0].pnfdProductName - pkg_info["pnfdVersion"] = pnf_pkg[0].pnfdVersion - pkg_info["pnfdProvider"] = pnf_pkg[0].pnfVendor - pkg_info["pnfdInvariantId"] = "" # TODO - pkg_info["pnfdOnboardingState"] = pnf_pkg[0].onboardingState - pkg_info["onboardingFailureDetails"] = "" # TODO - pkg_info["pnfdUsageState"] = pnf_pkg[0].usageState - pkg_info["userDefinedData"] = pnf_pkg[0].userDefinedData - pkg_info["_links"] = "" # TODO - return pkg_info - - def delete_pnf(pnfd_info_id): # TODO pnf_pkg = PnfPackageModel.objects.filter(pnfPackageId=pnfd_info_id) @@ -154,3 +126,24 @@ def delete_pnf(pnfd_info_id): pnf_pkg.delete() vnf_pkg_path = os.path.join(CATALOG_ROOT_PATH, pnfd_info_id) fileutil.delete_dirs(vnf_pkg_path) + + +def fill_response_data(pnf_pkg): + data = { + 'id': pnf_pkg.pnfPackageId, + 'pnfdId': pnf_pkg.pnfdId, + 'pnfdName': pnf_pkg.pnfdProductName, # TODO: check + 'pnfdVersion': pnf_pkg.pnfdVersion, + 'pnfdProvider': pnf_pkg.pnfVendor, # TODO: check + 'pnfdInvariantId': None, # TODO + 'pnfdOnboardingState': pnf_pkg.onboardingState, + 'onboardingFailureDetails': None, # TODO + 'pnfdUsageState': pnf_pkg.usageState, + 'userDefinedData': {}, + '_links': None # TODO + } + if pnf_pkg.userDefinedData: + user_defined_data = json.JSONDecoder().decode(pnf_pkg.userDefinedData) + data['userDefinedData'] = user_defined_data + + return data |