def create_download_jobs(db_session, platform, release, pending_downloads, server_id, server_directory, created_by): """ Pending downloads is an array of TAR files. """ smu_meta = db_session.query(SMUMeta).filter(SMUMeta.platform_release == platform + '_' + release).first() if smu_meta is not None: for cco_filename in pending_downloads: # If the requested download_file is not in the download table, include it if not is_pending_on_download(db_session, cco_filename, server_id, server_directory): package_type = SMUInfoLoader.get_cco_file_package_type(db_session, cco_filename) if package_type == PackageType.SERVICE_PACK: software_type_id = smu_meta.sp_software_type_id elif package_type == PackageType.SOFTWARE: software_type_id = smu_meta.tar_software_type_id elif package_type == PackageType.SMU: software_type_id = smu_meta.smu_software_type_id else: # Best effort, it should not happen unless a SMU In-Transit is somehow get selected. # All Posted software should have a cco file name entry. software_type_id = smu_meta.smu_software_type_id download_job = DownloadJob( cco_filename=cco_filename, pid=smu_meta.pid, mdf_id=smu_meta.mdf_id, software_type_id=software_type_id, server_id=server_id, server_directory=server_directory, user_id=current_user.id, created_by=created_by) db_session.add(download_job) db_session.commit()
def create_download_jobs(db_session, platform, release, pending_downloads, server_id, server_directory, created_by): """ Pending downloads is an array of TAR files. """ smu_meta = db_session.query(SMUMeta).filter( SMUMeta.platform_release == platform + '_' + release).first() if smu_meta is not None: for cco_filename in pending_downloads: # If the requested download_file is not in the download table, include it if not is_pending_on_download(db_session, cco_filename, server_id, server_directory): package_type = SMUInfoLoader.get_cco_file_package_type( db_session, cco_filename) if package_type == PackageType.SERVICE_PACK: software_type_id = smu_meta.sp_software_type_id elif package_type == PackageType.SOFTWARE: software_type_id = smu_meta.tar_software_type_id elif package_type == PackageType.SMU: software_type_id = smu_meta.smu_software_type_id else: # Best effort, it should not happen unless a SMU In-Transit is somehow get selected. # All Posted software should have a cco file name entry. software_type_id = smu_meta.smu_software_type_id download_job = DownloadJob(cco_filename=cco_filename, pid=smu_meta.pid, mdf_id=smu_meta.mdf_id, software_type_id=software_type_id, server_id=server_id, server_directory=server_directory, user_id=current_user.id, created_by=created_by) db_session.add(download_job) db_session.commit()