X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=rwlaunchpad%2Fplugins%2Frwpkgmgr%2Frift%2Ftasklets%2Frwpkgmgr%2Fdownloader%2Furl.py;h=e7080124ddc158991282fed7d312625b8b249bf1;hb=f314b4af9744068a7ed7a6a6314220c3aa857523;hp=d49562087688b5f82d684f7a952df298a8730754;hpb=df4e972f5e6581a85dd5a072ac4da8585b4c83e6;p=osm%2FSO.git diff --git a/rwlaunchpad/plugins/rwpkgmgr/rift/tasklets/rwpkgmgr/downloader/url.py b/rwlaunchpad/plugins/rwpkgmgr/rift/tasklets/rwpkgmgr/downloader/url.py index d4956208..e7080124 100644 --- a/rwlaunchpad/plugins/rwpkgmgr/rift/tasklets/rwpkgmgr/downloader/url.py +++ b/rwlaunchpad/plugins/rwpkgmgr/rift/tasklets/rwpkgmgr/downloader/url.py @@ -13,6 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. # + +import gi + import rift.downloader as downloader from gi.repository import RwPkgMgmtYang @@ -30,7 +33,7 @@ class PackageFileDownloader(downloader.UrlDownloader): } @classmethod - def from_rpc_input(cls, rpc_input, file_obj, proxy, log=None, auth=None): + def from_rpc_input(cls, rpc_input, file_obj, proxy, log=None, auth=None, project=None): """Convenience class to set up an instance form RPC data """ url_downloader = cls( @@ -38,10 +41,13 @@ class PackageFileDownloader(downloader.UrlDownloader): rpc_input.package_id, rpc_input.package_path, rpc_input.package_type, + rpc_input.vnfd_file_type, + rpc_input.nsd_file_type, auth=auth, proxy=proxy, file_obj=file_obj, - log=log) + log=log, + project=project) return url_downloader @@ -50,12 +56,15 @@ class PackageFileDownloader(downloader.UrlDownloader): package_id, package_path, package_type, + vnfd_file_type, + nsd_file_type, proxy, file_obj=None, delete_on_fail=True, decompress_on_fly=False, auth=None, - log=None): + log=None, + project=None): super().__init__( url, file_obj=file_obj, @@ -67,11 +76,14 @@ class PackageFileDownloader(downloader.UrlDownloader): self.package_id = package_id self.package_type = package_type self.package_path = package_path + self.package_file_type = vnfd_file_type.lower() \ + if package_type == 'VNFD' else nsd_file_type.lower() self.proxy = proxy + self.project = project def convert_to_yang(self): - job = RwPkgMgmtYang.DownloadJob.from_dict({ + job = RwPkgMgmtYang.YangData_RwProject_Project_DownloadJobs_Job.from_dict({ "url": self.meta.url, "download_id": self.meta.download_id, "package_id": self.package_id, @@ -106,11 +118,13 @@ class PackageFileDownloader(downloader.UrlDownloader): self.meta.filepath, self.package_type, self.package_id, - self.package_path) + self.package_path, + self.package_file_type, + self.project) except Exception as e: self.log.exception(e) - self.job.detail = str(e) + self.meta.detail = str(e) self.download_failed() return