From: laili Date: Tue, 21 Aug 2018 05:47:17 +0000 (+0800) Subject: Ns descriptor related stuffs. X-Git-Tag: 1.2.0~119^2~4 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=6e42af61fed2e745d75a6127d15526bf53ff9bfa;p=vfc%2Fnfvo%2Fcatalog.git Ns descriptor related stuffs. Implement the biz of uploading nsd content. Change-Id: Ife9e655d79dac16c0712639924729bd9e054e9ba Issue-ID: VFC-1037 Signed-off-by: laili --- diff --git a/catalog/packages/biz/ns_descriptor.py b/catalog/packages/biz/ns_descriptor.py index 6d101741..16e4810b 100644 --- a/catalog/packages/biz/ns_descriptor.py +++ b/catalog/packages/biz/ns_descriptor.py @@ -14,8 +14,11 @@ import logging +import os import uuid +from catalog.pub.config.config import CATALOG_ROOT_PATH +from catalog.pub.utils import fileutil from catalog.pub.utils.values import ignore_case_get logger = logging.getLogger(__name__) @@ -34,5 +37,18 @@ def create(data): return data -def upload(files, nsdInfoId): - pass +def upload(files, nsd_info_id): + remote_files = files + for remote_file in remote_files: + local_file_name = remote_file.name + local_file_dir = os.path.join(CATALOG_ROOT_PATH, nsd_info_id) + local_file_name = os.path.join(local_file_dir, local_file_name) + if not os.path.exists(local_file_dir): + fileutil.make_dirs(local_file_dir) + with open(local_file_name, 'wb') as local_file: + if remote_file.multiple_chunks(chunk_size=None): + for chunk in remote_file.chunks(): + local_file.write(chunk) + else: + data = remote_file.read() + local_file.write(data)