-
Notifications
You must be signed in to change notification settings - Fork 9
/
fileCreator.py
159 lines (137 loc) · 66 KB
/
fileCreator.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
#Upendra's code to create MDX files from a huge, unformatted Excel-type table. This program takes course data input from an Excel file and prints out MDX files, one for each course.
#Steps to run Python program: 1. Get Course Data from IBM. 2. Run this program, get the files in the program directory and move to your React website.
import datetime
import markdownify
from openpyxl import load_workbook
workbook = load_workbook(filename="./Course-Data-1.xlsx")
sheet = workbook.active
rows = sheet.max_row
fileNameArray, titleArray, modalityArray, durationArray, brandArray, publishedOnArray, labsArray, skillLevelArray, summaryArray, courseDescArray, agendaArray, audienceArray, keywordsArray, follwOnArray, prereqArray, objectivesArray, linksArray, firstCreatedDateArray = ([],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[])
""" courseDescArray = []
prereqArray = []
objectivesArray = []
agendaArray = []
audienceArray = []
publishedOnArray = []
fileNameArray = []
titleArray = []
modalityArray = []
durationArray = [] """
for column in sheet.iter_cols(min_row=2, min_col=1, max_row=rows, max_col=1):
for cell in column:
fileNameArray.append(cell.value)
for column in sheet.iter_cols(min_row=2, min_col=2, max_row=rows, max_col=2):
for cell in column:
titleArray.append(cell.value)
for column in sheet.iter_cols(min_row=2, min_col=6, max_row=rows, max_col=6):
for cell in column:
modalityArray.append(cell.value)
for column in sheet.iter_cols(min_row=2, min_col=7, max_row=rows, max_col=7):
for cell in column:
durationArray.append(cell.value)
for column in sheet.iter_cols(min_row=2, min_col=4, max_row=rows, max_col=4):
for cell in column:
brandArray.append(cell.value)
for column in sheet.iter_cols(min_row=2, min_col=18, max_row=rows, max_col=18):
for cell in column:
publishedOnArray.append(cell.value)
for column in sheet.iter_cols(min_row=2, min_col=51, max_row=rows, max_col=51):
for cell in column:
labsArray.append(cell.value)
for column in sheet.iter_cols(min_row=2, min_col=25, max_row=rows, max_col=25):
for cell in column:
skillLevelArray.append(cell.value)
for column in sheet.iter_cols(min_row=2, min_col=65, max_row=rows, max_col=65):
for cell in column:
summaryArray.append(cell.value)
for column in sheet.iter_cols(min_row=2, min_col=66, max_row=rows, max_col=66):
for cell in column:
courseDescArray.append(cell.value)
for column in sheet.iter_cols(min_row=2, min_col=68, max_row=rows, max_col=68):
for cell in column:
agendaArray.append(cell.value)
for column in sheet.iter_cols(min_row=2, min_col=69, max_row=rows, max_col=69):
for cell in column:
audienceArray.append(cell.value)
for column in sheet.iter_cols(min_row=2, min_col=70, max_row=rows, max_col=70):
for cell in column:
keywordsArray.append(cell.value)
for column in sheet.iter_cols(min_row=2, min_col=72, max_row=rows, max_col=72):
for cell in column:
follwOnArray.append(cell.value)
for column in sheet.iter_cols(min_row=2, min_col=73, max_row=rows, max_col=73):
for cell in column:
prereqArray.append(cell.value)
for column in sheet.iter_cols(min_row=2, min_col=67, max_row=rows, max_col=67):
for cell in column:
objectivesArray.append(cell.value)
for column in sheet.iter_cols(min_row=2, min_col=16, max_row=rows, max_col=16):
for cell in column:
firstCreatedDateArray.append(cell.value)
for i in fileNameArray:
if str(i).startswith('DL'):
#print (i)
linkValue = 'https://www.ibm.com/training/search?query='+str(i)
linksArray.append(linkValue)
else:
linkValue='https://www.ibm.com/training/course/'+str(i)
linksArray.append(linkValue)
print(fileNameArray)
'''
fileNaneArray = ['AN10D1DG', 'AN10G', 'AN11G', 'AN12D1DG', 'AN12D2DG', 'AN12G', 'AN14G', 'AN15G', 'AN202G', 'AN22G', 'AN30G', 'AN31G', 'AN40DG', 'AN51G', 'AN52G', 'AN61G', 'AN62G', 'AN6AG', 'AS06G', 'AS10G', 'AS24G', G', 'CMW11G', 'CMW12G', 'CMW20G', 'CMW21G', 'CMW22G', 'CMW30G', 'CMW43G', 'CMW50G', 'CMW61G', 'CMW64G', 'CMW66G', 'DL000027G', 'DL00015G', 'DL00665G', 'DL00953G', 'DL06003G', 'DL08015G', 'DL08018G', 'DL08019G', 'DL08020G', 'DL08021G', 'DL08022G', 'DL08023G', 'DL37001G', 'DL37002G', 'DL37003G', 'DL37004G', 'DL37005G', 'DL37006G', 'DL37007G', 'DL37008G', 'DL37009G', 'DL81019G', 'DL93412G', 'DL93515G', 'ES05G', 'ES07G', 'ES10G', 'ES15G', 'ES19G', 'ES20G', 'ES24G', 'ES26G', 'ES27G', 'ES28G', 'ES311G', 'ES312G', 'ES313G', 'ES314G', 'ES315G', 'ES316G', 'ES317G', 'ES34G', 'ES35G', 'ES40G', 'ES42G', 'ES52G', 'ES54G', 'ES57G', 'ES66G', 'ES73G', 'ES82G', 'ES89G', 'ES90G', 'ES96G', 'ESB3G', 'ESC9G', 'ESK0G', 'ESP2G', 'ESP3G', 'ESS10G', 'ESU01G', 'ESU03G', 'ESX0G', 'ESY2G', 'ESY3G', 'ESZ0G', 'EZCLQ01G', 'EZCLQ02G', 'EZCLQ03G', 'EZCLQ04G', 'EZCLQ05G', 'EZCLQ06G', 'H005G', 'H006G', 'H008G', 'H010G', 'LX010G', 'LX063DG', 'LX063G', 'LX071G', 'OE98G', 'OL19G', 'OL20G', 'OL23G', 'OL66G', 'OP05G', 'OP25G', 'QZC30G', 'QZC43DG', 'QZC44DG', 'QZC50G', 'QZD32DG', 'QZD33DG', 'QZE32DG', 'QZE33DG', 'QZP32DG', 'SM917G', 'SM927G', 'SM937G', 'SN71DG', 'SN71G', 'SNV10ADG', 'SNV10BDG', 'SNV10CDG', 'SNV10DG', 'SNV1G', 'SS01DG', 'SS01G', 'SS83G', 'SS84G', 'SS86G', 'SSC15G', 'SSE12DG', 'SSE1G', 'SSF0G', 'SSF1G', 'SSFS1DG', 'SSFS1G', 'SSFS3G', 'SSFS5DG', 'SSFS7DG', 'TS101DG', 'TS618G', 'TS619G', 'TS627G', 'TS628G', 'TSP12G', 'TSP13G', 'U4AIRS1G', 'U4AIRSAG', 'U4AIRSFG', 'U4ESWV1G', 'U5TS7K7G', 'U6IM01G', 'U6IM02G', 'W63001T', 'W63002T', 'W65003T', 'W68001T', 'W68003T', 'ZL00G']
titleArray = ['IBM Power Systems Scale-Up Technical Sales Certification Preparation Workshop', 'What\'s New in POWER8 (VIOS 2.2.5/HMC V8 R8.6.0) and AIX 7.2 (Technology Level 1)?', 'AIX Basics', 'AIX Basics', 'Power Systems for AIX I: LPAR Configuration and Planning', 'Power Systems for AIX II AIX Implementation and Administration', 'AIX Jumpstart for UNIX Professionals', 'Power Systems for AIX III: Advanced Administration and Problem Determination', 'AIX Storage Management', 'Korn and Bash Shell Programming', 'Network Installation Manager (NIM) Updates', 'AIX Network Installation Management Concepts and Configuration', 'Power Systems for AIX - PowerVM I Implementing Virtualization', 'Power Systems for AIX - Virtualization II: Advanced PowerVM and Performance', 'Power Systems for AIX - Virtualization III: Implementing Shared Storage Pools', 'Implementing PowerVM Live Partition Mobility', 'PowerVM with PowerVC', 'Automating AIX administration using Red Hat Ansible', 'Power Systems for AIX IV: Performance Management', 'Advanced Tools for AIX Performance Analysis', 'Implementing AIX 7 Security', 'PowerHA SystemMirror 7 Planning, Implementation, Customization and Basic Administration', 'PowerHA SystemMirror 7 Advanced Configurations', 'Linux on Power for AIX Administrators', 'PowerCare: Performance for Power Systems AIX', 'Power to Cloud: PowerHA SystemMirror 7.2 Implementation and Administration', 'Power to Cloud: Cloud for Power Systems', 'PowerCare: Power Systems for AIX IV: Performance Management', 'PowerCare: AIX Jumpstart for UNIX Professionals', 'PowerCare: AIX - Virtualization I: Implementing Virtualization', 'Power to Cloud: Implementing AIX 7 Security Features', 'Power to Cloud - Power Systems Running Linux - Administration and Performance Management (PowerVM base)', 'Power to Cloud - Power Systems Running Linux - Administration and Storage Management (PowerVM base)', 'Linux Jumpstart for UNIX System Administrators', 'RPG IV Programming Fundamentals Workshop for IBM i', 'RPG IV Programming Advanced Workshop for IBM i', 'System Operator for IBM i', 'Advanced System Operator Workshop for IBM i', 'BRMS for IBM i, including Cloud Storage Solutions for i', 'Using Open Source tools on IBM i', 'PowerVM on IBM i - I: Implementing Virtualization and LPAR', 'Effective RACF Administration', 'Pervasive Encryption on z/OS Lab 1', 'Pervasive Encryption for z/OS: micro lab series Lab 1: Setup and start ICSF', 'Load and initialize your AES master key and CKDS', 'Pervasive Encryption for z/OS: micro lab series Lab 3: Master Key Change using ICSF', 'Pervasive Encryption for z/OS: micro lab series Lab 4: Define your data keys', 'Pervasive Encryption for z/OS: micro lab series Lab 5: Implement dataset encryption policy, encrypt and decrypt data sets', 'TCP/IP for z/OS Implementation Workshop', 'IMS Fundamentals', 'IMS Installation Workshop', 'IMS System Programming : DBCTL', 'IMS System Programming - Database and Transaction Management', 'IMS System Programming: Database andTransaction Management', 'IMS DBCTL Systems Programming', 'IMS Database Application Programming', 'IMS Transaction Manager Application Programming', 'IMS Database Recovery Control (DBRC)', 'IMS Database Recovery Control (DBRC)', 'IMS TM Performance and Tuning', 'IMS TM Performance and Tuning', 'Physical Organization of Databases Workshop', 'IMS Physical Organization of Databases Workshop', 'IMS Logical Relationships', 'IMS Database Performance and Tuning', 'IMS Database Performance and Tuning', 'IMS Security', 'IMS Database Recovery', 'IMS High Availability Large Database (HALDB)', 'IMS Data Sharing', 'IMS Shared Queues', 'IMS Shared Queues', 'IMS Fast Path', 'IMS Diagnostic Approaches', 'IMS Fundamentals', 'IMS System Programming - Database and Transaction Management', 'IMS DBCTL Systems Programming', 'IMS Database Recovery Control (DBRC)', 'IMS TM Performance and Tuning', 'IMS Physical Organization of Databases', 'IMS Database Performance and Tuning', 'Implementing IMS Security', 'IMS Database Repair', 'IMS Data Sharing', 'IMS Shared Queues', 'IMS Fast Path', 'IMS Diagnostic Approaches', 'Learning COBOL Programming with VSCode', 'Introduction to IBM Z Resiliency', 'Automatic Binary Optimizer for z/OS Essentials', 'IBM Z Skills Employer Resource Center', 'IBM Developer for z/OS(IDz) basics', 'Mainframe build in a DevOps pipeline with IBM Dependency Based Build', 'Networking on z/OS - Foundations', 'z/OS TCP/IP Configuration with Network Configuration Assistant', 'Application Modernization with IBM Z', 'Architecting Applications with IBM Z', 'Moving from PowerVM to Private Cloud with PowerVC', 'What’s New with IBM Spectrum Protect version 8.1.5', 'Introduction to Storage Performance', 'NVM Express Base Introduction', 'Introduction to IBM Storage and Cloud', 'NVM Express over Fabrics Introduction', 'DL08017G: Introduction to IBM Elastic Storage Server', 'IBM Spectrum Archive Enterprise Edition Fundamentals & Lab Access', 'Introduction to z/OS Commands and Panels on IBM Z', 'Introduction to System Programming on IBM Z', 'IMS Diagnostics', 'Getting to Know IBM Z Common Data Provider', 'Introduction to IBM Spectrum Protect', 'IBM Spectrum Protect Plus 10.1.5 Quick Start', 'Protecting SAP HANA with IBM Spectrum Storage', 'Sizing IBM Spectrum Protect Plus', 'Getting started with IBM Spectrum Protect', 'What\'s new in IBM Spectrum Protect', 'IBM Workload Scheduler for zOS 9.3.0.9 and IBM Workload Scheduler distributed agent for zOS 9.4', 'IBM System Automation for z/OS 4.1 Updates - NRTE', 'IBM Z APM Connect V6.1.0 - New Release Technical Enablement', 'IBM Cloud Tape Connector for zOS V2.1.0 NRTE', 'IBM IMS High Performance System Generation Tools for z/OS V2.4 - NRTE', 'IBM Z Decision Support V1.9 and IBM Z Decision Support for Capacity Planning V2.1', 'IBM OMEGAMON for JVM on z/OS V5.4.0 SPE1 update', 'IBM Common Data Provider for z Systems 1.1.0 1Q2019 Continuous Delivery PTFs', 'IBM Z Workload Scheduler 9.5 New Release Technical Enablement', 'IBM Z Batch Resiliency (IZBR) NRTE', 'IBM Z Operations Analytics V4.1.0 New Release Technical Enablement', 'IBM Z Common Data Provider 2.1.0 New Release Technical Enablement', 'IBM Common Data Provider for z Systems 1.1.0 4Q - NRTE2019 Continuous Delivery PTFs', 'IBM OMEGAMON for CICS on z/OS, V5.5.0 Fixpack3 - New release technical enablement', 'New Offering: IBM Z Table Accelerator V1.1 New release technical enablement', 'IBM Z OMEGAMON for JVM V5.5.0 and IBM Z OMEGAMON Runtime Edition for JVM V5.5.0 - New release technical enablement', 'IBM z/OS Workload Interaction Navigator 1.1.0 - New release technical enablement', 'IBM Z Performance and Capacity Analytics V3.1 - New release technical enablement', 'IBM OMEGAMON Family update 1Q-2020 - New release technical enablement', 'IMS Fast Path Solution Pack V2.1 - New release technical enablement', 'IBM Cloud Tape Connector for z/OS v2.1 Proxy Server Support - New release technical enablement', 'IBM z/OS Workload Interaction Navigator 1.1.0 New Priced Product 1Q2020 - New release technical enablement', 'Old Iron Upgrades & Upgrade Advisor Tools', 'IBM Storage for AI Badge V1 Course - this badge is being retired on March 6, 2020', 'IBM All Flash Storage Foundation V2 Badge - This badge is being retired on March 6, 2020', 'IBM Z Foundations Badge', 'IBM Z Security Badge', 'IBM Z Analytics and Machine Learning Badge', 'IBM Z Business Partner Analytics and Machine Learning V1 Badge', 'IBM Z Business Partner Security V1 Badge', 'IBM Hybrid Multicloud on Power Systems Badge', 'SAP HANA on IBM Power Systems Badge', 'IBM Power Systems POWER9 V2 Badge', 'IBM Power Systems Spectrum Computing Badge', 'IBM Power Systems Cognitive Masters V2 Badge', 'IBM Power Systems Cloud and Cognitive v2 Badge', 'IBM Systems Business Partner Artificial Intelligence on IBM POWER9', 'IBM Systems Business Partner Hybrid Multicloud on IBM POWER9 Badge', 'IBM Systems Business Partner SAP HANA on IBM POWER9', 'IBM Storage Suite for IBM Cloud Paks Level 3', 'An Introduction to the z/OS Environment', 'An Introduction to the z/OS Environment', 'z/OS JCL and Utilities', 'Fundamental System Skills in z/OS', 'Fundamental System Skills in z/OS', 'z/OS Facilities', 'Basics of z/OS RACF Administration', 'z/OS System Services Structure', 'IBM System z Hardware Management Console (HMC) Operations', 'SMP/E for z/OS Workshop', 'z/OS System Operators', 'z/OS JES2 Operator Training', 'COBOL Programming Basic', 'PL/I Programming', 'z/OS Basic', 'z/OS Utility', 'z/OS JCL', 'TSO (ISPF) Operation Basic', 'REXX Programming', 'Assembler Language Coding Workshop', 'Advanced Assembler Language Coding Workshop', 'z/OS System Programmer Fundamentals', 'z/OS Installation Using ServerPac', 'Parallel Sysplex Implementation Workshop', 'z/OS REXX Programming Workshop', 'Basic z/OS Tuning Using the Workload Manager', 'Advanced z/OS Security: Crypto, Network, RACF, and Your Enterprise', 'WebSphere for z/OS Version 8.5 Implementation', 'IBM System z Parallel Sysplex Operations', 'IBM Z: Technical Overview of HW and SW Mainframe Evolution', 'Implementing RACF Security for CICS/ESA and CICS/TS', 'Advanced z OS Performance: WLM, Sysplex, UNIX Services, z Systems', 'Exploiting the Advanced Features of RACF', 'IBM Z: Technical Overview of HW and SW Mainframe Evolution', 'Advanced Parallel Sysplex Operations and Recovery Workshop', 'Hardware Configuration and Definition (HCD) for z/OS', 'z/OS Management Facility Implementation and Use', 'WAS for z/OS Liberty Profile', 'z/OS 2.3 Update', 'IBM z/OS 2.4 Update', 'Blockchain on IBM Z', 'z/OS Bootcamp for Pluralsight', 'z/OS Bootcamp for Pluralsight Part 3', 'Pervasive Encryption on z/OS', 'IBM z/OS Boot Camp for Coursera (Part 1 of 3)', 'ESU03G', 'IBM z/OS Container Extensions zCX', 'IBM z/OS Boot Camp', 'IBM z/OS Boot Camp Part 3', 'IBM z/OS Bootcamp', 'IBM Cloud Object Storage - Implementation and Administration', 'IBM Cloud Object Storage - Implementation and Administration',
'IBM Spectrum Scale Basic Administration for Linux and AIX', 'IBM Spectrum Scale Advanced Administration for Linux', 'IBM Spectrum Scale - Remote Data Access', 'IBM Spectrum LSF Basic Configuration and Administration for Linux', 'Linux Basics', 'Implementing Community-Supported Open Source Linux on Power Systems', 'Linux Basics and Installation', 'Linux Basics and Installation', 'Power Systems Running Linux: Performance Management (PowerVM Base)', 'Linux System Administration I - Implementation', 'Linux System Administration I - Implementation', 'Enhancing Workload and Capacity Management with Docker on Power Systems', 'Advanced Docker for Power Systems', 'Preparing for Red Hat OpenShift: Implementing Containers on IBM Power Systems', 'Power Systems Running Linux: Server Administration', 'Power Systems Running Linux: Storage Management', 'IBM PowerHA for Linux: Installation and Customization', 'Linux Jumpstart for UNIX System Administrators', 'Parallel Sysplex Overview', 'TCP/IP High Availability Solutions for z/OS', 'TCP/IP for z/OS: Diagnostics and Debugging', 'Introduction to IBM i for New Users', 'IBM i System Administration', 'Control Language Programming Workshop for IBM i', 'IBM i Performance Tuning - I: IBM i Structure, Tailoring and Basic Tuning', 'Hardware Management Console (HMC) for Power Systems with IBM i', 'DB2 for i - DB Coding and Implementation Using DDS and CL Commands', 'IBM i Performance Tuning - II: Advanced Analysis and Capacity Tuning', 'Introducing z/OS UNIX System Services', 'z/OS UNIX System Services Implementation', 'What\'s New in IBM i 7.3 and IBM POWER8 Systems', 'Implementing Watson Machine Learning Community Edition', 'Move to Cloud with IBM Cloud PowerVC Manager', 'Move to Cloud with IBM Cloud PowerVC Manager', 'Comprehensive Red Hat Linux Fundamentals with IBM Power Systems', 'Red Hat Linux System Administration on Power Systems', 'Implementing PowerVC Software Defined Infrastructure (SDI)', 'Implementing IBM Cloud Private on Power Systems', 'Implementing Red Hat OpenShift Container Platform on Power Systems', 'DevOps with Private Cloud on IBM Power Systems: Learn Ansible, Chef, and Puppet', 'Implementing SAP HANA on IBM Power Systems', 'Red Hat OpenShift Container Platform update process on Power Systems', 'Generic Code for IBM Systems Sales Enablement Materials', 'Storage Area Networking Fundamentals', 'Storage Area Networking Fundamentals', 'IBM Spectrum Virtualize RAID Protection', 'IBM Spectrum Virtualize - Advanced Cluster Concepts', 'IBM Spectrum Virtualize - Transparent Cloud Tiering', 'IBM Spectrum Virtualize for the IBM SAN Volume Controller', 'SAN Volume Controller (SVC) Planning and Implementation Workshop', 'Introduction to Storage', 'z/OS VSAM and Access Method Services', 'DFSMS Implementation', 'DFSMShsm Implementation', 'IBM Spectrum Accelerate Implementation', 'Monitoring the IBM Elastic Storage Server', 'Monitoring the IBM Elastic Storage Server', 'IBM Storwize V7000 Implementation Workshop', 'IBM DS8000 Implementation Workshop for Open Systems', 'IBM DS8000 Implementation Workshop for z Systems', 'IBM Flash Storage Fundamentals', 'IBM FlashSystem V9000 Storage Implementation', 'IBM FlashSystem V9000 Storage Implementation', 'IBM FlashSystem A9000 and A9000R Storage Implementation', 'FlashSystem 9100 Implementation', 'Getting Started with IBM Spectrum Accelerate, IBM FlashSystem A9000/R and IBM Hyper-Scale Manager', 'z/OS Security Server RACF, Implementing and Customization', 'Test for IRLP', 'IBM Tivoli Storage Flashcopy Manager 4.1 for Windows', 'IBM Tivoli Storage Flashcopy Manager 4.1 for Windows', 'Fundamentals of IBM Spectrum Protect', 'Fundamentals of IBM Spectrum Protect', 'IBM Spectrum Protect 8.1.2 Implementation and Administration', 'IBM Spectrum Protect 8.1.6 Implementation and Administration', 'IBM Spectrum Protect V8.1.9 - Implementation and Administration', 'IBM Spectrum Protect 8.1.4 Advanced Administration, Tuning, and Troubleshooting', 'IBM Spectrum Protect 8.1.7 Advanced Administration, Tuning, and Troubleshooting', 'IBM Spectrum Protect Plus 10.1.4 - Implementation and Administration', 'IBM Spectrum Protect Plus 10.1.6 - Implementation and Administration', 'CICS V5.3 Fundamentals', 'CICS V5.3 Systems Tailoring and Administration', 'CICS V5 CICSPlex System Manager Introduction', 'CICS V5 Fundamentals', 'CICS V5 CICSPlex System Manager Administration', 'CICS V5.3 CICSPlex System Manager Administration', 'CICS Command Level Coding', 'CICS V5 Advanced Application Development for SOA and Web Services', 'Innovative CICS System Programming - Implementing Mobile Apps with CICS', 'z/VM and Linux on IBM Z and LinuxONE Bootcamp', 'Linux Implementation for z Systems (SUSE)', 'Advanced Solutions for Linux on z Systems (SuSE)', 'z/VM Introduction and Concepts', 'Installing, Configuring, and Servicing z/VM', 'z/VM RACF and DirMaint Implementation', 'Installing, Configuring, and Managing KVM for IBM z System']
modalityArray = ['CR, ILO', 'CR, ILO', 'SPVC', 'CR, ILO', 'CR, ILO', 'CR, ILO', 'CR, ILO', 'CR, ILO', 'CR, ILO', 'CR, ILO', 'WBT', 'CR, ILO', 'CR, ILO', 'CR, ILO', 'CR, ILO', 'CR, ILO', 'WBT', 'SPVC', 'CR, ILO', 'CR, ILO', 'CR, ILO', 'CR, ILO', 'CR, ILO', 'CR, ILO', 'CR', 'CR', 'CR', 'CR, ILO', 'CR', 'CR', 'CR, ILO', 'CR', 'ILO', 'CR, ILO', 'CR, ILO', 'CR, ILO', 'CR, ILO', 'CR, ILO', 'CR, ILO', 'ILO,CR', 'CR, ILO', 'CR', 'SPVC', 'SPVC', 'SPVC', 'SPVC', 'SPVC', 'SPVC', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR', 'ILO', 'ILO', 'CR', 'CR', 'CR', 'CR', 'ILO', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR', 'WBT', 'WBT', 'WBT', 'MICRO', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'MICRO', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'WBT', 'CR, ILO,WBT', 'WBT', 'CR', 'SPVC', 'CR', 'CR, ILO', 'CR, ILO', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR, ILO', 'CR', 'CR', 'CR', 'CR', 'CR, ILO', 'CR', 'CR, ILO', 'SPVC', 'SPVC', 'CR', 'SPVC', 'SPVC', 'ILO,CR', 'SPVC', 'SPVC', 'CR', 'SPVC', 'CR', 'CR, ILO', 'CR, ILO', 'CR, ILO', 'CR', 'CR, ILO', 'CR, ILO', 'CR, ILO', 'SPVC', 'CR, ILO', 'CR, ILO', 'WBT', 'CR, ILO', 'ILO,CR', 'CR, ILO', 'CR, ILO', 'CR, ILO', 'CR, ILO', 'CR, ILO', 'CR, ILO', 'CR', 'CR', 'CR, ILO', 'CR, ILO', 'CR, ILO', 'CR, ILO', 'CR, ILO', 'CR, ILO', 'CR, ILO', 'CR', 'CR', 'CR, ILO', 'WBT', 'WBT', 'CR, ILO', 'SPVC', 'SPVC', 'CR, ILO', 'CR, ILO', 'ILO,CR', 'CR, ILO', 'CR', 'WBT', 'CR', 'WBT', 'CR', 'WBT', 'WBT', 'WBT', 'WBT', 'CR, ILO', 'CR', 'CR', 'CR', 'CR', 'CR', 'WBT', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR', 'WBT', 'WBT', 'WBT', 'WBT', 'CR', 'ILO', 'WBT', 'WBT', 'WBT', 'SPVC', 'CR, ILO', 'CR', 'CR', 'CR, ILO', 'CR, ILO', 'CR', 'CR', 'CR, ILO', 'CR, ILO', 'CR, ILO', 'CR, ILO', 'CR, ILO', 'CR, ILO', 'CR, ILO', 'CR, ILO', 'CR, ILO', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR', 'CR, ILO']
brandArray = ['IBM Power Systems - Cognitive', 'IBM Power Systems - AIX', 'IBM Power Systems - AIX', 'IBM Power Systems - AIX', 'IBM Power Systems - AIX', 'IBM Power Systems - AIX', 'IBM Power Systems - AIX', 'IBM Power Systems - AIX', 'IBM Power Systems - AIX', 'IBM Power Systems - Cognitive', 'IBM Power Systems - Cognitive', 'IBM Power Systems - AIX', 'IBM Power Systems - AIX', 'IBM Power Systems - AIX', 'IBM Power Systems - AIX', 'IBM Power Systems - Cognitive', 'IBM Power Systems - Cognitive', 'IBM Power Systems - AIX', 'IBM Power Systems - AIX', 'IBM Power Systems - AIX', 'IBM Power Systems - AIX', 'IBM Power Systems - AIX', 'IBM Power Systems - AIX', 'IBM Power Systems - AIX', 'IBM Power Systems - AIX', 'IBM Power Systems - Cloud', 'IBM Power Systems - Cloud', 'IBM Power Systems - AIX', 'IBM Power Systems - AIX', 'IBM Power Systems - AIX', 'IBM Power Systems - AIX', 'IBM Power Systems - Linux', 'IBM Power Systems - Linux', 'IBM Power Systems - Linux', 'IBM Power Systems - IBM i', 'IBM Power Systems - IBM i', 'IBM Power Systems - IBM i', 'IBM Power Systems - IBM i', 'IBM Power Systems - IBM i', 'IBM Power Systems - IBM i', 'IBM Power Systems - IBM i', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Information Management Solution', 'IBM Z - Information Management Solution', 'IBM Z - Mainframe', 'IBM Z - Information Management Solution', 'IBM Z - Information Management Solution', 'IBM Z - Information Management Solution', 'IBM Z - Information Management Solution', 'IBM Z - Information Management Solution', 'IBM Z - Information Management Solution', 'IBM Z - Information Management Solution', 'IBM Z - Information Management Solution', 'IBM Z - Information Management Solution', 'IBM Z - Information Management Solution', 'IBM Z - Information Management Solution', 'IBM Z - Information Management Solution', 'IBM Z - Information Management Solution', 'IBM Z - Information Management Solution', 'IBM Z - Information Management Solution', 'IBM Z - Information Management Solution', 'IBM Z - Information Management Solution', 'IBM Z - Information Management Solution', 'IBM Z - Information Management Solution', 'IBM Z - Information Management Solution', 'IBM Z - Information Management Solution', 'IBM Z - Information Management Solution', 'IBM Z - Information Management Solution', 'IBM Z - Information Management Solution', 'IBM Z - Information Management Solution', 'IBM Z - Information Management Solution', 'IBM Z - Information Management Solution', 'IBM Z - Information Management Solution', 'IBM Z - Information Management Solution', 'IBM Z - Information Management Solution', 'IBM Z - Information Management Solution', 'IBM Z - Information Management Solution', 'IBM Z - Information Management Solution', 'IBM Z - Information Management Solution', 'IBM Z - Information Management Solution', 'IBM Z - Mainframe', 'System Z', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'System Z', 'System Z', 'System Z', 'IBM Power Systems - Cloud', 'IBM Storage', 'IBM Storage', 'IBM Storage', 'IBM Storage', 'IBM Storage', 'IBM Storage', 'IBM Storage', 'System Z', 'System Z', 'System Z', 'IBM Z - Mainframe', 'Spectrum Computing', 'IBM Storage', 'IBM Storage', 'IBM Storage', 'IBM Storage', 'IBM Storage', 'IBM Z - Mainframe', 'Systems Z NRTE', 'Systems Z NRTE', 'Systems Z NRTE', 'Systems Z NRTE', 'Systems Z NRTE', 'Systems Z NRTE', 'Systems Z NRTE', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'Systems Z NRTE', 'Systems Z NRTE', 'Systems Z NRTE', 'Systems Z NRTE', 'Systems Z NRTE', 'Systems NRTE', 'Systems Z NRTE', 'Systems Z NRTE', 'Systems Z NRTE', 'Systems NRTE', 'Systems NRTE', 'Systems Z NRTE', 'IBM Storage and SDI Essentials', 'IBM Storage and SDI Essentials', 'IBM Storage and SDI Essentials', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Power Systems', 'IBM Power Systems', 'IBM Power Systems', 'IBM Power Systems', 'IBM Power Systems', 'IBM Power Systems', 'IBM Power Systems', 'IBM Power Systems', 'IBM Power Systems', 'IBM Storage', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Storage Software Technical Enablement', 'IBM Storage Software Technical Enablement', 'Spectrum Computing', 'Spectrum Computing', 'Spectrum Computing', 'Spectrum Computing', 'IBM Power Systems - Linux', 'IBM Power Systems - Linux', 'IBM Power Systems - Linux', 'IBM Power Systems - Linux', 'IBM Power Systems - Linux', 'IBM Power Systems - Linux', 'IBM Power Systems - Linux', 'IBM Power Systems - Linux', 'IBM Power Systems - Linux', 'IBM Power Systems - Linux', 'IBM Power Systems - Linux', 'IBM Power Systems - Linux', 'IBM Power Systems - Linux', 'IBM Power Systems - Linux', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Power Systems - IBM i', 'IBM Power Systems - IBM i', 'IBM Power Systems - IBM i', 'IBM Power Systems - IBM i', 'IBM Power Systems - IBM i', 'IBM Power Systems - IBM i', 'IBM Power Systems - IBM i', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Power Systems - IBM i', 'IBM Power Systems - Cognitive', 'IBM Power Systems - Linux', 'IBM Power Systems - Linux', 'IBM Power Systems - Cloud', 'IBM Power Systems - Linux', 'IBM Power Systems - Linux', 'IBM Power Systems - Linux', 'IBM Power Systems', 'IBM Power Systems - Linux', 'IBM Power Systems - Linux', 'IBM Power Systems', 'IBM Power Systems - Cognitive', 'IBM Storage', 'IBM Storage', 'IBM Storage', 'IBM Storage', 'IBM Storage', 'IBM Storage', 'IBM Storage', 'IBM Storage', 'IBM Storage', 'IBM Storage', 'IBM Storage', 'IBM Storage', 'IBM Storage', 'IBM Storage', 'IBM Storage', 'IBM Storage', 'IBM Storage', 'IBM Storage', 'IBM Storage', 'IBM Storage', 'IBM Storage', 'IBM Storage', 'IBM Storage', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Storage Software Technical Enablement', 'IBM Storage Software Technical Enablement', 'IBM Storage', 'IBM Storage', 'IBM Storage Software Technical Enablement', 'IBM Storage Software Technical Enablement', 'IBM Storage Software Technical Enablement', 'IBM Storage Software Technical Enablement', 'IBM Storage Software Technical Enablement', 'IBM Storage Software Technical Enablement', 'IBM Storage Software Technical Enablement', 'IBM Z - CICS', 'IBM Z - CICS', 'IBM Z - CICS', 'IBM Z - CICS', 'IBM Z - CICS', 'IBM Z - CICS', 'IBM Z - CICS', 'IBM Z - CICS', 'IBM Z - CICS', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe', 'IBM Z - Mainframe']
durationArray = ['40', '10', '32', '24', '24', '40', '40', '40', '16', '40', '4', '16', '40', '36', '24', '24', '4', '12', '40', '32', '24', '40', '40', '24', '40', '40', '40', '40', '40', '40', '24', '40', '40', '32', '32', '32', '32', '24', '40', '24', '24', '36', '2', '1.5', '1', '1.5', '1.5', '1.5', '40', '24', '24', '24', '24', '24', '24', '24', '16', '24', '40', '24', '24', '24', '32', '32', '24', '40', '32', '24', '8', '24', '20', '24', '36', '24', '24', '12', '24', '40', '24', '32', '40', '32', '16', '48', '20', '36', '24', '10', '6', '10', '0.5', '8', '4', '6.8', '3.5', '8', '5', '0.1', '2', '3', '0.3', '3', '0.4', '0.3', '3', '16', '16', '10', '2', '4', '2.8', '0.5', '2.8', '3', '2', '2', '1.8', '2', '2', '1', '3', '1', '2.5', '1', '3', '2.5', '2', '2', '1.5', '1.5', '1.5', '5.5', '2', '2', '1.5', '0.5', '1', '1', '1', '5', '11.9', '5.9', '12.2', '17.8', '24.1', '15.2', '12', '13.7', '9.5', '16.2', '46.4', '29.8', '28.9', '25.7', '8.9', '16', '16', '36', '32', '40', '36', '36', '36', '16', '36', '24', '20', '32', '32', '32', '32', '32', '32', '32', '40', '32', '32', '36', '36', '36', '36', '28', '36', '24', '16', '36', '36', '32', '12', '36', '32', '24', '16', '24', '24', '24', '20', '20', '24', '20', '20', '16', '80', '20', '80', '16', '16', '24', '24', '24', '24', '24', '24', '32', '32', '24', '40', '24', '16', '16', '16', '24', '16', '16', '32', '8', '32', '32', '8', '40', '32', '16', '16', '24', '32', '20', '36', '24', '8', '8', '32', '12', '200', '24', '24', '16', '24', '16', '1', '8', '32', '32', '4', '4', '4', '8', '32', '24', '32', '32', '40', '16', '8', '16', '32', '32', '24', '8', '32', '24', '16', '8', '5', '24', '3', '4', '4', '16', '16', '40', '40', '40', '40', '40', '16', '24', '24', '40', '8', '24', '32', '40', '40', '32', '16', '40', '24', '32', '24', '40', '36', '24']
labsArray = ['No', 'No', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'No', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'No', 'No', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'No', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'No', 'Yes', 'No', 'No', 'No', 'No', 'Yes', 'Yes', 'No', 'No', 'No', 'No', 'No', 'Yes', 'Yes', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'Yes', 'No', 'No', 'Yes', 'No', 'Yes', 'No', 'No', 'No', 'Yes', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'No', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'No', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'No', 'Yes', 'Yes', 'No', 'Yes', 'Yes', 'Yes', 'No', 'No', 'No', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'No', 'No', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'No', 'No', 'Yes', 'Yes', 'No', 'No', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'No', 'No', 'No', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'No', 'No', 'No', 'Yes', 'Yes', 'Yes', 'No', 'Yes', 'Yes', 'Yes', 'No', 'No', 'No', 'No', 'Yes', 'No', 'No', 'No', 'No', 'Yes', 'No', 'No', 'No', 'No', 'Yes', 'No', 'No', 'Yes', 'Yes', 'Yes', 'No', 'Yes', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'No', 'Yes', 'No', 'Yes', 'Yes', 'No', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'No', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'No', 'No', 'No', 'Yes', 'No', 'Yes']
skillLevelArray = ['Intermediate', 'Intermediate', 'Basic', 'Basic', 'Intermediate', 'Intermediate', 'Intermediate', 'Advanced', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Advanced', 'Advanced', 'Advanced', 'Advanced', 'Intermediate', 'Basic', 'Advanced', 'Advanced', 'Intermediate', 'Advanced', 'Advanced', 'Intermediate', 'Advanced', 'Intermediate', 'Basic', 'Advanced', 'Advanced', 'Advanced', 'Intermediate', 'Basic', 'Basic', 'Intermediate', 'Basic', 'Advanced', 'Basic', 'Advanced', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Basic', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Advanced', 'Advanced', 'Intermediate', 'Intermediate', 'Basic', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Advanced', 'Intermediate', 'Basic', 'Intermediate', 'Intermediate', 'Advanced', 'Advanced', 'Basic', 'Advanced', 'Intermediate', 'Intermediate', 'Advanced', 'Advanced', 'Advanced', 'Intermediate', 'Intermediate', 'Advanced', 'Basic', 'Basic', 'Basic', 'Basic', 'Basic', 'Basic', 'Basic', 'Basic', 'Intermediate', 'Intermediate', 'Intermediate', 'Basic', 'Basic', 'Basic', 'Basic', 'Basic', 'Intermediate', 'Basic', 'Intermediate', 'Basic', 'Basic', 'Basic', 'Basic', 'Basic', 'Basic', 'Basic', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Basic', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Basic', 'Basic', 'Basic', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Advanced', 'Basic', 'Basic', 'Basic', 'Basic', 'Basic', 'Basic', 'Basic', 'Intermediate', 'Intermediate', 'Basic', 'Basic', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Advanced', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Advanced', 'Intermediate', 'Basic', 'Intermediate', 'Advanced', 'Intermediate', 'Basic', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Basic', 'Basic', 'Intermediate', 'Basic', 'Basic', 'Intermediate', 'Basic', 'Basic', 'Basic', 'Intermediate', 'Intermediate', 'Basic', 'Advanced', 'Intermediate', 'Basic', 'Basic', 'Basic', 'Basic', 'Basic', 'Basic', 'Intermediate', 'Intermediate', 'Intermediate', 'Advanced', 'Basic', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Basic', 'Advanced', 'Intermediate', 'Basic', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Basic', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Basic', 'Intermediate', 'Intermediate', 'Basic', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Basic', 'Advanced', 'Intermediate', 'Intermediate', 'Basic', 'Basic', 'Basic', 'Intermediate', 'Intermediate', 'Basic', 'Intermediate', 'Intermediate', 'Intermediate', 'Basic', 'Basic', 'Basic', 'Intermediate', 'Intermediate', 'Intermediate', 'Basic', 'Intermediate', 'Intermediate', 'Intermediate', 'Basic', 'Basic', 'Intermediate', 'Basic', 'Intermediate', 'Intermediate', 'Basic', 'Basic', 'Intermediate', 'Basic', 'Basic', 'Advanced', 'Intermediate', 'Basic', 'Basic', 'Basic', 'Intermediate', 'Intermediate', 'Basic', 'Advanced', 'Advanced', 'Intermediate', 'Advanced', 'Intermediate', 'Intermediate', 'Intermediate', 'Intermediate', 'Basic', 'Basic', 'Intermediate', 'Intermediate']
keywordsArray = ['AN097G;an097;power9;POWER9;p9;certification;preparation', 'aix;power8;update;2016;fall;an105;an105g;tl1', 'an10dg;an10;Introduction to AIX; File permissions;basic', 'AN10G;AN10;Introduction to AIX; File permissions', 'Introduction;partitioning;LPAR;AN11G;AN11;Linux;Power8;PowerVM;LX024;LX024G', 'Introduction to IBM Power Systems;AIX;and system;AN12G;AN12;AIX installation;AIX administration;Live Kernel Update;LKU', 'AN14G;AN14;Introduction to AIX and IBM Power systems;', 'AN15G;AN15;Advanced AIX administration overview', 'an18;an18g;storage;aix;fibre;virtual;devices', 'Korn; Bash; AIX; AL24; AN202G; AN202; AL24G', 'ann22a;an22;nim;update;an22adg', 'AN22G;AN22;NIM overview; Setting up the NIM master', 'AN30G;AN30;Introduction to partitioning;Virtual Ethernet', 'AN31G;AN31;PowerVM features review', 'AN32G;AN32;Virtual I/O Server storage groups overview', 'AN33G;AN33;PowerVM Live Partition Mobility overview;capacity', 'powervm;powervc;an36;an36dg;power;systems', 'AN40D;', 'AN51G;AN51;Performance analysis and tuning overview;', 'AN52G;AN52;AIX trace facilities', 'power;security;aix;an58;an58g', 'AN61G;AN61;Introduction to PowerHA SystemMirror', 'PowerHA review with the advanced topology and CSPOC; AN62G; AN62', 'aix;linux;transition;jumpstart;power;anl01;anl01g', 'PowerVM features review;AP25G;AP25', 'Introduction to PowerHA SystemMirror;AP29;Power;Cloud;', 'Cloud;foundation;Virtual;appliance;deployment;AP30;Power Systems', 'Performance analysis and tuning overview; AP31G; AP31', 'Introduction to AIX and IBM Power systems;AP33', 'Introduction to partitioning;AP35;PowerCare;AIX Virtualization', 'power;security;aix;an58;an58g', 'Power;Cloud;Power;Running;Linux;Red;Hat;SLES;SUSE;Ubuntu;PowerVM', 'Power;Cloud;Power;Running;Linux;Red;Hat;SLES;SUSE;Ubuntu;PowerVM', 'Introduction to Linux;Installing linux;AP46G; AP46', 'RPG IV introduction;AS06G;AS06; AS10G; AS10; OL4BG; OL4B;MBJ00', 'RPG IV advancedn;AS10G;AS10; AS06G; AS06; OL4BG; OL4B;MBJ00', 'Power;Systems;IBM i;concepts;overview;AS24G;AS24;MBJ00;', 'HMC Overview; LPAR concepts and overview;AS27G;AS27;MBJ00', 'BRMS; AS28G; AS28;AS28W1G; AS28W1; MBJ00;', 'AS40;ibm i;open source;as40;as40g;node.js;sql;camel;apache;rest;pase', 'PowerVM; LPAR; IBM i;Overview;AS5EG;AS5E; MBJ00', 'Security and RACF overview; BE87G; BE87', '', '', 'BG002;', 'BG003;BG002;', 'BG004;BG003;BG002;', 'BG005;BG004;BG003;BG002;', 'TCP/IP for z/OS introduction;zos;CB69G;CB69', 'CM01G;CM010G;CMW01G;zos;CM01', 'CM059; U3759;zos;CM059G', 'CM10G;CMW12', 'IMS;CMW11;CM111;DB/TM;IMS System Programming;IVP', 'CM11G;CMW11', 'CM121G;CMW12G;zos;CM121', 'PVT;PRIVATE;CLASS;BASIC;ASSEMBLER;LANGUAGE;zos;CM17G;CM17', 'CM181G;zos;CM181;CM18', 'CM201G;CMW20G', 'CM20G;CM20', 'CM210G;CMW21G;IMS;OTMA;CM211G;CM211', 'CM21G;CMW21', 'CM220G;CM220', 'CM22G;CMW22; zos;CM22', 'CM241G; zos;CM241', 'CM301;IMS; OSAM;VSAM', 'PVT;PRIVATE;CLASS;DBDC;IMS;ADMINISTRATOR;SYSTEMS;zos;CM30G;CM30', 'CM43G; zos;CM43', 'CM451G;', 'CM46G;CMW46;CM46', 'CM50G;CM50', 'CM611G;CMW61G;zos;CM611', 'CM61G;CMW61', 'CM64G;CMW64G;CM64', 'IMS; Web; Database; Transaction; Diagnosis; z/os;CM660G;CM660', 'IMS;Web Database;Transaction;DB2;CICS;zos;CMW01G;CMW01', 'CM111G;CMW11G;lvcdb2;lvccourse;CMW11', 'CMW12G;CM121G;lvccourse;zos;CMW12', 'IMS; Web; Database; Recovery; DBRC;zos;CMW20G;CMW20', 'IMS;Web;Performance;Capacity;z/OS;zos;CMW21G;CMW21', 'IMS; Web Database; DBD;zos;CMW22G;CMW22', 'CM301G;CMW30G;zos;CMW30', 'IMS; Web; Database; Security; RACF;zos;CMW43G;CMW43', 'CMW44G;lvcims;lvccourse;zos;CMW44', 'CM50G;lvcourse;lvcims;CMW50G;CMW50', 'CMW61G;CM611G;lvcdb2;lvccourse;CMW61', 'IMS;Database;Fast Path;CICS;DEDB;z/OS;zos;CMW64G;CMW64', 'IMS; Web; Database; Transaction; Diagnosis; z/os;CMW66G;CMW66', 'DevOps, developer, mainframe, COBOL, programming', 'IBM Reliability, availability, serviceability', 'Automatic Binary Optimizer, COBOL, z/OS, ABO', 'IBM Z, Mainframe, z/OS, skills, catalog, guide, talent', 'Z DevOps, Enterprise DevOps, Integrated Development Environment, IDz, IDzEE, Mainframe DevOps', 'DBB, z/OS, Dependency Base Brand, DevOps', 'IBM Z, z/OS, networking, z/OS Communications Server, TCP/IP, SNA, network security, network operatio', 'IBM Z, z/OS, networking, z/OS Communications Server, TCP/IP, system programmer, network administrato', 'z/os, DevOps, Modernization, z, IBM Z', 'z/os, Architect, Modernization, z, IBM Z', 'DL06002G;dl06002;powervm;powervc;cloud;promotional;cloud', 'spectrum; protect; server updates; operations center', 'Storage, performance, RAID, Latency, throughput, cache, flash, I/O', 'Storage, Performance, HDD, SSD, SCSI, IOPS, NVM, NVMe', 'cloud; IaaS; PaaS; SaaS; IBM storage; storage; kubernetes; containers; openshift; openstack; public', 'non-volative memory; NVMe; NVMe-oF; NVMeoF; Fabric; transport; RDMA; RoCE; RoCEv2; iWarp; iSER; Eras', 'ESS, Spectrum Scale, RAID, Elastic Storage Server, Linux', 'LTFS, Tape, EE, Spectrum, Archive, cartridge, metadata, libraries', 'z/OS; z15', 'z/OS; z15', 'IMS, troubleshooting, diagnostics, first failure data capture, abends, waits', 'data analytics, IBM Z, Common Data Provider, z/OS, operational data', 'Administrative ClientM,Backup-Archive Client,Central Scheduler,Copy Storage Pool', 'Hyper V, VMware, vSnap, IBM Spectrum Protect Plus, Hypervisor, Protection, Kubernetes, Flashcopy', 'SAP, SAP HANA, SVC Spectrum, Protect, Spectrum Copy Data Management, CDM Spectrum Virtualize', 'Hyper V, VMware, vSnap, IBM Spectrum Protect Plus, Hypervisor, Protection, Kubernetes, Flashcopy', 'IBM Spectrum Protect, IBM Spectrum Proctect Plus, Backup, Tape, (SLA) Policies', 'Server, client, operation center, updates', 'NRTE, New Release Technical Enablment, IBM Workload Scheduler, WS, WS zOS', 'NRTE, zSystems', 'New Release Technical Enablement', 'NRTE', 'NRTE, zSystems, z/OS, IMS High Performance System Generation Tools', 'NRTE, Z, zSystems, Z Decision Support for Capacity Planning', 'NRTE, System Z, JVM, OMEGAMON', 'NRTE, zSystems, Common Data', '', 'NRTE, IBM Z Batch Resiliency (IZBR) NRTE, IZBR NRTE', 'System Z, z/OS, Operations Analytics, ZOA', 'NRTE, New Release Technical Enablment, CDP, zOS', 'NRTE, zSystems, Common Data', 'NRTE', 'NRTE, zSystems', 'NRTE, OMEGAMON, JVM', 'NRTE, zSystems', 'NRTE, zSystems', 'NRTE, zSystems', 'NRTE, zSystems', 'NRTE, zSystems', 'NRTE, Systems', 'flash, storage, software defined, hard drives, tape, storage arrays, hardware, software', 'storage, AI, artificial intelligence, analytics, big data', 'flash, storage, accelerate, virtualize, spectrum, elastic storage server, FlashSystem, Storwize', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'Storage', 'z/OS; operating system; services;zos;ES05G; ES05;SPVC', 'ES05G', 'Introduction to JCL;ES07G; ES07', 'Review of the z/Architecture and z/OS; ES10G; ES10', 'Review of the z/Architecture and z/OS; ES10G; ES10', 'z/OS overview;ES15G; ES15', 'An introduction to ISPF and ISPF/PDF;ES19G; ES19;MBI00', 'z/OS system introduction;ES20G; ES20', 'IBM mainframe server hardware;Overview;ES24G; ES24', 'SMP/E overview;SYSMOD packaging;zos;ES26G; ES26', 'Review of System z servers and z/OS;ES27G;ES27;z/OS;System Opera', 'z/OS and JES2 overview;SDSF demo;zos;ES28G; ES28', 'COBOL;ES311G; ES311', 'PL/I;Programming;ES312G; ES312', 'z/OS;Programming;ES313G; ES313', 'z/OS;Programming;ES314G; ES314', 'z/OS;Programming;ES315G; ES315;z/OS;JCL', 'z/OS;Programming;ES316G; ES316', 'REXX;Programming;ES317G; ES317', 'Assembler Language; S370;S390;System z;zos;ES34G; ES34', 'Assembler language;z\OS;zos;ES35G; ES35', 'Introduction to z/OS setup;z/OS;communication;ES40G;ES40;zos', 'Introduction to z/OS installation;ES41G; ES41', 'Sysplex; Overview and definitions; ES42G; ES42', 'REXX; z/OS;zos;ES52G; ES52;z/OS REXX;Programming;Workshop', 'Introduction to your system;Tuning methodology;ES54G;ES54', 'ES66G;ES66;MBI00', 'Introduction to WebSphere for z/OS V8; ES68G; ES68', 'Sysplex Overview;ES73G;ES73', 'Introduction;Mainframe directions;zos;ES82G;ES82', 'CICS;RACF overview;CICS region;zos;ES84G; ES84;MBI00', 'z/OS advanced performance overview;ES85G; ES85', 'Introduction to RRSF; ES88G; ES88;MBI00', 'ibm z; ibm z systems; bp', 'Parallel Sysplex overview;ES90G;ES90', 'HCD;introduction;ES96G; ES96', 'z/OS Management Facility; Overview;ESB3G; ESB3', 'ESB4G;ESB4;MBM00', 'z14;z13;z/os;z/os 2.3', 'ESC9;IBM Z; z/OS; 2.4; V2R4', 'blockchain; linuxone; linux', 'ESP2;', 'ESP3;ESU03;', 'ibm; ibm z; z/os; pervasive; encryption', '', 'ESU03;', 'ESX0;Docker; zCX', 'ESY2;Mainframe directions;System z servers;zos;ESZ0G;ESZ0;bootcamp', 'ESY3;ESU03;', 'Mainframe directions;System z servers;zos;ESZ0G;ESZ0;bootcamp', 'GST11;CLEVOS;Cloud Object Storage;object storage; SPVC', 'GST11;CLEVOS;Cloud Object Storage;object storage', 'Platform;Spectrum Scale;AIX;GPFS;H005G;H005;MBA00', 'GPFS; Spectrum Scale;H006;H006G;Installer toolkit;Health monitoring;Performance Monitoring;Encryption;Call Home', 'H008;spectrum scale; sds; cluster; AFM; CES; NFS; CNFS; SMB; Object storage; Block Storage', 'Spectrum;Computing;LSF;H010G;H010;', 'Linux;Basics;Power8;lx010;lx010g', 'Linux;Basics;Power8;open;lx012;lx012g;distros', 'Introduction to Linux;LX02G;LX02;MBJ00;Linux;Basics;', 'Introduction to Linux; LX02G; LX02;MBJ00; LX02WG; LX02W', 'SUSE Enterprise Linux; Power8; Red Hat Enterrpise; Ubuntu', 'Linux; IBM Power system; LX03G; LX03; LX03W0G; MBJ00;', 'Linux installation; LX03G; LX03;LX03W0G; LX03W0; Implementation', 'docker;lx061;lx061g;power;systems;linux', 'docker;lx061g;lx061;lx062g;lx062;microservices;containers', 'LX063;lx071;docker;cri-o;buildah;podman;ocp;openshift;containers;kubernetes;k8s', 'lx071;lx071g;linux;power;administration', 'lx072;lx072g;storage;administration;management;linux', 'lx080;lx080g;powerHA;linux;installation;systemmirror', 'Introduction to Linux;Installing linux;LX15G; LX15;MBJ00', 'Systems evolution;Single system to sysplex;MV10G;MV10', 'z/OS TCP/IP;Communication Server;zos;NW75G; NW75', 'TCPIP;OS/390;NW79G;zos;NW79G; NW79;', 'Introduction to IBM i;OE98G; OE98; AS24G; AS24; MBJ00', 'IBM i system administration;OL19G; OL19; MBJ00', 'CL programming concepts;Basic CL programming;OL20G; OL20; MBJ00', 'IBM i performance;OL23G;OL23; OL66g; OL66;MBJ00', 'HMC on IBM i; HMC on OS/400; OL52G; OL52; MBJ00', 'Introduction to DB2 for i database;OL62G; OL62; MBJ00', 'Performance management ;OL66G; OL66; OL23G; OL23;MBJ00', 'z/OS UNIX overview;zos;OP05G; OP05', 'z/OS UNIX implementation overview; OP25G; OP25', 'IBM i; 7.3; OS400; AS400; AS/400; System i;OS020', 'watson machine learning;community edition;powerai base; powerai;data scientist;machine learning;gpu;docker;kubernetes', 'QZC30; qzc30dg;powervc;iaas;IAAS;novalink;', 'QZC30; qzc30;powervc;iaas;IAAS;novalink;', 'QZC31DG;linux;redhat;system administrator;rhel', 'QZC32D;rhel;linux;linux on power;qzc32;cloud;power cloud;red hat;', 'qzc35;qzc35g;powervc;sdi;infrastructure;defined;software', 'cloud;private;implementation ;power;qxc40;qzc40g;qzc41;qzc41g', 'QZC42;qzc42g;qzc42;openshift;red hat;ocp;icp;ibm cloud private;paas;platform-as-a-service;kubernetes;containers;private cloud', 'devops; ansible; ansible on power; chef; chef on power; puppet; puppet on power; ci/cd; ci; cd; linux on power; linux;', 'QZD20G;QZD20;SAP;HANA;Power;Linux;data;analytics;memory', 'QZW05D;OpenShift;4.3;Red Hat;Power Systems;update;ocp;rhocp;linux', 'SE0001;Sales Enablement content', 'Storage Area Network; SAN b-type; VSAN zoning; SN71; fibre', 'Storage Area Network SAN b-type; VSAN zoning;SN71', 'RAID; DRAID; array; mirroring; spare; RAID5; hot spare; latency', 'spectrum virtualization; snv10dg; snv10adg; SVC', 'spectrum virtualization; snv10dg; snv10adg; SVC', 'Spectrum Virtualize; SVC; SNV10; SAN Volume Controller; disk', 'SAN Volume Controller; SNV1G; SNV1; SVC; SAN; Virtualization; Integration; easy tier; flashcopy; RAID; DRAID', 'Storage; SS01; tapes; spectrum; cloud; virtualization; SAN; NAS', 'SS83G; z/OS;VSAM;Access Method Services', 'Course introduction and DFSMS overview;SS84G;SS84; z/OS', 'Overview DFSMShsm functions and environment;SS86G;SS86; z/OS', 'spectrum; accelerate; architecture; hosts; snapshots; ssc30', 'ESS; Spectrum Scale; RAID; Elastic Storage Server; Linux', 'ESS; Spectrum Scale; RAID; Elastic Storage Server; Linux', 'SAN; V7000; SSE1G; SSE1; Storwize; SDI; virtualization', 'Introduction and IBM DS family; DS8000 overview; SSF0G; SSF0', 'Concepts and architecture; SSF1G; SSF1; DS8000; DS8900F', 'Flash storage; SSFS1G; SSFS1; ss01; virtualization; spectrum', 'Flash; Storage;', 'FlashSystems; Flash; V9000; virtualization; enterprise;SSFS3W', 'wbt; labs; Flash; FlashStorage; A9000; A9000R', 'flash; 3D TLC; NVMe; spectrum virtualize; storage insights', 'SSFS6DG; Flash; IBM Hyper-Scale Manager; IBM Hyper-Scale Mobility; IBM Spectrum Accelerate;IBM Spectrum; A9000; A9000R', 'RACF;z/OS;zos;SZ81G;SZ81;MBI00', '', 'tivwbt;FCM;TOS85G;TOS85', 'tivwbt;FCM;TOS85G;TOS85', 'TS100D;TS100;Spectrum Protect; SP; Protection; Back up; Archive; Storage Pools; Security; Compression; Maintenance; Container', 'TS101D; Spectrum Protect; SP; Protection; Back up; Archive; Storage Pools; Security; Compression; Maintenance; Container', 'Spectrum; Protect; Tivoli Storage Manager; TSM; Data; TS616;', 'spectrum; protect; server updates; operations center', 'TS618; Storage; pools; devices; daily ops; Spectrum; Protect; protection; backup; restore; archive; retrieve; methodology; tasks', 'Spectrum Protect; TSM; TS626G; TS625; data; backup; recovery;', 'Spectrum Protect 8.1.7;Container storage pools;Data deduplication;Cloud tiering;Daily maintenance;Tuning;TS;626;627;617', 'Spectrum Protect Plus; VMware; dev ops; vSnap; backup; data; SLA', 'TSP12;Spectrum Protect Plus; VMware; dev ops; vSnap; backup; data; SLA; applications; virtual machines', 'WM806;WM806G', 'WM816;WM816G', 'WM845G;ZM845G;WM845;MBJ00', 'WM851G; WM851;MBJ00', 'ZM855G; WM855G; WM855;MBJ00', 'WM856;WM856G', 'ZM865G;WM865;WM865G;MBJ00', 'WM875G; WM875;MBJ00', 'WM891G; WM891', 'z/VM and zLinux overviewZL00G; ZL00', 'Introduction to Linux on System z;zos;ZL10G; ZL10', 'Introduction;Linux installation;ZL15G; ZL15', 'Introduction to z/VM;Xedit;shared file system;REXX;ZV02G;ZV02', 'Installation;z/VM overview;zos;ZV06G; ZV06', 'DirMaint and RACF overview;ZV20G;ZV20;MBI00', 'cloud; kvm;ZV45']
follwOnArray = ['', '', 'AN12G', 'AN12G', 'AN12G,AN30G', 'AN11G,AN15G,AN21G,AN22G,AN51G', '', '', '', '', '', '', 'AN33G', '', '', '', '', 'AN30G', '', '', '', '', '', '', '', '', '', '', '', '', '', 'LX024G,LX072G', 'LX024G,LX034G', '', 'AS10G,OL20G,OL4BG', 'OL20G', 'AS27G,OD04G,OL19G,OL52G', 'OD04G,OL52G', 'AS54G,AS5EG,AS5FG,OL52G', '', '', '', '', 'BG002G', 'BG003G', 'BG004G', 'BG005G', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'ES10G', '', 'ES07G', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'H006G,SSE11DG', 'SSE11DG', '', '', '', '', '', '', 'LX024G,LX031G,LX032G,LX041G', '', '', '', 'QZC40G', '', '', '', '', '', '', '', '', 'AS24G,AS27G,OD04G,OL37G', 'AS28G,AS5EG,OL23G,OL52G,OL66G', '', 'AS28G,AS54G,AS5EG,AS5FG,OL52G,OL66G', 'AS5EG', 'AS06G,AS10G,OL20G,OL4BG', 'AS28G,AS54G,AS5EG,AS5FG,OL52G', '', '', '', '', '', '', '', '', '', '', '', '', '', 'QZC42G', '', '', '', '', '', '', 'DL08001G,DL08002G,DL08003G,DL08004G,SN71G,SNV1G', '', '', '', '', '', 'DL08001G,DL08002G,DL08003G,DL08004G', 'LX01WG,H006G', 'H006G,LX01WG', '', '', '', '', '', '', '', '', 'SS01G,SSC30G,SSFS5DG', '', '', '', '', 'TS617G,TS627G,TSP11G', 'TS627G,TS617G,TSP11G', 'TS625G,DL08001G,DL08002G,DL08003G,DL08004G', '', 'TS627G', '', '', 'TS617G,TS626G,DL37001G,DL08001G,DL08002G,DL08003G,DL08004G,DL08005G,DL08006G,DL08007G,DL08008G,DL08009G,DL08011G', 'TS627G,DL37001G,DL08015G,TS618G,DL37003G,DL37004G,DL37005G', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '']
linksArray = ['https://www.ibm.com/training/course/AN10D1DG', 'https://www.ibm.com/training/course/AN10DG', 'https://www.ibm.com/training/course/AN10G', 'https://www.ibm.com/training/course/AN11G', 'https://www.ibm.com/training/course/AN12G', 'https://www.ibm.com/training/course/AN14G', 'https://www.ibm.com/training/course/AN15G', 'https://www.ibm.com/training/course/AN202G', 'https://www.ibm.com/training/course/AN22G', 'https://www.ibm.com/training/course/AN30G', 'https://www.ibm.com/training/course/AN31G', 'https://www.ibm.com/training/course/AN40DG', 'https://www.ibm.com/training/course/AN51G', 'https://www.ibm.com/training/course/AN52G', 'https://www.ibm.com/training/course/AN61G', 'https://www.ibm.com/training/course/AN62G', 'https://www.ibm.com/training/course/AN6AG', 'https://www.ibm.com/training/course/AS06G', 'https://www.ibm.com/training/course/AS10G', 'https://www.ibm.com/training/course/AS24G', 'https://www.ibm.com/training/course/AS27G', 'https://www.ibm.com/training/course/AS28G', 'https://www.ibm.com/training/course/AS40G', 'https://www.ibm.com/training/course/AS5EG', 'https://www.ibm.com/training/course/BE87G', 'https://www.ibm.com/training/course/CB69G', 'https://www.ibm.com/training/course/CM01G', 'https://www.ibm.com/training/course/CM059G', 'https://www.ibm.com/training/course/CM111G', 'https://www.ibm.com/training/course/CM121G', 'https://www.ibm.com/training/course/CM17G', 'https://www.ibm.com/training/course/CM18G', 'https://www.ibm.com/training/course/CM20G', 'https://www.ibm.com/training/course/CM22G', 'https://www.ibm.com/training/course/CM241G', 'https://www.ibm.com/training/course/CM30G', 'https://www.ibm.com/training/course/CM43G', 'https://www.ibm.com/training/course/CM46G', 'https://www.ibm.com/training/course/CM50G', 'https://www.ibm.com/training/course/CM611G', 'https://www.ibm.com/training/course/CM64G', 'https://www.ibm.com/training/course/CM660G', 'https://www.ibm.com/training/course/CMW01G', 'https://www.ibm.com/training/course/CMW11G', 'https://www.ibm.com/training/course/CMW12G', 'https://www.ibm.com/training/course/CMW20G', 'https://www.ibm.com/training/course/CMW21G', 'https://www.ibm.com/training/course/CMW22G', 'https://www.ibm.com/training/course/CMW30G', 'https://www.ibm.com/training/course/CMW43G', 'https://www.ibm.com/training/course/CMW50G', 'https://www.ibm.com/training/course/CMW61G', 'https://www.ibm.com/training/course/CMW64G', 'https://www.ibm.com/training/course/CMW66G', 'https://www.ibm.com/training/search?query=DL000027G', 'https://www.ibm.com/training/search?query=DL00015G', 'https://www.ibm.com/training/search?query=DL00017G', 'https://www.ibm.com/training/search?query=DL00036G', 'https://www.ibm.com/training/search?query=DL00080G', 'https://www.ibm.com/training/search?query=DL006011G', 'https://www.ibm.com/training/search?query=DL006051G', 'https://www.ibm.com/training/search?query=DL006056G', 'https://www.ibm.com/training/search?query=DL00665G', 'https://www.ibm.com/training/search?query=DL00702G', 'https://www.ibm.com/training/search?query=DL00900G', 'https://www.ibm.com/training/search?query=DL00950G', 'https://www.ibm.com/training/search?query=DL00951G', 'https://www.ibm.com/training/search?query=DL00952G', 'https://www.ibm.com/training/search?query=DL00953G', 'https://www.ibm.com/training/search?query=DL01090G', 'https://www.ibm.com/training/search?query=DL01095G', 'https://www.ibm.com/training/search?query=DL06003G', 'https://www.ibm.com/training/search?query=DL08015G', 'https://www.ibm.com/training/search?query=DL08022G', 'https://www.ibm.com/training/search?query=DL10999G', 'https://www.ibm.com/training/search?query=DL11000G', 'https://www.ibm.com/training/search?query=DL11001G', 'https://www.ibm.com/training/search?query=DL12000G', 'https://www.ibm.com/training/search?query=DL201G', 'https://www.ibm.com/training/search?query=DL37002G', 'https://www.ibm.com/training/search?query=DL37004G', 'https://www.ibm.com/training/search?query=DL37007G', 'https://www.ibm.com/training/search?query=DL37008G', 'https://www.ibm.com/training/search?query=DL37009G', 'https://www.ibm.com/training/search?query=DL57004G', 'https://www.ibm.com/training/search?query=DL57038G', 'https://www.ibm.com/training/search?query=DL57039G', 'https://www.ibm.com/training/search?query=DL57041G', 'https://www.ibm.com/training/search?query=DL57042G', 'https://www.ibm.com/training/search?query=DL57043G', 'https://www.ibm.com/training/search?query=DL57044G', 'https://www.ibm.com/training/search?query=DL57045G', 'https://www.ibm.com/training/search?query=DL57046G', 'https://www.ibm.com/training/search?query=DL81019G', 'https://www.ibm.com/training/course/ES05G', 'https://www.ibm.com/training/course/ES05GI', 'https://www.ibm.com/training/course/ES07G', 'https://www.ibm.com/training/course/ES10G', 'https://www.ibm.com/training/course/ES15G', 'https://www.ibm.com/training/course/ES19G', 'https://www.ibm.com/training/course/ES20G', 'https://www.ibm.com/training/course/ES24G', 'https://www.ibm.com/training/course/ES26G', 'https://www.ibm.com/training/course/ES27G', 'https://www.ibm.com/training/course/ES28G', 'https://www.ibm.com/training/course/ES311G', 'https://www.ibm.com/training/course/ES312G', 'https://www.ibm.com/training/course/ES313G', 'https://www.ibm.com/training/course/ES314G', 'https://www.ibm.com/training/course/ES315G', 'https://www.ibm.com/training/course/ES316G', 'https://www.ibm.com/training/course/ES317G', 'https://www.ibm.com/training/course/ES34G', 'https://www.ibm.com/training/course/ES35G', 'https://www.ibm.com/training/course/ES40G', 'https://www.ibm.com/training/course/ES42G', 'https://www.ibm.com/training/course/ES52G', 'https://www.ibm.com/training/course/ES54G', 'https://www.ibm.com/training/course/ES57G', 'https://www.ibm.com/training/course/ES66G', 'https://www.ibm.com/training/course/ES68G', 'https://www.ibm.com/training/course/ES73G', 'https://www.ibm.com/training/course/ES82G', 'https://www.ibm.com/training/course/ES85G', 'https://www.ibm.com/training/course/ES89G', 'https://www.ibm.com/training/course/ES90G', 'https://www.ibm.com/training/course/ES96G', 'https://www.ibm.com/training/course/ESB3G', 'https://www.ibm.com/training/course/ESC9G', 'https://www.ibm.com/training/course/ESK0G', 'https://www.ibm.com/training/course/ESP2G', 'https://www.ibm.com/training/course/ESP3G', 'https://www.ibm.com/training/course/ESS10G', 'https://www.ibm.com/training/course/ESU01G', 'https://www.ibm.com/training/course/ESU03G', 'https://www.ibm.com/training/course/ESX0G', 'https://www.ibm.com/training/course/ESX3G', 'https://www.ibm.com/training/course/ESY2G', 'https://www.ibm.com/training/course/ESY3G', 'https://www.ibm.com/training/course/ESZ0G', 'https://www.ibm.com/training/course/ESZ101G', 'https://www.ibm.com/training/course/EZCLQ01G', 'https://www.ibm.com/training/course/EZCLQ02G', 'https://www.ibm.com/training/course/EZCLQ03G', 'https://www.ibm.com/training/course/EZCLQ04G', 'https://www.ibm.com/training/course/EZCLQ05G', 'https://www.ibm.com/training/course/EZCLQ06G', 'https://www.ibm.com/training/course/EZP05G', 'https://www.ibm.com/training/course/GST11G', 'https://www.ibm.com/training/course/H005G', 'https://www.ibm.com/training/course/H006G', 'https://www.ibm.com/training/course/H008G', 'https://www.ibm.com/training/course/H010G', 'https://www.ibm.com/training/course/LX010G', 'https://www.ibm.com/training/course/LX063DG', 'https://www.ibm.com/training/course/LX063G', 'https://www.ibm.com/training/course/LX071G', 'https://www.ibm.com/training/course/OE98G', 'https://www.ibm.com/training/course/OL19G', 'https://www.ibm.com/training/course/OL20G', 'https://www.ibm.com/training/course/OL23G', 'https://www.ibm.com/training/course/OL66G', 'https://www.ibm.com/training/course/OP05G', 'https://www.ibm.com/training/course/OP25G', 'https://www.ibm.com/training/course/QZC30G', 'https://www.ibm.com/training/course/QZC32DG', 'https://www.ibm.com/training/course/QZC42G', 'https://www.ibm.com/training/course/QZC43DG', 'https://www.ibm.com/training/course/QZC44DG', 'https://www.ibm.com/training/course/QZC50G', 'https://www.ibm.com/training/course/QZD32DG', 'https://www.ibm.com/training/course/QZD33DG', 'https://www.ibm.com/training/course/QZE32DG', 'https://www.ibm.com/training/course/QZE33DG', 'https://www.ibm.com/training/course/QZP32DG', 'https://www.ibm.com/training/course/SM917G', 'https://www.ibm.com/training/course/SM927G', 'https://www.ibm.com/training/course/SM937G', 'https://www.ibm.com/training/course/SN71DG', 'https://www.ibm.com/training/course/SN71G', 'https://www.ibm.com/training/course/SNV10ADG', 'https://www.ibm.com/training/course/SNV10BDG', 'https://www.ibm.com/training/course/SNV10CDG', 'https://www.ibm.com/training/course/SNV10DG', 'https://www.ibm.com/training/course/SNV1G', 'https://www.ibm.com/training/course/SS01G', 'https://www.ibm.com/training/course/SS83G', 'https://www.ibm.com/training/course/SS84G', 'https://www.ibm.com/training/course/SS86G', 'https://www.ibm.com/training/course/SSC15G', 'https://www.ibm.com/training/course/SSE12DG', 'https://www.ibm.com/training/course/SSE1G', 'https://www.ibm.com/training/course/SSF0G', 'https://www.ibm.com/training/course/SSF1G', 'https://www.ibm.com/training/course/SSFS1G', 'https://www.ibm.com/training/course/SSFS3G', 'https://www.ibm.com/training/course/SSFS7DG', 'https://www.ibm.com/training/course/TS101DG', 'https://www.ibm.com/training/course/TS618G', 'https://www.ibm.com/training/course/TS619G', 'https://www.ibm.com/training/course/TS627G', 'https://www.ibm.com/training/course/TS628G', 'https://www.ibm.com/training/course/TSP11G', 'https://www.ibm.com/training/course/TSP12G', 'https://www.ibm.com/training/course/TSP13G', 'https://www.ibm.com/training/course/WM816G', 'https://www.ibm.com/training/course/WM856G', 'https://www.ibm.com/training/course/ZL00G']
'''
for file, title, modality, summary, brand, publishedOn, firstCreatedDate in zip(fileNameArray, titleArray, modalityArray, summaryArray, brandArray, publishedOnArray, firstCreatedDateArray):
with open(str(file) + '.mdx', 'w', encoding="utf-8") as handle:
for line in (
"---", "title: '" + str(file) + ': ' + title + "'",
"modality: '" + modality + "'",
"summary: '" + str(summary).replace("\'", " ") + "'",
"image: '/static/images/power.jpg'",
"brand: '" + brand + "'",
"lastPublishedOn: '" + str(publishedOn.strftime('%Y-%m-%d')) + "'",
"firstCreatedOn: '" + str(firstCreatedDate.strftime('%Y-%m-%d')) + "'",
"---",
):
handle.write(line + '\n')
for file, summary1, duration, labs, skillLevel, courseDesc, agenda, audience, keywords, followOn, prereqs, objectives, link in zip(fileNameArray, summaryArray, durationArray, labsArray, skillLevelArray, courseDescArray, agendaArray, audienceArray, keywordsArray, follwOnArray, prereqArray, objectivesArray, linksArray):
with open(file + '.mdx', 'a', encoding="utf-8") as handle:
for line in (
"# Table of Contents",
"1. [Short Summary](#short-summary)",
"2. [Duration](#duration-in-hours-)",
"3. [Content Description](#content-description)",
"4. [Objectives](#objectives)",
"5. [Agenda](#agenda)",
"6. [Audience](#audience)",
"7. [Skill Level](#skill-level)",
"8. [Labs?](#labs-)",
"9. [Keywords](#keywords)",
"10. [Prerequisites](#prerequisites)",
"11. [Enrollment](#enrollment)",
"12. [Errata](#errata)",
"13. [Follow-on Courses](#follow-on-courses)"+ '\n',
"# Short Summary" + '\n' + str(summary1) + '\n',
"# Duration in Hours ⌚" + '\n' + str(duration) + '\n',
"# Content Description" + '\n' + markdownify.markdownify(str(courseDesc)) + '\n',
"# Objectives" + '\n' + markdownify.markdownify(str(objectives)) + '\n',
"# Agenda" + '\n' + markdownify.markdownify(str(agenda)) + '\n',
"# Audience" + '\n' + markdownify.markdownify(str(audience)) + '\n',
"# Skill Level" + '\n' + str(skillLevel) + '\n',
"# Labs? 💻" + '\n' + str(labs) + '\n',
"# Keywords" + '\n' + str(keywords) + '\n',
"# Prerequisites" + '\n' + markdownify.markdownify(str(prereqs)) + '\n',
"# Enrollment" + '\n' + link + '\n',
"# Errata" + '\n' + "None specified." + '\n',
"# Follow-on Courses" + '\n' + str(followOn) + '\n',
):
handle.write(line + '\n')