Best Python code snippet using playwright-python
democoursedata.py
Source:democoursedata.py  
1course_data = [2  {"name":"History of Western Art","dept":"Art","short_name":"ARTS 001"},3  {"name":"Fundamentals of Drawing","dept":"Art","short_name":"ARTS 011"},4  {"name":"Graphic Design and Color","dept":"Art","short_name":"ARTS 013"},5  {"name":"History of Western Art","dept":"Art","short_name":"ARTS 101"},6  {"name":"Fundamentals of Drawing","dept":"Art","short_name":"ARTS 111"},7  {"name":"Computer Graphics","dept":"Art","short_name":"ARTS 115"},8  {"name":"Digital Imaging","dept":"Art","short_name":"ARTS 117"},9  {"name":"Beginning Painting: Acrylics","dept":"Art","short_name":"ARTS 121"},10  {"name":"Intermediate Painting:Acrylics","dept":"Art","short_name":"ARTS 122"},11  {"name":"Advanced Painting: Acrylics","dept":"Art","short_name":"ARTS 123"},12  {"name":"Multimedia Printmaking","dept":"Art","short_name":"ARTS 132"},13  {"name":"Advanced Printmaking Workshop","dept":"Art","short_name":"ARTS 134"},14  {"name":"Beginning Ceramics","dept":"Art","short_name":"ARTS 141"},15  {"name":"Intermediate Ceramics","dept":"Art","short_name":"ARTS 142"},16  {"name":"Advanced Ceramics","dept":"Art","short_name":"ARTS 143"},17  {"name":"Beginning Jewelry and Metal","dept":"Art","short_name":"ARTS 181"},18  {"name":"Intermediate Jewelry and Metal","dept":"Art","short_name":"ARTS 182"},19  {"name":"Advanced Jewelry and Metal","dept":"Art","short_name":"ARTS 183"},20  {"name":"Drama Workshop:","dept":"Art","short_name":"DRAM 099"},21  {"name":"Drama Workshop","dept":"Art","short_name":"DRAM 099 1"},22  {"name":"Drama Workshop","dept":"Art","short_name":"DRAM 099 2"},23  {"name":"Principles of Biological Science","dept":"Biological Science","short_name":"BIOL 001A"},24  {"name":"Principles of Biological Science","dept":"Biological Science","short_name":"BIOL 001A"},25  {"name":"Principles of Biological Science Lab","dept":"Biological Science","short_name":"BIOL 001AL"},26  {"name":"Principles of Biological Science Lab","dept":"Biological Science","short_name":"BIOL 001AL"},27  {"name":"Principles of Biological Science","dept":"Biological Science","short_name":"BIOL 001B"},28  {"name":"Principles of Biological Science Lab","dept":"Biological Science","short_name":"BIOL 001BL"},29  {"name":"Human Physiology","dept":"Biological Science","short_name":"BIOL 011"},30  {"name":"Human Physiology Laboratory","dept":"Biological Science","short_name":"BIOL 011L"},31  {"name":"Human Biology","dept":"Biological Science","short_name":"BIOL 015"},32  {"name":"Human Biology","dept":"Biological Science","short_name":"BIOL 015"},33  {"name":"Human Anatomy","dept":"Biological Science","short_name":"BIOL 017"},34  {"name":"Human Anatomy Laboratory","dept":"Biological Science","short_name":"BIOL 017L"},35  {"name":"Human Anatomy Laboratory","dept":"Biological Science","short_name":"BIOL 017L"},36  {"name":"Allied Health Microbiology","dept":"Biological Science","short_name":"BIOL 020"},37  {"name":"Allied Health Microbiology Laboratory","dept":"Biological Science","short_name":"BIOL 020L"},38  {"name":"Medical Microbiology","dept":"Biological Science","short_name":"BIOL 145"},39  {"name":"Medical Microbiology Lab","dept":"Biological Science","short_name":"BIOL 145L"},40  {"name":"Physiological Chem","dept":"Biological Science","short_name":"BIOL 185"},41  {"name":"Physiological Chemistry Lab","dept":"Biological Science","short_name":"BIOL 185L"},42  {"name":"Biology Seminar","dept":"Biological Science","short_name":"BIOL 192W"},43  {"name":"Internship","dept":"Biological Science","short_name":"BIOL 196"},44  {"name":"Internship","dept":"Biological Science","short_name":"BIOL 196 1"},45  {"name":"Internship","dept":"Biological Science","short_name":"BIOL 196 2"},46  {"name":"Principles of Accounting","dept":"Business","short_name":"BSAD 012"},47  {"name":"Principles of Accounting","dept":"Business","short_name":"BSAD 012"},48  {"name":"Quantitative Analysis for Business and Economics","dept":"Business","short_name":"BSAD 020"},49  {"name":"Principles of Management","dept":"Business","short_name":"BSAD 030"},50  {"name":"Decision Analysis For Business","dept":"Business","short_name":"BSAD 105"},51  {"name":"Survey of Global Business","dept":"Business","short_name":"BSAD 113W"},52  {"name":"Global Business","dept":"Business","short_name":"BSAD 113W"},53  {"name":"Business Finance","dept":"Business","short_name":"BSAD 129"},54  {"name":"Business Management","dept":"Business","short_name":"BSAD 130"},55  {"name":"Organizational Behavior","dept":"Business","short_name":"BSAD 148W"},56  {"name":"Principles of Marketing","dept":"Business","short_name":"BSAD 160"},57  {"name":"Marketing Research","dept":"Business","short_name":"BSAD 165"},58  {"name":"Sports Marketing and Public Relations","dept":"Business","short_name":"BSAD 171"},59  {"name":"Strategic Management","dept":"Business","short_name":"BSAD 195W"},60  {"name":"Internship","dept":"Business","short_name":"BSAD 196"},61  {"name":"Internship","dept":"Business","short_name":"BSAD 196 1"},62  {"name":"Internship","dept":"Business","short_name":"BSAD 196 2"},63  {"name":"Academic Success Strategies","dept":"Career and Life Planning","short_name":"CALP 095"},64  {"name":"Leadership, Trans & Social Change I","dept":"Career and Life Planning","short_name":"CALP 191"},65  {"name":"Career Exploration: Internship","dept":"Career and Life Planning","short_name":"CALP 196"},66  {"name":"Career Exploration: Internship","dept":"Career and Life Planning","short_name":"CALP 196 1"},67  {"name":"Career Exploration: Internship","dept":"Career and Life Planning","short_name":"CALP 196 2"},68  {"name":"General Chemistry and Qualitative Analysis","dept":"Chemistry","short_name":"CHEM 001B"},69  {"name":"General Chemistry Discussion","dept":"Chemistry","short_name":"CHEM 001BDis"},70  {"name":"General Chemistry Lab","dept":"Chemistry","short_name":"CHEM 001BL"},71  {"name":"Introductory Chemistry for Health Science","dept":"Chemistry","short_name":"CHEM 007"},72  {"name":"Intro to Chemistry Laboratory","dept":"Chemistry","short_name":"CHEM 007L"},73  {"name":"Organic Chemistry II","dept":"Chemistry","short_name":"CHEM 019"},74  {"name":"Organic Chemistry II Lab","dept":"Chemistry","short_name":"CHEM 019L"},75  {"name":"Professional Writing","dept":"Communication","short_name":"COMM 108W"},76  {"name":"Essen Interpersonal Comm/Effect Speaking","dept":"Communications Studies","short_name":"COMM 001"},77  {"name":"Essen Interpersonal Comm/Effect Speaking","dept":"Communications Studies","short_name":"COMM 001"},78  {"name":"Essen Interpersonal Comm/Effect Speaking","dept":"Communications Studies","short_name":"COMM 001"},79  {"name":"Presentation Strategies","dept":"Communications Studies","short_name":"COMM 110"},80  {"name":"Mediation and Conflict Resolution","dept":"Communications Studies","short_name":"COMM 122"},81  {"name":"Internship","dept":"Communications Studies","short_name":"COMM 196"},82  {"name":"Internship","dept":"Communications Studies","short_name":"COMM 196 1"},83  {"name":"Internship","dept":"Communications Studies","short_name":"COMM 196 2"},84  {"name":"Spreadsheets","dept":"Computer Systems","short_name":"CSCI 010C"},85  {"name":"The Criminal Justice System","dept":"Criminology","short_name":"CRIM 120"},86  {"name":"Academic Internship","dept":"Criminology","short_name":"CRIM 196"},87  {"name":"Academic Internship","dept":"Criminology","short_name":"CRIM 196 1"},88  {"name":"Academic Internship","dept":"Criminology","short_name":"CRIM 196 2"},89  {"name":"Principles of Economics (Micro)","dept":"Economics","short_name":"ECON 002"},90  {"name":"Principles Of Economics (Micro)","dept":"Economics","short_name":"ECON 002"},91  {"name":"Statistical Methods","dept":"Economics","short_name":"ECON 015"},92  {"name":"Social Foundations in Education","dept":"Education","short_name":"EDUC 100"},93  {"name":"Educational Psychology","dept":"Education","short_name":"EDUC 101"},94  {"name":"Educating Students with Special Needs","dept":"Education","short_name":"EDUC 102A"},95  {"name":"Multicultural Education","dept":"Education","short_name":"EDUC 102B"},96  {"name":"Theories/Methods Second Language Acquisition","dept":"Education","short_name":"EDUC 103"},97  {"name":"Writing Workshop","dept":"English","short_name":"ENGL A"},98  {"name":"Critical Reading and Writing I","dept":"English","short_name":"ENGL 001A"},99  {"name":"Critical Reading and Writing II","dept":"English","short_name":"ENGL 001B"},100  {"name":"Critical Reading and Writing II","dept":"English","short_name":"ENGL 001B"},101  {"name":"Critical Reading and Writing II","dept":"English","short_name":"ENGL 001B"},102  {"name":"Critical Reading and Writing II","dept":"English","short_name":"ENGL 001B"},103  {"name":"Critical Reading and Writing II","dept":"English","short_name":"ENGL 001B"},104  {"name":"Critical Reading and Writing II","dept":"English","short_name":"ENGL 001B"},105  {"name":"Critical Reading and Writing II","dept":"English","short_name":"ENGL 001B"},106  {"name":"Critical Reading and Writing II","dept":"English","short_name":"ENGL 001B"},107  {"name":"Intensive Writing","dept":"English","short_name":"ENGL 018 1"},108  {"name":"Intensive Writing","dept":"English","short_name":"ENGL 018 2"},109  {"name":"Intensive Writing","dept":"English","short_name":"ENGL 018 3"},110  {"name":"Dramatic Literature","dept":"English","short_name":"ENGL 022W"},111  {"name":"Creative Writing","dept":"English","short_name":"ENGL 107W"},112  {"name":"Professional Writing","dept":"English","short_name":"ENGL 108W"},113  {"name":"Dramatic Literature","dept":"English","short_name":"ENGL 122 W"},114  {"name":"19th Century American Literature","dept":"English","short_name":"ENGL 130"},115  {"name":"Children's Literature","dept":"English","short_name":"ENGL 151"},116  {"name":"Intensive Writing","dept":"English as a Second Language","short_name":"ESLG 018 1"},117  {"name":"Intensive Writing","dept":"English as a Second Language","short_name":"ESLG 018 2"},118  {"name":"Intensive Writing","dept":"English as a Second Language","short_name":"ESLG 018 3"},119  {"name":"Academic Skills II","dept":"English as a Second Language","short_name":"ESLG 019"},120  {"name":"Crit Reading/Writing for Non-Native Speakers","dept":"English as a Second Language","short_name":"ESLG 024B"},121  {"name":"Techniques of Communicative Interaction","dept":"English as a Second Language","short_name":"ESLG 025"},122  {"name":"Elementary French II","dept":"French","short_name":"FREN 002"},123  {"name":"US History: Survey B","dept":"History","short_name":"HIST 017B"},124  {"name":"Contemporary Europe","dept":"History","short_name":"HIST 124"},125  {"name":"Latino/Hispanic Experience","dept":"History","short_name":"HIST 177"},126  {"name":"Internship","dept":"History","short_name":"HIST 196"},127  {"name":"Internship","dept":"History","short_name":"HIST 196 1"},128  {"name":"Internship","dept":"History","short_name":"HIST 196 2"},129  {"name":"History of the Middle East & North Africa","dept":"History","short_name":"HIST 197"},130  {"name":"The Premodern World","dept":"Integrative Studies Across Cultures","short_name":"ISAC 002"},131  {"name":"The Premodern World","dept":"Integrative Studies Across Cultures","short_name":"ISAC 002"},132  {"name":"The Contemporary World","dept":"Integrative Studies Across Cultures","short_name":"ISAC 004"},133  {"name":"The Contemporary World","dept":"Integrative Studies Across Cultures","short_name":"ISAC 004"},134  {"name":"The Ancient World","dept":"Integrative Studies Across Cultures","short_name":"ISAC 101"},135  {"name":"The Ancient World","dept":"Integrative Studies Across Cultures","short_name":"ISAC 101"},136  {"name":"The Premodern World","dept":"Integrative Studies Across Cultures","short_name":"ISAC 102"},137  {"name":"The Modern World","dept":"Integrative Studies Across Cultures","short_name":"ISAC 103"},138  {"name":"The Modern World","dept":"Integrative Studies Across Cultures","short_name":"ISAC 103"},139  {"name":"The Contemporary World","dept":"Integrative Studies Across Cultures","short_name":"ISAC 104"},140  {"name":"Senior Colloquium: \"Film Historical Injustices\"","dept":"Integrative Studies Across Cultures","short_name":"ISAC 195W"},141  {"name":"Senior Colloquium: \"Oakland\"","dept":"Integrative Studies Across Cultures","short_name":"ISAC 195W"},142  {"name":"Senior Colloquium: \"Spiritual Activism\"","dept":"Integrative Studies Across Cultures","short_name":"ISAC 195W"},143  {"name":"Senior Colloquium \"Protest\"","dept":"Integrative Studies Across Cultures","short_name":"ISAC 195W"},144  {"name":"Senior Colloquium: Memory","dept":"Integrative Studies Across Cultures","short_name":"ISAC 195W"},145  {"name":"Latin American Art and Music Experience","dept":"Latin American and Latino/a Studies","short_name":"LALS 115"},146  {"name":"Internship","dept":"Latin American and Latino/a Studies","short_name":"LALS 196"},147  {"name":"Special Topics: Travel Course to Oaxaca","dept":"Latin American and Latino/a Studies","short_name":"LALS 197"},148  {"name":"Internship","dept":"Liberal Studies","short_name":"CHDT 196 1"},149  {"name":"Internship","dept":"Liberal Studies","short_name":"CHDT 196 1"},150  {"name":"Introduction to Liberal Studies","dept":"Liberal Studies","short_name":"LBST 010"},151  {"name":"Internship","dept":"Liberal Studies","short_name":"LBST 196"},152  {"name":"Internship","dept":"Liberal Studies","short_name":"LBST 196 1"},153  {"name":"Internship","dept":"Liberal Studies","short_name":"LBST 196 2"},154  {"name":"Fundamentals of Language","dept":"Linguistics","short_name":"LING 145"},155  {"name":"Sociolinguistics","dept":"Linguistics","short_name":"LING 154"},156  {"name":"Math for Elementary School Teachers","dept":"Math","short_name":"MATH 151"},157  {"name":"Algebra 2 Workshop","dept":"Mathematics","short_name":"MATH A"},158  {"name":"Algebra 2 Workshop","dept":"Mathematics","short_name":"MATH A"},159  {"name":"Algebra 1 Workshop","dept":"Mathematics","short_name":"MATH C"},160  {"name":"Precalculus","dept":"Mathematics","short_name":"MATH 001"},161  {"name":"Calculus II","dept":"Mathematics","short_name":"MATH 012"},162  {"name":"Probability & Statistics","dept":"Mathematics","short_name":"MATH 060"},163  {"name":"World Music","dept":"Music","short_name":"MUSC 001B"},164  {"name":"Renaissance to Baroque Music: Musicianship and Theory","dept":"Music","short_name":"MUSC 013A"},165  {"name":"Renaissance to Baroque Music: History and Theory","dept":"Music","short_name":"MUSC 013B"},166  {"name":"Private Lessons","dept":"Music","short_name":"MUSC 016"},167  {"name":"Private Lessons/Second Instrument","dept":"Music","short_name":"MUSC 017"},168  {"name":"Piano Class","dept":"Music","short_name":"MUSC 020B"},169  {"name":"Voice Class","dept":"Music","short_name":"MUSC 022B"},170  {"name":"HNU Chorus","dept":"Music","short_name":"MUSC 060"},171  {"name":"HNU Chamber Singers","dept":"Music","short_name":"MUSC 061"},172  {"name":"HNU Chamber Ensemble","dept":"Music","short_name":"MUSC 062"},173  {"name":"HNU Orchestra","dept":"Music","short_name":"MUSC 063"},174  {"name":"Piano Ensemble","dept":"Music","short_name":"MUSC 064"},175  {"name":"Accompanying","dept":"Music","short_name":"MUSC 065"},176  {"name":"Perspectives in Music: History of Jazz","dept":"Music","short_name":"MUSC 071C"},177  {"name":"Medieval & Renaissance Music Theory & History","dept":"Music","short_name":"MUSC 094"},178  {"name":"Bytes&Notes:IntroComputerTechnology","dept":"Music","short_name":"MUSC 102"},179  {"name":"Classical Music II: Musicianship & Theory","dept":"Music","short_name":"MUSC 105AW"},180  {"name":"Classical Music II: History & Theory","dept":"Music","short_name":"MUSC 105BW"},181  {"name":"Music of the 20th and 21st Centuries:Musicianship and Theory","dept":"Music","short_name":"MUSC 108A"},182  {"name":"Music of the 20th and 21st Centuries: History and Theory","dept":"Music","short_name":"MUSC 108B"},183  {"name":"Private Lessons","dept":"Music","short_name":"MUSC 116"},184  {"name":"Private Lessons / Second Instrument","dept":"Music","short_name":"MUSC 117"},185  {"name":"Piano Class","dept":"Music","short_name":"MUSC 120B"},186  {"name":"Class Voice","dept":"Music","short_name":"MUSC 122B"},187  {"name":"Opera Scenes Workshop","dept":"Music","short_name":"MUSC 124"},188  {"name":"HNU Chorus","dept":"Music","short_name":"MUSC 160"},189  {"name":"HNU Chamber Singers","dept":"Music","short_name":"MUSC 161"},190  {"name":"HNU Chamber Ensemble","dept":"Music","short_name":"MUSC 162"},191  {"name":"HNU Orchestra","dept":"Music","short_name":"MUSC 163"},192  {"name":"Piano Ensemble","dept":"Music","short_name":"MUSC 164"},193  {"name":"Accompanying","dept":"Music","short_name":"MUSC 165"},194  {"name":"Perspectives in Music: History of Jazz","dept":"Music","short_name":"MUSC 171C"},195  {"name":"Choral Conducting","dept":"Music","short_name":"MUSC 181B"},196  {"name":"Recital","dept":"Music","short_name":"MUSC 190A"},197  {"name":"Recital","dept":"Music","short_name":"MUSC 190B"},198  {"name":"Fund of Nutrition","dept":"Nutrition","short_name":"NUTR 001"},199  {"name":"The Human Person","dept":"Philosophy","short_name":"PHIL 040W"},200  {"name":"The Human Person","dept":"Philosophy","short_name":"PHIL 040W"},201  {"name":"The Human Person","dept":"Philosophy","short_name":"PHIL 040W"},202  {"name":"The Human Person","dept":"Philosophy","short_name":"PHIL 140W"},203  {"name":"The Human Person","dept":"Philosophy","short_name":"PHIL 140W"},204  {"name":"The Human Person","dept":"Philosophy","short_name":"PHIL 140W"},205  {"name":"Ethics at Work","dept":"Philosophy","short_name":"PHIL 156"},206  {"name":"Tutorial: Theories of Knowledge","dept":"Philosophy","short_name":"PHIL 180A"},207  {"name":"StrnghtTrainingFitn","dept":"Physical Education","short_name":"PHED 010"},208  {"name":"StrnghtTrainingFitn","dept":"Physical Education","short_name":"PHED 010"},209  {"name":"StrnghtTrainingFitn","dept":"Physical Education","short_name":"PHED 010"},210  {"name":"Intercollegiate:Basketball-Men","dept":"Physical Education","short_name":"PHED 062"},211  {"name":"Intercollegiate:Basketball-Women","dept":"Physical Education","short_name":"PHED 062"},212  {"name":"Intercol: Volleyball - Men","dept":"Physical Education","short_name":"PHED 064"},213  {"name":"Intercol: Volleyball - Women","dept":"Physical Education","short_name":"PHED 064"},214  {"name":"Intrcol:CrossCountry - Men","dept":"Physical Education","short_name":"PHED 068"},215  {"name":"Intercol: Cross Country - Women","dept":"Physical Education","short_name":"PHED 068"},216  {"name":"Intercollegiate:Golf - Men","dept":"Physical Education","short_name":"PHED 070"},217  {"name":"Intcol:Soccer Men","dept":"Physical Education","short_name":"PHED 072"},218  {"name":"Intcol:Soccer Women","dept":"Physical Education","short_name":"PHED 072"},219  {"name":"Intercollegiate Softball","dept":"Physical Education","short_name":"PHED 074"},220  {"name":"Intercol Tennis- Women","dept":"Physical Education","short_name":"PHED 075"},221  {"name":"Intercol Baseball","dept":"Physical Education","short_name":"PHED 076"},222  {"name":"Special Topics: Yoga","dept":"Physical Education","short_name":"PHED 097"},223  {"name":"Special Topics: Hula","dept":"Physical Education","short_name":"PHED 097"},224  {"name":"Physical Education for Teachers","dept":"Physical Education","short_name":"PHED 110"},225  {"name":"Intercollegiate:Basketball-Men","dept":"Physical Education","short_name":"PHED 162"},226  {"name":"Intercollegiate:Basketball-Women","dept":"Physical Education","short_name":"PHED 162"},227  {"name":"Intercol: Volleyball- Men","dept":"Physical Education","short_name":"PHED 164"},228  {"name":"Intercol: Volleyball - Women","dept":"Physical Education","short_name":"PHED 164"},229  {"name":"Intrcol: CrossCountry- Men","dept":"Physical Education","short_name":"PHED 168"},230  {"name":"Intercol: Cross Country - Women","dept":"Physical Education","short_name":"PHED 168"},231  {"name":"Intercollegiate:Golf","dept":"Physical Education","short_name":"PHED 170"},232  {"name":"Intcol:Soccer Men","dept":"Physical Education","short_name":"PHED 172"},233  {"name":"Intcol:Soccer Women","dept":"Physical Education","short_name":"PHED 172"},234  {"name":"Intercollegiate Softball","dept":"Physical Education","short_name":"PHED 174"},235  {"name":"Intercol: Tennis - Women","dept":"Physical Education","short_name":"PHED 175"},236  {"name":"Intercol: Baseball","dept":"Physical Education","short_name":"PHED 176"},237  {"name":"Fundamentals Of Phys Science","dept":"Physical Science","short_name":"PHSC 015"},238  {"name":"General Physics II","dept":"Physics","short_name":"PHYS 008B"},239  {"name":"General Physics II Laboratory","dept":"Physics","short_name":"PHYS 008BL"},240  {"name":"Dynamics Of International Relations","dept":"Political Science","short_name":"PSCI 120"},241  {"name":"Internship","dept":"Political Science","short_name":"PSCI 196"},242  {"name":"Internship","dept":"Political Science","short_name":"PSCI 196 1"},243  {"name":"Internship","dept":"Political Science","short_name":"PSCI 196 2"},244  {"name":"Intro to Psychology","dept":"Psychology","short_name":"PSYC 001"},245  {"name":"Intro Psych Seminar:Psych Of Humor","dept":"Psychology","short_name":"PSYC 020"},246  {"name":"IntroLife-SpanDvlpmt","dept":"Psychology","short_name":"PSYC 030"},247  {"name":"Statistical Methods","dept":"Psychology","short_name":"PSYC 063"},248  {"name":"Experimental Psychology","dept":"Psychology","short_name":"PSYC 100W"},249  {"name":"Field Methods","dept":"Psychology","short_name":"PSYC 108W"},250  {"name":"Learning and Cognition","dept":"Psychology","short_name":"PSYC 120"},251  {"name":"Gender Issues","dept":"Psychology","short_name":"PSYC 147"},252  {"name":"Psychology of Personality","dept":"Psychology","short_name":"PSYC 160"},253  {"name":"Senior Seminar","dept":"Psychology","short_name":"PSYC 195W"},254  {"name":"Senior Seminar","dept":"Psychology","short_name":"PSYC 195W"},255  {"name":"Internship","dept":"Psychology","short_name":"PSYC 196"},256  {"name":"Internship","dept":"Psychology","short_name":"PSYC 196"},257  {"name":"Internship","dept":"Psychology","short_name":"PSYC 196 1"},258  {"name":"Internship","dept":"Psychology","short_name":"PSYC 196 1"},259  {"name":"Internship","dept":"Psychology","short_name":"PSYC 196 2"},260  {"name":"Internship","dept":"Psychology","short_name":"PSYC 196 2"},261  {"name":"Special Topics: Psychology of Humor","dept":"Psychology","short_name":"PSYC 197"},262  {"name":"Special Topics: Psychology Conventions","dept":"Psychology","short_name":"PSYC 197 1"},263  {"name":"Introduction to the New Testament","dept":"Religious Studies","short_name":"RLST 015"},264  {"name":"World Wisdom Traditions","dept":"Religious Studies","short_name":"RLST 075"},265  {"name":"Introduction to the New Testament","dept":"Religious Studies","short_name":"RLST 115"},266  {"name":"Spirituality and Social Justice","dept":"Religious Studies","short_name":"RLST 130A"},267  {"name":"World Wisdom Traditions","dept":"Religious Studies","short_name":"RLST 175"},268  {"name":"Religion in Mexico","dept":"Religious Studies","short_name":"RLST 177"},269  {"name":"Special Topics: Travel Course to Mexico","dept":"Religious Studies","short_name":"RLST 197 2"},270  {"name":"Intro to Sociology","dept":"Sociology","short_name":"SOCI 001"},271  {"name":"Statistical Methods","dept":"Sociology","short_name":"SOCI 063"},272  {"name":"Global Perspectives","dept":"Sociology","short_name":"SOCI 102W"},273  {"name":"Statistical Methods","dept":"Sociology","short_name":"SOCI 105"},274  {"name":"Field Methods","dept":"Sociology","short_name":"SOCI 108W"},275  {"name":"Gender Issues","dept":"Sociology","short_name":"SOCI 147"},276  {"name":"Racial & Ethnic Issues","dept":"Sociology","short_name":"SOCI 165"},277  {"name":"Latino/Hispanic Experience","dept":"Sociology","short_name":"SOCI 177"},278  {"name":"Internship","dept":"Sociology","short_name":"SOCI 196"},279  {"name":"Internship","dept":"Sociology","short_name":"SOCI 196 1"},280  {"name":"Internship","dept":"Sociology","short_name":"SOCI 196 2"},281  {"name":"Beginning Spanish II","dept":"Spanish Studies","short_name":"SPST 002"},282  {"name":"Intermediate Spanish II","dept":"Spanish Studies","short_name":"SPST 004"},283  {"name":"Advanced Spanish: Reading and Writing","dept":"Spanish Studies","short_name":"SPST 101W"},284  {"name":"AdvSpan:Listen&Speak","dept":"Spanish Studies","short_name":"SPST 102"},285  {"name":"Special Topics: Art of Today","dept":"Art","short_name":"ARTSA197"},286  {"name":"Principles of Biological Science","dept":"Biological Science","short_name":"BIOLA001A"},287  {"name":"Principles of Biological Science Lab","dept":"Biological Science","short_name":"BIOLA001AL"},288  {"name":"Human Physiology","dept":"Biological Science","short_name":"BIOLA011"},289  {"name":"Human Physiology Laboratory","dept":"Biological Science","short_name":"BIOLA011L"},290  {"name":"Human Anatomy","dept":"Biological Science","short_name":"BIOLA017"},291  {"name":"Human Anatomy Laboratory","dept":"Biological Science","short_name":"BIOLA017L"},292  {"name":"Allied Health Microbiology","dept":"Biological Science","short_name":"BIOLA020"},293  {"name":"Allied Health Microbiology Laboratory","dept":"Biological Science","short_name":"BIOLA020L"},294  {"name":"Principles of Accounting","dept":"Business","short_name":"BSADA011"},295  {"name":"Quantitative Analysis for Business","dept":"Business","short_name":"BSADA020"},296  {"name":"Decision Analysis for Business","dept":"Business","short_name":"BSADA105"},297  {"name":"Intro Chemistry for Health Science","dept":"Chemistry","short_name":"CHEMA007"},298  {"name":"Intro to Chemistry for Health Science Lab","dept":"Chemistry","short_name":"CHEMA007L"},299  {"name":"Essential Interpersonal Comm/Effect Speaking","dept":"Communications Studies","short_name":"COMMA001"},300  {"name":"Organizational Communication","dept":"Communications Studies","short_name":"COMMA101"},301  {"name":"Critical Reading & Writing I","dept":"English","short_name":"ENGLA001A"},302  {"name":"Critical Reading & Writing II","dept":"English","short_name":"ENGLA001B"},303  {"name":"Fiction","dept":"English","short_name":"ENGLA120"},304  {"name":"California History","dept":"History","short_name":"HISTA183"},305  {"name":"Premodern World","dept":"Integrative Studies Across Cultures","short_name":"ISACA102"},306  {"name":"Contemporary World","dept":"Integrative Studies Across Cultures","short_name":"ISACA104"},307  {"name":"Sr. Colloquium: \"Garbage\"","dept":"Integrative Studies Across Cultures","short_name":"ISACA195W"},308  {"name":"Fundamentals of Language","dept":"Linguistics","short_name":"LINGA145"},309  {"name":"Algebra 2 Workshop","dept":"Mathematics","short_name":"MATHA A"},310  {"name":"Algebra 2 Workshop","dept":"Mathematics","short_name":"MATHA A"},311  {"name":"Algebra I Workshop","dept":"Mathematics","short_name":"MATHA C"},312  {"name":"Refresher Mathematics Workshop","dept":"Mathematics","short_name":"MATHA R"},313  {"name":"The Human Person","dept":"Philosophy","short_name":"PHILA140W"},314  {"name":"Fund Of Phys Science","dept":"Physical Science","short_name":"PHSCA015"},315  {"name":"Introduction to Psychology","dept":"Psychology","short_name":"PSYCA001"},316  {"name":"Statistical Methods","dept":"Psychology","short_name":"PSYCA063"},317  {"name":"Counseling Theories","dept":"Psychology","short_name":"PSYCA167"},318  {"name":"Intor to Sociology","dept":"Sociology","short_name":"SOCIA001"},319  {"name":"Statistical Methods","dept":"Sociology","short_name":"SOCIA063"},320  {"name":"Statistical Methods","dept":"Sociology","short_name":"SOCIA105"},321  {"name":"Epidemiology","dept":"Biology","short_name":"BIOLA180"},322  {"name":"The Transition to Role of RN","dept":"Nursing","short_name":"NURSA001"},323  {"name":"Fundamentals of Nursing","dept":"Nursing","short_name":"NURSA009"},324  {"name":"Fundamentals of Nursing Lab","dept":"Nursing","short_name":"NURSA009L"},325  {"name":"Fundamentals of Nursing Lab","dept":"Nursing","short_name":"NURSA009L"},326  {"name":"Care of Adults","dept":"Nursing","short_name":"NURSA010"},327  {"name":"Care of Adults Clinical","dept":"Nursing","short_name":"NURSA010L"},328  {"name":"Care of Adults Clinical","dept":"Nursing","short_name":"NURSA010L"},329  {"name":"Care of Adults Clinical","dept":"Nursing","short_name":"NURSA010L"},330  {"name":"Care of the Mentally Ill","dept":"Nursing","short_name":"NURSA011"},331  {"name":"Care of the Mentally Ill Clinical","dept":"Nursing","short_name":"NURSA011L"},332  {"name":"Care of the Mentally Ill Clinical","dept":"Nursing","short_name":"NURSA011L"},333  {"name":"Health Assessment","dept":"Nursing","short_name":"NURSA031"},334  {"name":"Nursing Research","dept":"Nursing","short_name":"NURSA041"},335  {"name":"Maternal Health","dept":"Nursing","short_name":"NURSA120"},336  {"name":"Maternal Health Clinical","dept":"Nursing","short_name":"NURSA120L"},337  {"name":"Maternal Health Clinical","dept":"Nursing","short_name":"NURSA120L"},338  {"name":"Care of Children","dept":"Nursing","short_name":"NURSA130"},339  {"name":"Care of Children Clinical","dept":"Nursing","short_name":"NURSA130L"},340  {"name":"Care of Children Clinical","dept":"Nursing","short_name":"NURSA130L"},341  {"name":"Care of Children Clinical","dept":"Nursing","short_name":"NURSA130L"},342  {"name":"Care of Children Clinical","dept":"Nursing","short_name":"NURSA130L"},343  {"name":"Care of the Elderly","dept":"Nursing","short_name":"NURSA140"},344  {"name":"Care of the Elderly Clinical","dept":"Nursing","short_name":"NURSA140L"},345  {"name":"Care of the Elderly Clinical","dept":"Nursing","short_name":"NURSA140L"},346  {"name":"Community Health Nursing Clinical","dept":"Nursing","short_name":"NURSA142L"},347  {"name":"Family/Comm Health Nursing I Practicum","dept":"Nursing","short_name":"NURSA142L"},348  {"name":"Community Health Nursing","dept":"Nursing","short_name":"NURSA142W"},349  {"name":"Leardership & Management In Nursing","dept":"Nursing","short_name":"NURSA151"},350  {"name":"Leadership/Managemt Nursing Practicum","dept":"Nursing","short_name":"NURSA151L"},351  {"name":"Leadership/Managemt Nursing Practicum","dept":"Nursing","short_name":"NURSA151L"},352  {"name":"Evidence Based Nursing Practice","dept":"Nursing","short_name":"NURSA161"},353  {"name":"Senior Colloq \"The Search for Meaning in Modern Art and Lit\"","dept":"Integrative Studies Across Cultures","short_name":"ISACN195W"},354  {"name":"Health Assessment","dept":"Nursing","short_name":"NURSN131"},355  {"name":"Community Health Nursing Lab","dept":"Nursing","short_name":"NURSN142L"},356  {"name":"Community Health Nursing","dept":"Nursing","short_name":"NURSN142W"},357  {"name":"Senior Seminar","dept":"Nursing","short_name":"NURSN195W"},358  {"name":"World Wisdom Traditions","dept":"Religious Studies","short_name":"RLSTN175"},359  {"name":"Statistical Methods","dept":"Sociology","short_name":"SOCIN105"},360  {"name":"Sociology of Health Care & Health Policy","dept":"Sociology","short_name":"SOCIN156"},361  {"name":"Financial Management","dept":"Business","short_name":"BSAD 229"},362  {"name":"Substance Abuse Assessment and Treatment","dept":"Counseling Psychology","short_name":"CPSY 208"},363  {"name":"Assess, Diagnosis and Treatment of Victim","dept":"Counseling Psychology","short_name":"CPSY 209A"},364  {"name":"Assess, Diagnosis and Treatment of the Offender","dept":"Counseling Psychology","short_name":"CPSY 209B"},365  {"name":"ForensicPsycSeminar","dept":"Counseling Psychology","short_name":"CPSY 212"},366  {"name":"The Law and Professional Ethics","dept":"Counseling Psychology","short_name":"CPSY 215"},367  {"name":"Adv Issues in Correct & Comm Counseling","dept":"Counseling Psychology","short_name":"CPSY 226"},368  {"name":"Advanced Human Diversity Issues","dept":"Counseling Psychology","short_name":"CPSY 235"},369  {"name":"Alcohol & Chemical Dependency","dept":"Counseling Psychology","short_name":"CPSY 240A"},370  {"name":"Child Abuse Assessment and Reporting","dept":"Counseling Psychology","short_name":"CPSY 240B"},371  {"name":"Psychopharmacology","dept":"Counseling Psychology","short_name":"CPSY 245B"},372  {"name":"HIV/AIDS Assessment and Treatment","dept":"Counseling Psychology","short_name":"CPSY 245C"},373  {"name":"Treatment of Children","dept":"Counseling Psychology","short_name":"CPSY 260"},374  {"name":"Group Psychotherapy","dept":"Counseling Psychology","short_name":"CPSY 265"},375  {"name":"Group Psychotherapy","dept":"Counseling Psychology","short_name":"CPSY 265 2"},376  {"name":"Traumatology and Demographics","dept":"Counseling Psychology","short_name":"CPSY 273"},377  {"name":"Neurobiology of Trauma: Risk,Resiliency &PositivePsychology","dept":"Counseling Psychology","short_name":"CPSY 274"},378  {"name":"Psychological Assessment","dept":"Counseling Psychology","short_name":"CPSY 280 2"},379  {"name":"Intro to Supervised Practicum/Case Seminar","dept":"Counseling Psychology","short_name":"CPSY 285"},380  {"name":"Supervised Practicum and Case Seminar I","dept":"Counseling Psychology","short_name":"CPSY 290"},381  {"name":"Supervised Practicum and Case Seminar I","dept":"Counseling Psychology","short_name":"CPSY 290"},382  {"name":"Supervised Practicum and Case Seminar I","dept":"Counseling Psychology","short_name":"CPSY 295"},383  {"name":"Special Topics:Career Development Theories and Techniques","dept":"Counseling Psychology","short_name":"CPSY 297"},384  {"name":"Integrating Seminar","dept":"Counseling Psychology","short_name":"CPSY 298"},385  {"name":"Social Foundations in Education","dept":"Education","short_name":"EDUC 200"},386  {"name":"Educational Psychology","dept":"Education","short_name":"EDUC 201"},387  {"name":"Multicultural Education","dept":"Education","short_name":"EDUC 202B"},388  {"name":"Theories/Methods Second Language Acquisition","dept":"Education","short_name":"EDUC 203"},389  {"name":"Issues in Urban Education","dept":"Education","short_name":"EDUC 241"},390  {"name":"Behavior Management","dept":"Education","short_name":"EDUC 265"},391  {"name":"Practicum in Assessment","dept":"Education","short_name":"EDUC 266"},392  {"name":"Counseling/Collaboration Skills for Professionals","dept":"Education","short_name":"EDUC 267"},393  {"name":"Role of The Eductional Therapist","dept":"Education","short_name":"EDUC 268A"},394  {"name":"Technology for Students with MM Disabilities","dept":"Education","short_name":"EDUC 271"},395  {"name":"Educational Research","dept":"Education","short_name":"EDUC 290"},396  {"name":"Educational Evaluation","dept":"Education","short_name":"EDUC 292"},397  {"name":"Proposal Development","dept":"Education","short_name":"EDUC 293"},398  {"name":"Proposal Development","dept":"Education","short_name":"EDUC 293 2"},399  {"name":"Using Educational Research Tools","dept":"Education","short_name":"EDUC 296"},400  {"name":"Professional Academic Writing, Graduate Level","dept":"Education","short_name":"EDUC 297"},401  {"name":"Professional Academic Writing, Graduate Level","dept":"Education","short_name":"EDUC 297 2"},402  {"name":"Culminating Scholarly Activity","dept":"Education","short_name":"EDUC 298A"},403  {"name":"Masters Culminating Activity, in progress","dept":"Education","short_name":"EDUC 298A"},404  {"name":"Masters Culminating Activity, in progress","dept":"Education","short_name":"EDUC 298A"},405  {"name":"Masters Culminating Activity, in progress","dept":"Education","short_name":"EDUC 298A"},406  {"name":"Masters Culminating Activity, in progress","dept":"Education","short_name":"EDUC 298A"},407  {"name":"Masters Culminating Activity, in progress","dept":"Education","short_name":"EDUC 298B"},408  {"name":"Masters Culminating Activity, in progress","dept":"Education","short_name":"EDUC 298B"},409  {"name":"Masters Culminating Activity, in progress","dept":"Education","short_name":"EDUC 298B"},410  {"name":"Masters Culminating Activity, in progress","dept":"Education","short_name":"EDUC 298B"},411  {"name":"Masters Culminating Activity, in progress","dept":"Education","short_name":"EDUC 298B"},412  {"name":"Masters Culminating Activity, in progress","dept":"Education","short_name":"EDUC 298B"},413  {"name":"Masters Culminating Activity, in progress","dept":"Education","short_name":"EDUC 298C"},414  {"name":"Masters Culminating Activity, in progress","dept":"Education","short_name":"EDUC 298C"},415  {"name":"Masters Culminating Activity, in progress","dept":"Education","short_name":"EDUC 298C"},416  {"name":"Masters Culminating Activity, in progress","dept":"Education","short_name":"EDUC 298C"},417  {"name":"Masters Culminating Activity, in progress","dept":"Education","short_name":"EDUC 298C"},418  {"name":"Masters Culminating Activity, in progress","dept":"Education","short_name":"EDUC 298C"},419  {"name":"Fiction","dept":"English","short_name":"ENGL 220"},420  {"name":"Fundamentals of Language","dept":"Linguistics","short_name":"LING 245"},421  {"name":"Private Lessons","dept":"Music","short_name":"MUSC 216"},422  {"name":"Opera Scenes Workshop","dept":"Music","short_name":"MUSC 224"},423  {"name":"Studies in Piano Literature","dept":"Music","short_name":"MUSC 226"},424  {"name":"Grad Sem in Musical Lit","dept":"Music","short_name":"MUSC 231"},425  {"name":"Folk Music","dept":"Music","short_name":"MUSC 243B"},426  {"name":"Solfege and Musicianship","dept":"Music","short_name":"MUSC 244B"},427  {"name":"Kodaly Pedagogy","dept":"Music","short_name":"MUSC 247B"},428  {"name":"Advanced Piano Pedagogy","dept":"Music","short_name":"MUSC 252"},429  {"name":"Advanced Vocal Pedagogy","dept":"Music","short_name":"MUSC 255"},430  {"name":"HNU Chamber Singers","dept":"Music","short_name":"MUSC 261"},431  {"name":"HNU Chamber Ensemble","dept":"Music","short_name":"MUSC 262"},432  {"name":"HNU Orchestra","dept":"Music","short_name":"MUSC 263"},433  {"name":"Advanced Piano Ensemble","dept":"Music","short_name":"MUSC 264"},434  {"name":"Advanced Accompanying","dept":"Music","short_name":"MUSC 265"},435  {"name":"Choral Conducting","dept":"Music","short_name":"MUSC 281B"},436  {"name":"Recital","dept":"Music","short_name":"MUSC 290A"},437  {"name":"Recital","dept":"Music","short_name":"MUSC 290B"},438  {"name":"Master's Project","dept":"Music","short_name":"MUSC 291A"},439  {"name":"Practicum","dept":"Music","short_name":"MUSC 296B"},440  {"name":"Practicum/Piano","dept":"Music","short_name":"MUSC 296D"},441  {"name":"Practicum/Vocal","dept":"Music","short_name":"MUSC 296F"},442  {"name":"Primary Care Thru Lifespan IV Lab","dept":"Nursing","short_name":"NURS 253L"},443  {"name":"Core Cs: Geo-Wisdom-Cosmol&Hum Spirit","dept":"Spirituality","short_name":"SPIR 201 4"},444  {"name":"Core Course: Weekend Component","dept":"Spirituality","short_name":"SPIR 204"},445  {"name":"Core Course Weekend Component","dept":"Spirituality","short_name":"SPIR 204 2"},446  {"name":"Public Forum","dept":"Spirituality","short_name":"SPIR 211B"},447  {"name":"Sophia Wisdom Circle","dept":"Spirituality","short_name":"SPIR 212"},448  {"name":"Sophia Praxis","dept":"Spirituality","short_name":"SPIR 213"},449  {"name":"Sophia Praxis","dept":"Spirituality","short_name":"SPIR 213 3"},450  {"name":"Visions of the Future","dept":"Spirituality","short_name":"SPIR 225"},451  {"name":"Mystics of Modern World","dept":"Spirituality","short_name":"SPIR 227"},452  {"name":"Archtypal Myth. DreamWork","dept":"Spirituality","short_name":"SPIR 265"},453  {"name":"Cosmology & the Human Spirit","dept":"Spirituality","short_name":"SPIR 290B"},454  {"name":"Spirit of Earth, Art, Spirit","dept":"Spirituality","short_name":"SPIR 291B"},455  {"name":"Master's Project","dept":"Spirituality","short_name":"SPIR 298"},456  {"name":"Primary Care I Lab","dept":"Nursing","short_name":"NURS 251AL"},457  {"name":"Primary Care II Lab","dept":"Nursing","short_name":"NURS 251BL"},458  {"name":"Primary Care Thru Lifespan III Lab","dept":"Nursing","short_name":"NURS 252L"},459  {"name":"Latino Culture","dept":"Education","short_name":"EDUC 305"},460  {"name":"Student Teaching Introduction: Single Subject","dept":"Education","short_name":"EDUC 320A"},461  {"name":"Student Teaching Practicum: Single Subject","dept":"Education","short_name":"EDUC 320B"},462  {"name":"Student Teaching in the Secondary School","dept":"Education","short_name":"EDUC 320C"},463  {"name":"Student Teaching in the Secondary School","dept":"Education","short_name":"EDUC 320C 10"},464  {"name":"Student Teaching in the Secondary School","dept":"Education","short_name":"EDUC 320C 9"},465  {"name":"Internship Teaching in a Secondary School","dept":"Education","short_name":"EDUC 320I"},466  {"name":"Internship Teaching","dept":"Education","short_name":"EDUC 320I 1"},467  {"name":"Internship Teaching in Secondary School","dept":"Education","short_name":"EDUC 320I 3"},468  {"name":"Internship Teaching in Secondary School","dept":"Education","short_name":"EDUC 320I 5"},469  {"name":"PACT 2 Support","dept":"Education","short_name":"EDUC 329"},470  {"name":"PACT 2 Support","dept":"Education","short_name":"EDUC 329"},471  {"name":"Student Teaching in the Elementary School","dept":"Education","short_name":"EDUC 330A"},472  {"name":"Internship Teaching: Multiple Subject","dept":"Education","short_name":"EDUC 330B"},473  {"name":"Student Teaching in the Elementary School","dept":"Education","short_name":"EDUC 330C"},474  {"name":"Internship Teaching:MultipleSubject","dept":"Education","short_name":"EDUC 330I"},475  {"name":"Internship Teaching, Multi-Subject","dept":"Education","short_name":"EDUC 330I 2"},476  {"name":"Internship Teaching, Multiple Subject","dept":"Education","short_name":"EDUC 330I 3"},477  {"name":"C & I Elementary School: Mathematics","dept":"Education","short_name":"EDUC 331"},478  {"name":"Curr/Instr Elementary School: Reading","dept":"Education","short_name":"EDUC 334"},479  {"name":"Curr/Instr Secondary School: Reading","dept":"Education","short_name":"EDUC 335"},480  {"name":"C&I Elementary Schools for Special Educ Teachers:Mathematics","dept":"Education","short_name":"EDUC 341"},481  {"name":"Field Studies Practicum, MM Disabilities","dept":"Education","short_name":"EDUC 361"},482  {"name":"Special Education Internship Teaching","dept":"Education","short_name":"EDUC 361I"},483  {"name":"Substance Abuse Assessment and Treatment","dept":"Counseling Psychology","short_name":"CPSY 408"},484  {"name":"Assess, Diagnosis and Treatment of Victim","dept":"Counseling Psychology","short_name":"CPSY 409A"},485  {"name":"Assess, Diagnosis and Treatment of the Offender","dept":"Counseling Psychology","short_name":"CPSY 409B"},486  {"name":"Forensic Psychology Prof. Prac Sem","dept":"Counseling Psychology","short_name":"CPSY 412"},487  {"name":"Adv Issues in Correct & Community Counseling","dept":"Counseling Psychology","short_name":"CPSY 426"},488  {"name":"Traumatology and Demographics","dept":"Counseling Psychology","short_name":"CPSY 473"},489  {"name":"Neurobiology of Trauma: Risk,Resiliency &PositivePsychology","dept":"Counseling Psychology","short_name":"CPSY 474"},490  {"name":"Intro to Supervised Practicum/Case Seminar","dept":"Counseling Psychology","short_name":"CPSY 485"},491  {"name":"Supervised Practicum and Case Seminar I","dept":"Counseling Psychology","short_name":"CPSY 490"},492  {"name":"Supervised Practicum and Case Seminar I","dept":"Counseling Psychology","short_name":"CPSY 490"},493  {"name":"Supervised Practicum & Case Seminar","dept":"Counseling Psychology","short_name":"CPSY 495"},494  {"name":"Social Foundations in Education","dept":"Education","short_name":"EDUC 400"},495  {"name":"Educational Psychology","dept":"Education","short_name":"EDUC 401"},496  {"name":"Multicultural Education","dept":"Education","short_name":"EDUC 402B"},497  {"name":"Curr/Instr Elementary School: Reading","dept":"Education","short_name":"EDUC 434"},498  {"name":"Neuropsychological Principles in Education","dept":"Education","short_name":"EDUC 459"},499  {"name":"Practicum for Educational Therapists","dept":"Education","short_name":"EDUC 460"},500  {"name":"Practicum in Assessment","dept":"Education","short_name":"EDUC 466"},501  {"name":"Counseling/Collaboration Skills for Professionals","dept":"Education","short_name":"EDUC 467"},502  {"name":"Role of the Educational Therapist","dept":"Education","short_name":"EDUC 468A"},503  {"name":"Technology for Students with MM Disabilities","dept":"Education","short_name":"EDUC 471"},504  {"name":"Primary Care I Lab","dept":"Nursing","short_name":"NURS 451AL"},505  {"name":"Primary Care II Lab","dept":"Nursing","short_name":"NURS 451BL"},506  {"name":"Primary Care Thru Lifespan III","dept":"Nursing","short_name":"NURS 452L"},507  {"name":"Primary Care Thru Lifespan IV Lab","dept":"Nursing","short_name":"NURS 453L"},508  {"name":"Core Cs: Geo-Wisdom-Cosmol/Hum Spirit","dept":"Spirituality","short_name":"SPIR 401"},509  {"name":"Core Course Weekend Component","dept":"Spirituality","short_name":"SPIR 404"},510  {"name":"Core Course Weekend Component","dept":"Spirituality","short_name":"SPIR 404 2"},511  {"name":"Public Forum","dept":"Spirituality","short_name":"SPIR 411B"},512  {"name":"Sophia Wisdom Circle","dept":"Spirituality","short_name":"SPIR 412"},513  {"name":"Sophia Praxis","dept":"Spirituality","short_name":"SPIR 413"},514  {"name":"Sophia Praxis","dept":"Spirituality","short_name":"SPIR 413 3"},515  {"name":"Visions of the Future","dept":"Spirituality","short_name":"SPIR 425"},516  {"name":"Mystics of Modern World","dept":"Spirituality","short_name":"SPIR 427"},517  {"name":"Archetypal Mythology in Dreamwork","dept":"Spirituality","short_name":"SPIR 465"},518  {"name":"Cosmology & the Human Spirit","dept":"Spirituality","short_name":"SPIR 490B"},519  {"name":"Spirit of Earth, Art & Spirit, Weekends","dept":"Spirituality","short_name":"SPIR 491B"},520  {"name":"Independent Study: Visions","dept":"Spirituality","short_name":"SPIR 499 1"},521  {"name":"Principles of Accounting","dept":"Business","short_name":"BSADA010"},522  {"name":"Business Management","dept":"Business","short_name":"BSADA130"},523  {"name":"Human Resource Management","dept":"Business","short_name":"BSADA145"},524  {"name":"Consumer Behavior","dept":"Business","short_name":"BSADA161"},525  {"name":"Professional Writing","dept":"Communications Studies","short_name":"COMMA108W"},526  {"name":"Principles of Economics (Macro)","dept":"Economics","short_name":"ECONA001"},527  {"name":"Principles of Economics (Micro)","dept":"Economics","short_name":"ECONA002"},528  {"name":"Statistical Methods","dept":"Economics","short_name":"ECONA015"},529  {"name":"Professional Writing","dept":"English","short_name":"ENGLA108W"},530  {"name":"Adult Development and Aging","dept":"Psychology","short_name":"PSYCA131"},531  {"name":"Religion, Philiosophy, and Human Rights","dept":"Religious Studies","short_name":"RLSTA122"},532  {"name":"Advanced Management: Leading Change","dept":"Business","short_name":"BSAD 230"},533  {"name":"Investments","dept":"Business","short_name":"BSAD 237"},534  {"name":"Environmental Economics","dept":"Business","short_name":"BSAD 241"},535  {"name":"Leadership Development","dept":"Business","short_name":"BSAD 250"},536  {"name":"Diverse Consumer Behavior","dept":"Business","short_name":"BSAD 261"},537  {"name":"History of Composition and Rhetoric","dept":"English","short_name":"ENGL 203A"},538  {"name":"Primary Care Thru Lifespan IV Lab","dept":"Nursing","short_name":"NURS 253L"},539  {"name":"Tai Chi","dept":"Spirituality","short_name":"SPIR 254"},540  {"name":"Special Topics: Embodying Ecological Action and Vision","dept":"Spirituality","short_name":"SPIR 297"},541  {"name":"Health Promotion","dept":"Nursing","short_name":"NURS 214"},542  {"name":"Health Economics & Organization Des","dept":"Nursing","short_name":"NURS 216"},543  {"name":"Health Economics & Organization Des","dept":"Nursing","short_name":"NURS 216"},544  {"name":"Scientific Inquiry","dept":"Nursing","short_name":"NURS 217A"},545  {"name":"Scientific Inquiry","dept":"Nursing","short_name":"NURS 217A"},546  {"name":"Management & Development","dept":"Nursing","short_name":"NURS 220"},547  {"name":"Managing Health Care Delivery","dept":"Nursing","short_name":"NURS 234B"},548  {"name":"Advanced Health Assessment","dept":"Nursing","short_name":"NURS 240"},549  {"name":"Advanced Health Assessment","dept":"Nursing","short_name":"NURS 240"},550  {"name":"Advanced Health Assessment Lab","dept":"Nursing","short_name":"NURS 240L"},551  {"name":"Advanced Health Assessment Lab","dept":"Nursing","short_name":"NURS 240L"},552  {"name":"Advanced Health Assessment Lab","dept":"Nursing","short_name":"NURS 240L"},553  {"name":"Advanced Health Assessment Lab","dept":"Nursing","short_name":"NURS 240L"},554  {"name":"Primary Care I Lab","dept":"Nursing","short_name":"NURS 251AL"},555  {"name":"Primary Care II Lab","dept":"Nursing","short_name":"NURS 251BL"},556  {"name":"Primary Care Thru Lifespan III","dept":"Nursing","short_name":"NURS 252"},557  {"name":"Primary Care Thru Lifespan III Lab","dept":"Nursing","short_name":"NURS 252L"},558  {"name":"Clinical Faculty Practicum I","dept":"Nursing","short_name":"NURS 265A"},559  {"name":"Using Computers in the K-12 Classroom, Level 1","dept":"Education","short_name":"EDUC 353B"},560  {"name":"Consultation and Colllaboration for Students with ASD","dept":"Education","short_name":"EDUC 359"},561  {"name":"Hlth Promo/Risk Reduc of Diverse Pop","dept":"Nursing","short_name":"NURS 414"},562  {"name":"Concept/Theor Nursing Admin/Manage","dept":"Nursing","short_name":"NURS 420"},563  {"name":"Man Hlthcare Del/Div Pop/Comm Env I","dept":"Nursing","short_name":"NURS 434B"},564  {"name":"Advanced Health Assessment","dept":"Nursing","short_name":"NURS 440"},565  {"name":"Advanced Heath Assessment Lab","dept":"Nursing","short_name":"NURS 440L"},566  {"name":"Primary Care I Lab","dept":"Nursing","short_name":"NURS 451AL"},567  {"name":"Primary Care II Lab","dept":"Nursing","short_name":"NURS 451BL"},568  {"name":"Primary Care Family through Lifespan III","dept":"Nursing","short_name":"NURS 452"},569  {"name":"Primary Care Thru Lifespan III","dept":"Nursing","short_name":"NURS 452L"},570  {"name":"Primary Care Thru Lifespan IV Lab","dept":"Nursing","short_name":"NURS 453L"},571  {"name":"Clinical Faculty Practicum I","dept":"Nursing","short_name":"NURS 465A"},572  {"name":"Tai Chi","dept":"Spirituality","short_name":"SPIR 454"},573  {"name":"Special Topics: Embodying Ecological Action and Vision","dept":"Spirituality","short_name":"SPIR 497"},574  {"name":"Internship","dept":"Business","short_name":"BSAD 196 1"},575  {"name":"Principles of Accounting","dept":"Business","short_name":"BSADA011"},576  {"name":"Business Law","dept":"Business","short_name":"BSADA018"},577  {"name":"Marketing Research","dept":"Business","short_name":"BSADA165"},578  {"name":"Strategic Management","dept":"Business","short_name":"BSADA195W"},579  {"name":"Professional Writing","dept":"Communications Studies","short_name":"COMMA108W"},580  {"name":"Communication Internships","dept":"Communications Studies","short_name":"COMMA196"},581  {"name":"Communication Internships","dept":"Communications Studies","short_name":"COMMA196 1"},582  {"name":"Internship","dept":"Communications Studies","short_name":"COMMA196 2"},583  {"name":"Spreadsheets","dept":"Computer Systems","short_name":"CSCIA010C"},584  {"name":"Professional Writing","dept":"English","short_name":"ENGLA108W"},585  {"name":"Poetry","dept":"English","short_name":"ENGLA121"},586  {"name":"City:Culture, History, & Power","dept":"History","short_name":"HISTA126"},587  {"name":"Ethics: The Problem of Friendship","dept":"Philosophy","short_name":"PHILA151"},588  {"name":"World Wisdom Traditions","dept":"Religious Studies","short_name":"RLSTA175"},589  {"name":"City:Culture, History, & Power","dept":"Sociology","short_name":"SOCIA160"},590  {"name":"Public Finance and Management","dept":"Business","short_name":"BSAD 243"},591  {"name":"Building Learning Organizations","dept":"Business","short_name":"BSAD 253"},592  {"name":"Marketing Management","dept":"Business","short_name":"BSAD 260"},593  {"name":"The Global Imperative: Strategic Marketing","dept":"Business","short_name":"BSAD 263"},594  {"name":"Marketing Research","dept":"Business","short_name":"BSAD 265"},595  {"name":"Strategy in Global Environment","dept":"Business","short_name":"BSAD 295"},596  {"name":"Community Mental Health C","dept":"Counseling Psychology","short_name":"CPSY 293"},597  {"name":"Role of The Eductional Therapist","dept":"Education","short_name":"EDUC 268B"},598  {"name":"Poetry","dept":"English","short_name":"ENGL 221"},599  {"name":"Final Project","dept":"English","short_name":"ENGL 298"},600  {"name":"Primary Care Thru Lifespan IV Lab","dept":"Nursing","short_name":"NURS 253L"},601  {"name":"Paint. As Spont. Expression","dept":"Spirituality","short_name":"SPIR 243"},602  {"name":"Indigenous Wisdom Anc. Stories","dept":"Spirituality","short_name":"SPIR 262A"},603  {"name":"Capstone","dept":"Nursing","short_name":"NURS 217B"},604  {"name":"Finance & Budgeting in Health Care","dept":"Nursing","short_name":"NURS 223"},605  {"name":"Human Resource Management & Develop","dept":"Nursing","short_name":"NURS 224"},606  {"name":"Prov Ldrsgip/Hlth Del/Div Pop/Comm II","dept":"Nursing","short_name":"NURS 235"},607  {"name":"Primary Care Family Thru Lifespan I","dept":"Nursing","short_name":"NURS 241"},608  {"name":"Advanced Pharmacology","dept":"Nursing","short_name":"NURS 244"},609  {"name":"Primary Care I","dept":"Nursing","short_name":"NURS 251A"},610  {"name":"Primary Care I Lab","dept":"Nursing","short_name":"NURS 251AL"},611  {"name":"Primary Care II Lab","dept":"Nursing","short_name":"NURS 251BL"},612  {"name":"Primary Care Thru Lifespan III Lab","dept":"Nursing","short_name":"NURS 252L"},613  {"name":"Pri Care Thru Lifespan III","dept":"Nursing","short_name":"NURS 253"},614  {"name":"Theories Of Nursing","dept":"Nursing","short_name":"NURS 261"},615  {"name":"Teaching Strategies","dept":"Nursing","short_name":"NURS 262"},616  {"name":"Clinical Faculty Pract II","dept":"Nursing","short_name":"NURS 265B"},617  {"name":"US: Constitution Prep","dept":"Education","short_name":"EDUC 375"},618  {"name":"Health Education for Teachers","dept":"Education","short_name":"EDUC 393A"},619  {"name":"Role of the Educational Therapist","dept":"Education","short_name":"EDUC 468B"},620  {"name":"Finance and Budgeting in Healthcare","dept":"Nursing","short_name":"NURS 423"},621  {"name":"Human Resource Manage/Develop","dept":"Nursing","short_name":"NURS 424"},622  {"name":"Prov Ldrship/Hlth Dev/Div Pop/Comm II","dept":"Nursing","short_name":"NURS 435"},623  {"name":"Primary Care Family Thru Lifespan I","dept":"Nursing","short_name":"NURS 441"},624  {"name":"Advanced Pharmacology","dept":"Nursing","short_name":"NURS 444"},625  {"name":"Primary Care Family/life:Role Perf I","dept":"Nursing","short_name":"NURS 451A"},626  {"name":"Primary Care I Lab","dept":"Nursing","short_name":"NURS 451AL"},627  {"name":"Primary Care II Lab","dept":"Nursing","short_name":"NURS 451BL"},628  {"name":"Primary Care Thru Lifespan III","dept":"Nursing","short_name":"NURS 452L"},629  {"name":"Primary Care Thru Lifespan IV","dept":"Nursing","short_name":"NURS 453"},630  {"name":"Primary Care Thru Lifespan IV Lab","dept":"Nursing","short_name":"NURS 453L"},631  {"name":"Concepts & Theories","dept":"Nursing","short_name":"NURS 461"},632  {"name":"Teaching Strategies","dept":"Nursing","short_name":"NURS 462"},633  {"name":"Clinical Faculty Practicum II","dept":"Nursing","short_name":"NURS 465B"},634  {"name":"Painting as Spontaneous Expression","dept":"Spirituality","short_name":"SPIR 443"},635  {"name":"IndigenousWisdomThruAncestralStories","dept":"Spirituality","short_name":"SPIR 462A"},...lab.py
Source:lab.py  
1#2# Copyright (c) 2016 Wind River Systems, Inc.3#4# SPDX-License-Identifier: Apache-2.05#6class Labs:7    HP380 = {8        'short_name': 'hp380',9        'name': 'yow-cgcs-hp380-1_4',10        'floating ip': '128.224.150.189',11        'controller-0 ip': '128.224.150.199',12        'controller-1 ip': '128.224.150.129',13        'controller_nodes': [21768, 21769],14        'compute_nodes': [21770, 21771],15        'ixia_ports': [{'port': (3, 15), 'range': (504, 535)},16                       {'port': (3, 16), 'range': (536, 567)}],17    }18    IP_1_4 = {19        'short_name': 'ip_1_4',20        'name': 'yow-cgcs-ironpass-1_4',21        'floating ip': '128.224.151.212',22        'controller-0 ip': '128.224.151.192',23        'controller-1 ip': '128.224.151.193',24        'controller_nodes': [20519, 20520],25        'compute_nodes': [20521, 20522],26        'ixia_ports': [{'port': (3, 9), 'range': (600, 615)},27                       {'port': (3, 10), 'range': (700, 715)}],28    }29    IP_5_6 = {30        'short_name': 'ip_5_6',31        'name': 'yow-cgcs-ironpass-5_6',32        'floating ip': '128.224.151.216',33        'controller-0 ip': '128.224.151.196',34        'controller-1 ip': '128.224.151.197',35        'controller_nodes': [20525, 20526],36        'system_type': 'CPE',37        'system_mode': 'duplex',38        'ixia_ports': [{'port': (3, 7), 'range': (764, 773)},39                       {'port': (3, 8), 'range': (774, 783)}],40    }41    IP_7_12 = {42        'short_name': 'ip_7_12',43        'name': 'yow-cgcs-ironpass-7_12',44        'floating ip': '128.224.151.243',45        'controller-0 ip': '128.224.151.244',46        'controller-1 ip': '128.224.150.205',47        'controller_nodes': [21786, 21788],48        'compute_nodes': [21789, 21791],49        'storage_nodes': [21790, 21787],50        'ixia_ports': [{'port': (3, 3), 'range': (632, 663)},51                       {'port': (3, 4), 'range': (664, 695)}],52    }53    IP_14_17 = {54        'short_name': 'ip_14_17',55        'name': 'yow-cgcs-ironpass-14_17',56        'floating ip': '128.224.150.54',57        'controller-0 ip': '128.224.150.219',58        'controller-1 ip': '128.224.150.212',59        'controller_nodes': [23527, 22348],60        'compute_nodes': [22347, 21784],61        'ixia_ports': [{'port': (3, 11), 'range': (860, 891)},62                       {'port': (3, 12), 'range': (892, 923)}],63    }64    IP_18_19 = {65        'short_name': 'ip_18_19',66        'name': 'yow-cgcs-ironpass-18_19',67        'floating ip': '128.224.150.158',68        'controller-0 ip': '128.224.150.168',69        'controller-1 ip': '128.224.150.169',70        'controller_nodes': [22354, 22357],71        'compute_nodes': [22431, 22432, 22433, 22434],72        'ixia_ports': [{'port': (2, 5), 'range': (1210, 1259)},73                       {'port': (2, 6), 'range': (1260, 1309)}],74    }75    IP_20_27 = {76        'short_name': 'ip_20_27',77        'name': 'yow-cgcs-ironpass-20_27',78        'floating ip': '128.224.151.49',79        'controller-0 ip': '128.224.151.47',80        'controller-1 ip': '128.224.151.48',81        'controller_nodes': [18541, 21758],82        'compute_nodes': [22417, 22418, 21762, 18537],83        'storage_nodes': [18536, 18551],84        'ixia_ports': [{'port': (2, 9), 'range': (1460, 1509)},85                       {'port': (2, 10), 'range': (1560, 1609)}],86    }87    IP_28_30 = {88        'short_name': 'ip_28_30',89        'name': 'yow-cgcs-ironpass-28_30',90        'floating ip': '128.224.150.188',91        'controller-0 ip': '128.224.150.223',92        'controller-1 ip': '128.224.150.179',93        'controller_nodes': [20559],94        'compute_nodes': [20516, 21710],95        'ixia_ports': [{'port': (5, 9), 'range': (2902, 2933)},96                       {'port': (5, 10), 'range': (2966, 3001)}],97    }98    IP_31_32 = {99        'short_name': 'ip_31_32',100        'name': 'yow-cgcs-ironpass-31_32',101        'floating ip': '128.224.150.96',102        'controller-0 ip': '128.224.150.92',103        'controller-1 ip': '128.224.150.22',104        'controller_nodes': [21750, 23964],105        'system_type': 'CPE',106        'system_mode': 'duplex',107        'ixia_ports': [{'port': (6, 1), 'range': (1952, 2001)},108                       {'port': (6, 2), 'range': (2002, 2051)}],109    }110    IP_33_36 = {111        'short_name': 'ip_33_36',112        'name': 'yow-cgcs-ironpass-33_36',113        'floating ip': '128.224.150.215',114        'controller-0 ip': '128.224.150.32',115        'controller-1 ip': '128.224.151.148',116        'controller_nodes': [20509, 20550],117        'compute_nodes': [21720, 21721],118        'ixia_ports': [{'port': (6, 3), 'range': (2052, 2101)},119                       {'port': (6, 4), 'range': (2102, 2151)}],120    }121    IP_37_40 = {122        'short_name': 'ip_37_40',123        'name': 'yow-cgcs-ironpass-37_40',124        'floating ip': '128.224.150.89',125        'controller-0 ip': '128.224.150.175',126        'controller-1 ip': '128.224.150.93',127        'controller_nodes': [20551, 21778],128        'compute_nodes': [21723, 22487]129    }130    ML350_1 = {131        'short_name': 'ml350_1',132        'name': 'yow-cgcs-ml350-g10-1',133        'floating ip': '128.224.151.181',134        'controller-0 ip': '128.224.151.181',135        'controller_nodes': [55836],136    }137    PV0 = {138        'short_name': 'pv0',139        'name': 'yow-cgcs-pv-0',140        'floating ip': '128.224.150.73',141        'controller-0 ip': '128.224.150.26',142        'controller-1 ip': '128.224.150.28',143        'controller_nodes': [22715, 22716],144        'compute_nodes': [22719, 22720, 23915, 22722],145        'storage_nodes': [23954, 23955, 23916, 22717, 22718, 22721],146        'ixia_ports': [{'port': (5, 1), 'range': (1852, 1884)},147                       {'port': (5, 2), 'range': (1918, 1951)}],148    }149    PV0_AIO_Plus = {150        'short_name': 'pv0_aio_plus',151        'name': 'yow-cgcs-pv-0_aio_plus',152        'floating ip': '128.224.150.73',153        'controller-0 ip': '128.224.150.26',154        'controller-1 ip': '128.224.150.28',155        'controller_nodes': [22715, 22716],156        'system_type': 'AIO_PLUS',157        'system_mode': 'duplex',158        'compute_nodes': [22719, 22720, 23915, 22722],159        'unused_nodes': [23954, 23955, 23916, 22717, 22718, 22721],160        'ixia_ports': [{'port': (5, 1), 'range': (1852, 1884)},161                       {'port': (5, 2), 'range': (1918, 1951)}],162    }163    PV0_AIO_Plus_10 = {164        'short_name': 'pv0_aio_plus_10',165        'name': 'yow-cgcs-pv-0_aio_plus_10',166        'floating ip': '128.224.150.73',167        'controller-0 ip': '128.224.150.26',168        'controller-1 ip': '128.224.150.28',169        'controller_nodes': [22715, 22716],170        'system_type': 'AIO_PLUS',171        'system_mode': 'duplex',172        'compute_nodes': [22719, 22720, 23915, 22722, 23954, 23955, 23916, 22717, 22718, 22721],173        'ixia_ports': [{'port': (5, 1), 'range': (1852, 1884)},174                       {'port': (5, 2), 'range': (1918, 1951)}],175    }176    PV1 = {177        'short_name': 'pv1',178        'name': 'yow-cgcs-pv-1',179        'floating ip': '128.224.151.182',180        'controller-0 ip': '128.224.151.198',181        'controller-1 ip': '128.224.151.199',182        'controller_nodes': [23136, 23138],183        'compute_nodes': [23147, 23146, 23140, 23143, 23139, 23141, 23142,184                          23096],185        'storage_nodes': [23135, 23137],186        'tpm_installed': True,187    }188    PV1_2 = {189        'short_name': 'pv1_2',190        'name': 'yow-cgcs-pv-1_2',191        'floating ip': '128.224.151.182',192        'controller-0 ip': '128.224.151.198',193        'controller-1 ip': '128.224.151.199',194        'controller_nodes': [23136, 23138],195        'compute_nodes': [23135, 23137, 23140, 23143, 23139, 23141, 23142,196                          23146, 23147, 23096]197    }198    PV2 = {199        'short_name': 'pv2',200        'name': 'yow-cgcs-pv-2',201        'floating ip': '128.224.151.225',202        'controller-0 ip': '128.224.151.223',203        'controller-1 ip': '128.224.151.224',204    }205    R720_1_2 = {206        'short_name': 'r720_1_2',207        'name': 'yow-cgcs-r720-1_2',208        'floating ip': '128.224.150.141',209        'controller-0 ip': '128.224.150.130',210        'controller-1 ip': '128.224.150.106',211        # 'controller_nodes': [22351, 22352],212        'controller_nodes': [22352, 22351],213        'system_type': 'CPE',214        'system_mode': 'duplex',215        'ixia_ports': [{'port': (2, 11), 'range': (1660, 1691)},216                       {'port': (2, 12), 'range': (1724, 1755)}],217    }218    R720_3_7 = {219        'short_name': 'r720_3_7',220        'name': 'yow-cgcs-r720-3_7',221        'floating ip': '128.224.150.142',222        'controller-0 ip': '128.224.151.35',223        'controller-1 ip': '128.224.151.36',224        'controller_nodes': [21805, 21806],225        'compute_nodes': [21763, 21764, 21765],226        'ixia_ports': [{'port': (2, 13), 'range': (1756, 1787)},227                       {'port': (2, 14), 'range': (1820, 1851)}],228    }229    R730_1 = {230        'short_name': 'r730_1',231        'name': 'yow-cgcs-r730-1',232        'floating ip': '128.224.150.121',233        'controller-0 ip': '128.224.150.121',234        'controller_nodes': [67160],235        'system_type': 'CPE',236        'system_mode': 'simplex',237    }238    R430_1_2 = {239        'short_name': 'r430_1_2',240        'name': 'yow-cgcs-r430-1_2',241        'floating ip': '128.224.150.49',242        'controller-0 ip': '128.224.150.48',243        'controller-1 ip': '128.224.150.52',244        'controller_nodes': [23512, 23513],245        'system_type': 'CPE',246        'system_mode': 'duplex',247        'tpm_installed': True,248        'ixia_ports': [{'port': (2, 7), 'range': (3002, 3151)}],249    }250    R430_3_4 = {251        'short_name': 'r430_3_4',252        'name': 'yow-cgcs-r430-3_4',253        'floating ip': '128.224.150.11',254        'controller-0 ip': '128.224.150.8',255        'controller-1 ip': '128.224.150.9',256        'controller_nodes': [32077, 71451],257        'system_type': 'CPE',258        'system_mode': 'duplex',259    }260    SM_1 = {261        'short_name': 'sm_1',262        'name': 'yow-cgcs-supermicro-1',263        'floating ip': '128.224.150.221',264        'controller-0 ip': '128.224.150.221',265        'controller_nodes': [46808],266        'system_type': 'CPE',267        'system_mode': 'simplex',268        'ixia_ports': [{'port': (1, 1), 'range': (600, 633)},269                       {'port': (1, 2), 'range': (667, 699)}],270    }271    SM_2 = {272        'short_name': 'sm_2',273        'name': 'yow-cgcs-supermicro-2',274        'floating ip': '128.224.150.222',275        'controller-0 ip': '128.224.150.222',276        'controller_nodes': [23907],277        'system_type': 'CPE',278        'system_mode': 'simplex',279        'ixia_ports': [{'port': (1, 3), 'range': (734, 766)},280                       {'port': (1, 4), 'range': (767, 799)}],281    }282    SM_3 = {283        'short_name': 'sm_3',284        'name': 'yow-cgcs-supermicro-3',285        'floating ip': '128.224.150.81',286        'controller-0 ip': '128.224.150.81',287        'controller_nodes': [23514],288        'system_type': 'CPE',289        'system_mode': 'simplex',290        'ixia_ports': [{'port': (6, 9), 'range': (600, 649)},291                       {'port': (6, 10), 'range': (700, 749)}],292    }293    SM_4 = {294        'short_name': 'sm_4',295        'name': 'yow-cgcs-supermicro-4',296        'floating ip': '128.224.150.83',297        'controller-0 ip': '128.224.150.83',298        'controller_nodes': [23515],299        'system_type': 'CPE',300        'system_mode': 'simplex',301    }302    SM_5_6 = {303        'short_name': 'sm_5_6',304        'name': 'yow-cgcs-supermicro-5_6',305        'floating ip': '128.224.151.54',306        'controller-0 ip': '128.224.150.84',307        'controller-1 ip': '128.224.150.56',308        'controller_nodes': [23516, 23517],309        'system_type': 'CPE',310        'system_mode': 'duplex',311    }312    SM_5_8 = {313        'short_name': 'sm_5_8',314        'name': 'yow-cgcs-supermicro-5_8',315        'floating ip': '128.224.151.54',316        'controller-0 ip': '128.224.150.84',317        'controller-1 ip': '128.224.150.56',318        'controller_nodes': [23516, 23517],319        'compute_nodes': [38294],320    }321    WCP_3_6 = {322        'short_name': 'wcp_3_6',323        'name': 'yow-cgcs-wildcat-3_6',324        'floating ip': '128.224.151.227',325        'controller-0 ip': '128.224.150.69',326        'controller-1 ip': '128.224.150.70',327        'controller_nodes': [23198, 23199],328        'compute_nodes': [23200, 23201],329        'ixia_ports': [{'port': (5, 5), 'range': (2252, 2284)},330                       {'port': (5, 6), 'range': (2318, 2350)}],331    }332    WCP_7_12 = {333        'short_name': 'wcp_7_12',334        'name': 'yow-cgcs-wildcat-7_12',335        'floating ip': '128.224.151.228',336        'controller-0 ip': '128.224.150.220',337        'controller-1 ip': '128.224.150.231',338        'controller_nodes': [23202, 23203],339        'compute_nodes': [23206, 23207],340        'storage_nodes': [23204, 23205],341        'ixia_ports': [{'port': (5, 11), 'range': (2352, 2384)},342                       {'port': (5, 12), 'range': (2418, 2451)}],343    }344    WCP_13_14 = {345        'short_name': 'wcp_13_14',346        'name': 'yow-cgcs-wildcat-13_14',347        'floating ip': '128.224.151.229',348        'controller-0 ip': '128.224.150.133',349        'controller-1 ip': '128.224.150.136',350        'controller_nodes': [23213, 23214],351        'system_type': 'CPE',352        'system_mode': 'duplex',353    }354    WCP_13 = {355        'short_name': 'wcp_13',356        'name': 'yow-cgcs-wildcat-13',357        'floating ip': '128.224.150.133',358        'controller-0 ip': '128.224.150.133',359        'controller_nodes': [23213],360        'ixia_ports': [{'port': (5, 13), 'range': (2452, 2484)},361                       {'port': (5, 14), 'range': (2518, 2551)}],362    }363    WCP_14 = {364        'short_name': 'wcp_14',365        'name': 'yow-cgcs-wildcat-14',366        'floating ip': '128.224.150.136',367        'controller-0 ip': '128.224.150.136',368        'controller_nodes': [23214],369        'ixia_ports': [{'port': (3, 1), 'range': (733, 741)},370                       {'port': (3, 2), 'range': (743, 751)}],371    }372    WCP_15_22 = {373        'short_name': 'wcp_15_22',374        'name': 'yow-cgcs-wildcat-15_22',375        'floating ip': '128.224.151.230',376        'controller-0 ip': '128.224.150.140',377        'controller-1 ip': '128.224.150.180',378        'controller_nodes': [23215, 23216],379        'compute_nodes': [23219, 23220, 23221, 23222],380        'storage_nodes': [23217, 23218],381        'ixia_ports': [{'port': (5, 15), 'range': (2552, 2584)},382                       {'port': (5, 16), 'range': (2618, 2651)}],383    }384    WCP_35_60 = {385        'short_name': 'wcp_35_60',386        'name': 'yow-cgcs-wildcat-35_60',387        'floating ip': '128.224.150.234',388        'controller-0 ip': '128.224.150.232',389        'controller-1 ip': '128.224.150.233',390        'controller_nodes': [23268, 23267],391        'compute_nodes': [23258, 23257, 23256, 23255, 23254, 23253, 23252,392                          23251, 23250, 23249, 23248, 23247, 23246, 23245,393                          23244, 23243, 23262, 23261, 23260, 23259],394        'storage_nodes': [23264, 23263, 23266, 23265],395        'ixia_ports': [{'port': (7, 1), 'range': (3002, 3051)},396                       {'port': (7, 2), 'range': (3002, 3051)},397                       {'port': (7, 3), 'range': (3101, 3151)},398                       {'port': (7, 4), 'range': (3101, 3151)}],399    }400    WCP_35_60_2plus20 = {401        'short_name': 'wcp_35_60_2plus20',402        'name': 'yow-cgcs-wildcat-35_60_2plus20',403        'floating ip': '128.224.150.234',404        'controller-0 ip': '128.224.150.232',405        'controller-1 ip': '128.224.150.233',406        'controller_nodes': [23268, 23267],407        'compute_nodes': [23258, 23257, 23256, 23255, 23254, 23253, 23252,408                          23251, 23250, 23249, 23248, 23247, 23246, 23245,409                          23244, 23243, 23262, 23261, 23260, 23259],410        'ixia_ports': [{'port': (7, 1), 'range': (3002, 3051)},411                       {'port': (7, 2), 'range': (3002, 3051)},412                       {'port': (7, 3), 'range': (3101, 3151)},413                       {'port': (7, 4), 'range': (3101, 3151)}],414    }415    WCP_35_50 = {416        'short_name': 'wcp_35_50',417        'name': 'yow-cgcs-wildcat-35_50',418        'floating ip': '128.224.150.234',419        'controller-0 ip': '128.224.150.232',420        'controller-1 ip': '128.224.150.233',421        'controller_nodes': [23268, 23267],422        'compute_nodes': [23258, 23257, 23256, 23255, 23254, 23253, 23252,423                          23251, 23250, 23249],424        'ixia_ports': [{'port': (7, 1), 'range': (3002, 3051)},425                       {'port': (7, 2), 'range': (3002, 3051)},426                       {'port': (7, 3), 'range': (3101, 3151)},427                       {'port': (7, 4), 'range': (3101, 3151)}],428    }429    WCP_61_62 = {430        'short_name': 'wcp_61_62',431        'name': 'yow-cgcs-wildcat-61_62',432        'floating ip': '128.224.151.82',433        'controller-0 ip': '128.224.151.80',434        'controller-1 ip': '128.224.151.81',435        'controller_nodes': [23280, 23281],436        'system_type': 'CPE',437        'system_mode': 'duplex',438        'ixia_ports': [{'port': (8, 5), 'range': (600, 649)},439                       {'port': (8, 6), 'range': (700, 749)}],440    }441    WCP_63_66 = {442        'short_name': 'wcp_63_66',443        'name': 'yow-cgcs-wildcat-63_66',444        'floating ip': '128.224.151.85',445        'controller-0 ip': '128.224.151.83',446        'controller-1 ip': '128.224.151.84',447        'controller_nodes': [23282, 23283],448        'compute_nodes': [23284, 23285],449        'tpm_installed': True,450        'ixia_ports': [{'port': (8, 9), 'range': (750, 799)},451                       {'port': (8, 10), 'range': (850, 899)}],452    }453    WCP_67 = {454        'short_name': 'wcp_67',455        'name': 'yow-cgcs-wildcat-67',456        'floating ip': '128.224.151.33',457        'controller-0 ip': '128.224.151.33',458        'controller_nodes': [23286],459        'system_type': 'CPE',460        'system_mode': 'simplex',461        'ixia_ports': [{'port': (8, 1), 'range': (2703, 2752)},462                       {'port': (8, 2), 'range': (2802, 2851)}],463    }464    WCP_68 = {465        'short_name': 'wcp_68',466        'name': 'yow-cgcs-wildcat-68',467        'floating ip': '128.224.151.38',468        'controller-0 ip': '128.224.151.38',469        'controller_nodes': [23287],470        'system_type': 'CPE',471        'system_mode': 'simplex',472        'tpm_installed': True,473    }474    WCP_69_70 = {475        'short_name': 'wcp_69_70',476        'name': 'yow-cgcs-wildcat-69_70',477        'floating ip': '128.224.151.241',478        'controller-0 ip': '128.224.151.240',479        'controller-1 ip': '128.224.151.253',480        'controller_nodes': [23288, 23289],481        'system_type': 'CPE',482        'system_mode': 'duplex',483        'tpm_installed': True,484    }485    WCP_71_75 = {486        'short_name': 'wcp_71_75',487        'name': 'yow-cgcs-wildcat-71_75',488        'floating ip': '128.224.151.218',489        'controller-0 ip': '128.224.151.215',490        'controller-1 ip': '128.224.151.24',491        'controller_nodes': [23271, 23272],492        'compute_nodes': [23273, 23274, 23275],493        'tpm_installed': True,494        'ixia_ports': [{'port': (7, 5), 'range': (3152, 3201)},495                       {'port': (7, 6), 'range': (3252, 3301)}],496    }497    WCP_76_77 = {498        'short_name': 'wcp_76_77',499        'name': 'yow-cgcs-wildcat-76_77',500        'floating ip': '128.224.150.5',501        'controller-0 ip': '128.224.150.3',502        'controller-1 ip': '128.224.150.4',503        'controller_nodes': [23276, 23277],504        'system_type': 'CPE',505        'system_mode': 'duplex',506        'tpm_installed': True,507        'ixia_ports': [{'port': (7, 7), 'range': (3302, 3351)},508                       {'port': (7, 8), 'range': (3402, 3451)}],509    }510    WCP_78_79 = {511        'short_name': 'wcp_78_79',512        'name': 'yow-cgcs-wildcat-78_79',513        'floating ip': '128.224.151.237',514        'controller-0 ip': '128.224.151.235',515        'controller-1 ip': '128.224.151.236',516        'controller_nodes': [23278, 23279],517        'system_type': 'CPE',518        'system_mode': 'duplex',519        'tpm_installed': True,520        'ixia_ports': [{'port': (7, 9), 'range': (3452, 3501)},521                       {'port': (7, 10), 'range': (3552, 3601)}],522    }523    WCP_80_84 = {524        'short_name': 'wcp_80_84',525        'name': 'yow-cgcs-wildcat-80_84',526        'floating ip': '128.224.150.18',527        'controller-0 ip': '128.224.150.14',528        'controller-1 ip': '128.224.150.156',529        'controller_nodes': [23318, 23319],530        'compute_nodes': [23320, 23321, 23322],531        'ixia_ports': [{'port': (7, 11), 'range': (3602, 3651)},532                       {'port': (7, 12), 'range': (3702, 3751)}],533        'boot_device_dict': {534            'controller-0': '0300', 'controller-1': '0500',535            'compute-0': 'UEFI IPv4: Intel Network 00 at Riser 01 Slot 01',536            'compute-1': 'UEFI IPv4: Intel Network 00 at Riser 01 Slot 01',537            'compute-2': 'UEFI IPv4: Intel Network 00 at Riser 01 Slot 01'},538    }539    WCP_82_83 = {540        'short_name': 'wcp_82_83',541        'name': 'yow-cgcs-wildcat-82_83',542        'floating ip': '128.224.151.95',543        'controller-0 ip': '128.224.151.96',544        'controller-1 ip': '128.224.151.97',545        'controller_nodes': [23320, 23321],546        'boot_device_dict': {'controller-0': '0300', 'controller-1': '0400'},547    }548    WCP_84 = {549        'short_name': 'wcp_84',550        'name': 'yow-cgcs-wildcat-84',551        'floating ip': '128.224.151.4',552        'controller-0 ip': '128.224.151.4',553        'controller_nodes': [23322],554        'boot_device_dict': {'controller-0': '0300'},555    }556    WCP_85_89 = {557        'short_name': 'wcp_85_89',558        'name': 'yow-cgcs-wildcat-85_89',559        'floating ip': '128.224.150.224',560        'controller-0 ip': '128.224.150.244',561        'controller-1 ip': '128.224.150.202',562        'controller_nodes': [23323, 23324],563        'compute_nodes': [23325, 23326, 23327],564        'ixia_ports': [{'port': (7, 13), 'range': (3752, 3801)},565                       {'port': (7, 14), 'range': (3852, 3901)}],566    }567    WCP_85_86 = {568        'short_name': 'wcp_85_86',569        'name': 'yow-cgcs-wildcat-85_86',570        'floating ip': '128.224.150.224',571        'controller-0 ip': '128.224.150.244',572        'controller-1 ip': '128.224.150.202',573        'controller_nodes': [23323, 23324],574        'boot_device_dict': {'controller-0': '0300', 'controller-1': '0500'},575    }576    WCP_87_88 = {577        'short_name': 'wcp_87_88',578        'name': 'yow-cgcs-wildcat-87_88',579        'floating ip': '128.224.151.66',580        'controller-0 ip': '128.224.151.86',581        'controller-1 ip': '128.224.151.229',582        'controller_nodes': [23325, 23326],583        'boot_device_dict': {'controller-0': '0300', 'controller-1': '0500'},584    }585    WCP_89 = {586        'short_name': 'wcp_89',587        'name': 'yow-cgcs-wildcat-89',588        'floating ip': '128.224.151.2',589        'controller-0 ip': '128.224.151.2',590        'controller_nodes': [23327],591        'boot_device_dict': {'controller-0': '0300'}592    }593    WCP_90_91 = {594        'short_name': 'wcp_90_91',595        'name': 'yow-cgcs-wildcat-90_91',596        'floating ip': '128.224.151.162',597        'controller-0 ip': '128.224.151.151',598        'controller-1 ip': '128.224.151.153',599        'controller_nodes': [23328, 23329],600        'system_type': 'CPE',601        'system_mode': 'duplex',602        'tpm_installed': True,603        'ixia_ports': [{'port': (7, 15), 'range': (301, 350)},604                       {'port': (7, 16), 'range': (401, 450)}],605        'boot_device_dict': {'controller-0': '0300', 'controller-1': '8100'},606    }607    WCP_92_98 = {608        'short_name': 'wcp_92_98',609        'name': 'yow-cgcs-wildcat-92_98',610        'floating ip': '128.224.151.15',611        'controller-0 ip': '128.224.151.111',612        'controller-1 ip': '128.224.151.205',613        'controller_nodes': [23299, 23300],614        'compute_nodes': [23303, 23301, 23302],615        'storage_nodes': [23304, 23305],616        'ixia_ports': [{'port': (6, 5), 'range': (3301, 3351)},617                       {'port': (6, 6), 'range': (3402, 3451)}],618    }619    WCP_99_103 = {620        'short_name': 'wcp_99_103',621        'name': 'yow-cgcs-wildcat-99_103',622        'floating ip': '128.224.151.94',623        'controller-0 ip': '128.224.151.11',624        'controller-1 ip': '128.224.151.13',625        'controller_nodes': [23312, 23313],626        'compute_nodes': [23314, 23315, 23316],627        'tpm_installed': True,628        'ixia_ports': [{'port': (6, 7), 'range': (3452, 3501)},629                       {'port': (6, 8), 'range': (3552, 3601)}],630    }631    WCP_105 = {632        'short_name': 'wcp_105',633        'name': 'yow-cgcs-wildcat-105',634        'floating ip': '128.224.150.137',635        'controller-0 ip': '128.224.150.137',636        'controller_nodes': [23290],637        'system_type': 'CPE',638        'system_mode': 'simplex',639        'ixia_ports': [{'port': (6, 11), 'range': (3152, 3201)},640                       {'port': (6, 12), 'range': (3252, 3301)}],641    }642    WCP_106 = {643        'short_name': 'wcp_106',644        'name': 'yow-cgcs-wildcat-106',645        'floating ip': '128.224.150.94',646        'controller-0 ip': '128.224.150.94',647        'controller_nodes': [23601],648        'system_type': 'CPE',649        'system_mode': 'simplex',650        'ixia_ports': [{'port': (8, 13), 'range': (900, 999)},651                       {'port': (8, 14), 'range': (1000, 1049)}],652    }653    WCP_111 = {654        'short_name': 'wcp_111',655        'name': 'yow-cgcs-wildcat-111',656        'floating ip': '128.224.151.57',657        'controller-0 ip': '128.224.151.57',658        'controller_nodes': [23600],659        'system_type': 'CPE',660        'system_mode': 'simplex',661    }662    WCP_112 = {663        'short_name': 'wcp_112',664        'name': 'yow-cgcs-wildcat-112',665        'floating ip': '128.224.150.148',666        'controller-0 ip': '128.224.150.148',667        'controller_nodes': [95980],668        'system_type': 'CPE',669        'system_mode': 'simplex',670    }671    WCP_113_121 = {672        'short_name': 'wcp_113_121',673        'name': 'yow-cgcs-wildcat-113_121',674        'floating ip': '128.224.150.45',675        'controller-0 ip': '128.224.150.191',676        'controller-1 ip': '128.224.150.57',677        'controller_nodes': [31701, 19174],678        'compute_nodes': [11182, 47720, 56027, 28212, 33598],679        'storage_nodes': [11507, 47400],680    }681    WCP_122 = {682        'short_name': 'wcp_122',683        'name': 'yow-cgcs-wildcat-122',684        'floating ip': '128.224.151.170',685        'controller-0 ip': '128.224.151.170',686        'controller_nodes': [64873],687        'system_type': 'CPE',688        'system_mode': 'simplex',689    }690    ML350_G10 = {691        'short_name': 'ml350_g10',692        'name': 'yow-cgcs-ml350-g10-1',693        'floating ip': '128.224.151.181',694        'controller-0 ip': '128.224.151.181',695        'controller_nodes': [55836],696        'system_type': 'CPE',697        'system_mode': 'simplex',698    }699    WP_1_2 = {700        'short_name': 'wp_1_2',701        'name': 'yow-cgcs-wolfpass-01_02',702        'floating ip': '128.224.150.254',703        'controller-0 ip': '128.224.150.155',704        'controller-1 ip': '128.224.150.198',705        'controller_nodes': [62031, 29957],706        'system_type': 'CPE',707        'system_mode': 'duplex',708        'ixia_ports': [{'port': (8, 7), 'range': (1700, 1799)},709                       {'port': (8, 8), 'range': (1800, 1849)}],710    }711    WP_3_7 = {712        'short_name': 'wp_3_7',713        'name': 'yow-cgcs-wolfpass-03_07',714        'floating ip': '128.224.151.165',715        'controller-0 ip': '128.224.151.163',716        'controller-1 ip': '128.224.151.166',717        'controller_nodes': [98522, 81712],718        'compute_nodes': [94867, 18658, 40810],719    }720    WP_8_12 = {721        'short_name': 'wp_8_12',722        'name': 'yow-cgcs-wolfpass-08_12',723        'floating ip': '128.224.150.149',724        'controller-0 ip': '128.224.150.200',725        'controller-1 ip': '128.224.150.190',726        'controller_nodes': [28894, 36242],727        'compute_nodes': [67712, 94178, 80778],728    }729    WP_13_14 = {730        'short_name': 'wp_13_14',731        'name': 'yow-cgcs-wolfpass-13_14',732        'floating ip': '128.224.150.165',733        'controller-0 ip': '128.224.150.164',734        'controller-1 ip': '128.224.150.236',735        'controller_nodes': [37879, 77147],736        'system_type': 'CPE',737        'system_mode': 'duplex',738    }739    WP_15 = {740        'short_name': 'wp_15',741        'name': 'yow-cgcs-wolfpass-15',742        'floating ip': '128.224.150.245',743        'controller-0 ip': '128.224.150.245',744        'controller_nodes': [59865],745        'system_type': 'CPE',746        'system_mode': 'simplex',747    }748    WP_16_17 = {749        'short_name': 'wp_16_17',750        'name': 'yow-cgcs-wolfpass-16_17',751        'floating ip': '128.224.150.248',752        'controller-0 ip': '128.224.150.247',753        'controller-1 ip': '128.224.150.251',754        'controller_nodes': [98812, 32981],755        'system_type': 'CPE',756        'system_mode': 'duplex',757    }758    WP_22_24 = {759        'short_name': 'wp_22_24',760        'name': 'yow-cgcs-wolfpass-22_24',761        'floating ip': '128.224.151.243',762        'controller-0 ip': '128.224.151.242',763        'controller-1 ip': '128.224.151.155',764        'controller_nodes': [27560, 60807],765        'compute_nodes': [43267],766        'system_type': 'AIO_PLUS',767        'system_mode': 'duplex',768    }769    WP_25 = {770        'short_name': 'wp_25',771        'name': 'yow-cgcs-wolfpass-25',772        'floating ip': '128.224.151.67',773        'controller-0 ip': '128.224.151.67',774        'controller_nodes': [65814],775        'system_type': 'CPE',776        'system_mode': 'simplex',777    }778    WP_26 = {779        'short_name': 'wp_26',780        'name': 'yow-cgcs-wolfpass-26',781        'floating ip': '128.224.151.68',782        'controller-0 ip': '128.224.151.68',783        'controller_nodes': [39680],784        'system_type': 'CPE',785        'system_mode': 'simplex',786    }787    WP_27 = {788        'short_name': 'wp_27',789        'name': 'yow-cgcs-wolfpass-27',790        'floating ip': '128.224.151.178',791        'controller-0 ip': '128.224.151.178',792        'controller_nodes': [95641],793        'system_type': 'CPE',794        'system_mode': 'simplex',795    }796    WP_28 = {797        'short_name': 'wp_28',798        'name': 'yow-cgcs-wolfpass-28',799        'floating ip': '128.224.151.220',800        'controller-0 ip': '128.224.151.220',801        'controller_nodes': [51440],802        'system_type': 'CPE',803        'system_mode': 'simplex',804    }805    WP_29 = {806        'short_name': 'wp_29',807        'name': 'yow-cgcs-wolfpass-29',808        'floating ip': '128.224.151.251',809        'controller-0 ip': '128.224.151.251',810        'controller_nodes': [58383],811        'system_type': 'CPE',812        'system_mode': 'simplex',813    }814    WP_30 = {815        'short_name': 'wp_30',816        'name': 'yow-cgcs-wolfpass-30',817        'floating ip': '128.224.151.204',818        'controller-0 ip': '128.224.151.204',819        'controller_nodes': [90797],820        'system_type': 'CPE',821        'system_mode': 'simplex',822    }823    WP_31 = {824        'short_name': 'wp_31',825        'name': 'yow-cgcs-wolfpass-31',826        'floating ip': '128.224.151.179',827        'controller-0 ip': '128.224.151.179',828        'controller_nodes': [13820],829        'system_type': 'CPE',830        'system_mode': 'simplex',831    }832    WP_32 = {833        'short_name': 'wp_32',834        'name': 'yow-cgcs-wolfpass-32',835        'floating ip': '128.224.151.152',836        'controller-0 ip': '128.224.151.152',837        'controller_nodes': [20106],838        'system_type': 'CPE',839        'system_mode': 'simplex',840    }841    WP_33 = {842        'short_name': 'wp_33',843        'name': 'yow-cgcs-wolfpass-33',844        'floating ip': '128.224.151.203',845        'controller-0 ip': '128.224.151.203',846        'controller_nodes': [73614],847        'system_type': 'CPE',848        'system_mode': 'simplex',849    }850    WP_34 = {851        'short_name': 'wp_34',852        'name': 'yow-cgcs-wolfpass-34',853        'floating ip': '128.224.151.190',854        'controller-0 ip': '128.224.151.190',855        'controller_nodes': [58338],856        'system_type': 'CPE',857        'system_mode': 'simplex',858    }859    VBOX_CENTRAL = {860        'short_name': 'sys_cont',861        'name': 'SystemController',862        'floating ip': '10.10.10.3',863        'controller-0 ip': '10.10.10.4',864        'controller-1 ip': '10.10.10.5',865        'system_type': 'CPE',866        'system_mode': 'duplex',867        'tpm_installed': True,868        'ixia_ports': [{'port': (7, 15), 'range': (301, 350)},869                       {'port': (7, 16), 'range': (401, 450)}],870    }871    SUB1 = {872         'short_name': 'sub1',873        'name': 'subcloud1',874        'floating ip': '10.10.50.3',875        'controller-0 ip': '10.10.50.4',876        'controller-1 ip': '10.10.50.5',877        'system_type': 'CPE',878        'system_mode': 'duplex',879        'tpm_installed': True,880        'ixia_ports': [{'port': (7, 15), 'range': (301, 350)},881                       {'port': (7, 16), 'range': (401, 450)}],882    }883    VBOX = {884        'short_name': 'vbox',885        'name': 'vbox',886        'floating ip': VBOX_CENTRAL['floating ip'],887        'central_region': VBOX_CENTRAL,888        'subcloud1': SUB1889    }890    VBOX_1 = {891        'short_name': 'vbox_1',892        'name': 'yow-cgcs-vbox-1',893        'floating ip': '10.10.10.2',894        'controller-0 ip': '10.10.10.3',895        'controller-1 ip': '10.10.10.4',896        'controller_nodes': [0, 1],897        'compute_nodes': [0, 1]898    }899    VBOX_2 = {900        'short_name': 'vbox_2',901        'name': 'yow-cgcs-vbox-2',902        'floating ip': '10.10.10.5',903        'controller-0 ip': '10.10.10.6',904        'controller-1 ip': '10.10.10.7',905        'controller_nodes': [0, 1],906        'compute_nodes': [0, 1],907        'storage_nodes': [0, 1]908    }909    VBOX_3 = {910        'short_name': 'vbox_3',911        'name': 'yow-cgcs-vbox-3',912        'floating ip': '10.10.10.8',913        'controller-0 ip': '10.10.10.9',914        'controller-1 ip': '10.10.10.10',915        'controller_nodes': [0, 1],916        'compute_nodes': [0, 1],917    }918    VBOX_4 = {919        'short_name': 'vbox_4',920        'name': 'yow-cgcs-vbox-4',921        'floating ip': '10.10.10.11',922        'controller-0 ip': '10.10.10.12',923        'controller-1 ip': '10.10.10.13',924        'controller_nodes': [0, 1],925    }926    LARGE_OFFICE = {927        'short_name': 'large_office',928        'name': 'large office',929        'floating ip': '',930        'controller-0 ip': ''931    }932    # Lab to select for auto install a custom system933    CUSTOM = {934        'short_name': 'custom',935        'name': 'custom',936        'floating ip': '',937        'controller-0 ip': '',938        'controller-1 ip': '',939        'controller_nodes': [],940        'compute_nodes': [],941        'storage_nodes': []942    }943    # Distributed Cloud-1944    WCP_80_91 = {945        'short_name': 'wcp_80_91',946        'name': 'yow-cgcs-distributed_cloud-1',947        'floating ip': WCP_90_91['floating ip'],948        'central_region': WCP_90_91,949        'subcloud1': WCP_80_84,     # wcp80-81(84)950        'subcloud2': WCP_82_83,     # wcp82-83951        'subcloud3': WCP_84,      # wcp84952        'subcloud4': WCP_85_86,953        'subcloud5': WCP_87_88,954        'subcloud6': WCP_89,955    }956    # Distributed Cloud-2957    WP_22_34 = {958        'short_name': 'wp_22_34',959        'name': 'yow-cgcs-distributed_cloud-2',960        'floating ip': WP_22_24['floating ip'],961        'central_region': WP_22_24,962        'subcloud1': WP_27,963        'subcloud2': WP_28,964        'subcloud3': WP_29,965        'subcloud4': WP_30,966        'subcloud5': WP_31,967        'subcloud6': WP_32,968        'subcloud7': WP_33,969        'subcloud8': WP_34,970        'subcloud9': WP_25,971        'subcloud10': WP_26972    }973    NO_LAB = None974def update_lab(lab_dict_name=None, lab_name=None, floating_ip=None, **kwargs):975    """976    Update/Add lab dict params for specified lab977    Args:978        lab_dict_name (str|None):979        lab_name (str|None): lab short_name. This is used only if980        lab_dict_name is not specified981        floating_ip (str|None):982        **kwargs: Some possible keys: subcloud1, name, etc983    Returns (dict): updated lab dict984    """985    if not lab_name and not lab_dict_name:986        from consts.proj_vars import ProjVar987        lab_name = ProjVar.get_var('LAB').get('short_name', None)988        if not lab_name:989            raise ValueError("lab_dict_name or lab_name needs to be specified")990    if floating_ip:991        kwargs.update(**{'floating ip': floating_ip})992    if not kwargs:993        raise ValueError("Please specify floating_ip and/or kwargs")994    if not lab_dict_name:995        attr_names = [attr for attr in dir(Labs) if not attr.startswith('__')]996        lab_names = [getattr(Labs, attr).get('short_name') for attr in997                     attr_names]998        lab_index = lab_names.index(lab_name.lower().strip())999        lab_dict_name = attr_names[lab_index]1000    else:1001        lab_dict_name = lab_dict_name.upper().replace('-', '_')1002    lab_dict = getattr(Labs, lab_dict_name)1003    lab_dict.update(kwargs)1004    return lab_dict1005def get_lab_dict(lab, key='short_name'):1006    """1007    Args:1008        lab: lab name or fip1009        key: unique identifier to locate a lab. Valid values: short_name,1010        name, floating ip1011    Returns (dict|None): lab dict or None if no matching lab found1012    """1013    __lab_attr_list = [attr for attr in dir(Labs) if not attr.startswith('__')]1014    __lab_list = [getattr(Labs, attr) for attr in __lab_attr_list]1015    __lab_list = [lab for lab in __lab_list if isinstance(lab, dict)]1016    lab_info = None1017    for lab_ in __lab_list:1018        if lab.lower().replace('-', '_') == lab_.get(key).lower().\1019                replace('-', '_'):1020            lab_info = lab_1021            break1022    return lab_info1023def add_lab_entry(floating_ip, dict_name=None, short_name=None, name=None,1024                  **kwargs):1025    """1026    Add a new lab dictionary to Labs class1027    Args:1028        floating_ip (str): floating ip of a lab to be added1029        dict_name: name of the entry, such as 'PV0'1030        short_name: short name of the TiS system, such as ip_1_41031        name: name of the TiS system, such as 'yow-cgcs-pv-0'1032        **kwargs: other information of the lab such as controllers' ips, etc1033    Returns:1034        dict: lab dict added to Labs class1035    """1036    for attr in dir(Labs):1037        lab = getattr(Labs, attr)1038        if isinstance(lab, dict):1039            if lab['floating ip'] == floating_ip:1040                raise ValueError(1041                    "Entry for {} already exists in Labs class!".format(1042                        floating_ip))1043    if dict_name and dict_name in dir(Labs):1044        raise ValueError(1045            "Entry for {} already exists in Labs class!".format(dict_name))1046    if not short_name:1047        short_name = floating_ip1048    if not name:1049        name = floating_ip1050    if not dict_name:1051        dict_name = floating_ip1052    lab_dict = {'name': name,1053                'short_name': short_name,1054                'floating ip': floating_ip,1055                }1056    lab_dict.update(kwargs)1057    setattr(Labs, dict_name, lab_dict)1058    return lab_dict1059class NatBoxes:1060    # NAT_BOX_HW = {1061    #     'name': 'nat_hw',1062    #     'ip': '128.224.150.11',1063    #     'user': 'cgcs',1064    #     'password': 'li69nux'1065    # }1066    NAT_BOX_HW = {1067        'name': 'nat_hw',1068        'ip': '128.224.186.181',1069        'user': 'svc-cgcsauto',1070        'password': ')OKM0okm'1071    }1072    NAT_BOX_CUMULUS = {1073        'name': 'nat_cumulus',1074        'ip': '',1075        'user': '',1076        'password': ''1077    }1078    # Assume vbox NatBox is1079    NAT_BOX_VBOX = {1080        'name': 'localhost',1081        'ip': 'localhost',1082        'user': None,1083        'password': None,1084    }1085    @staticmethod1086    def add_natbox(ip, user=None, password=None, prompt=None):1087        user = user if user else 'svc-cgcsauto'1088        password = password if password else ')OKM0okm'1089        nat_dict = {'ip': ip,1090                    'name': ip,1091                    'user': user,1092                    'password': password,1093                    }1094        if prompt:1095            nat_dict['prompt'] = prompt1096        setattr(NatBoxes, 'NAT_NEW', nat_dict)...make-maps-sandbox.py
Source:make-maps-sandbox.py  
1#!/usr/bin/env python32# -*- coding: utf-8 -*-3"""4Created on Thu Feb 21 14:25:34 20195@author: rs6"""7#!/usr/bin/env python38# -*- coding: utf-8 -*-9"""10Created on Sun Feb  3 09:41:02 201911@author: rs12"""13import os14import plotly15import plotly.plotly as py16import pandas as pd17from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot18os.chdir('/Users/rs/multi-maps/data')19vars = [20{'varname': 'access_to_electricity_pct_of_population_resid', 'long_name': 'Access to Electricity, % of Population, Residuals from Regression on GDP per Capita', 'short_name': 'Access to Electricity, Residuals', 'source':'World Bank, World Development Indicators'},21{'varname': 'access_to_electricity_pct_of_population', 'long_name': 'Access to Electricity, % of Population', 'short_name': 'Access to Electricity, % of Population', 'source':'World Bank, World Development Indicators'},22{'varname': 'adolescent_fertility_rate_resid', 'long_name': 'Adolescent Fertility Rate, Residuals', 'short_name': 'Adolescent Fertility Rate, Residuals', 'source':'World Bank, World Development Indicators'},23{'varname': 'adolescent_fertility_rate', 'long_name': 'Adolescent Fertility Rate', 'short_name': 'Adolescent Fertility Rate', 'source':'World Bank, World Development Indicators'},24{'varname': 'asylum_seekers_resid', 'long_name': 'Asylum Seekers, Residuals', 'short_name': 'Asylum Seekers, residuals', 'source':'United Nations High Commission for Refugees, Population Statistics'},25{'varname': 'asylum_seekers', 'long_name': 'Asylum Seekers', 'short_name': 'Asylum Seekers', 'source':'United Nations High Commission for Refugees, Population Statistics'},26{'varname': 'biodiversity_protected_areas_resid', 'long_name': 'Biodiversity: Protected Areas, % of Land Area, Residuals', 'short_name': 'Protected Areas, % of Land Area, Residuals', 'source':'World Bank, World Development Indicators'},27{'varname': 'biodiversity_protected_areas', 'long_name': 'Biodiversity: Protected Areas, % of Land Area', 'short_name': 'Protected Areas, % of Land Area', 'source':'World Bank, World Development Indicators'},28{'varname': 'central_govt_debt_pct_gdp_resid', 'long_name': 'Central Government Debt, % of Gross Domestic Product, Residuals from Regression on GDP per Capita', 'short_name': 'Central Government Debt, Residuals', 'source':'World Bank, World Development Indicators'},29{'varname': 'central_govt_debt_pct_gdp', 'long_name': 'Central Government Debt, % of Gross Domestic Product', 'short_name': 'Central Government Debt, % of GGDP', 'source':'World Bank, World Development Indicators'},30{'varname': 'co2_tons_per_capita_resid', 'long_name': 'C02 Emissions per Capita, Metric Tons, Residuals from Regression on GDP per Capita', 'short_name': 'C02 Emissions per Capita, Metric Tons, Residuals', 'source':'World Bank, World Development Indicators'},31{'varname': 'co2_tons_per_capita', 'long_name': 'C02 Emissions per Capita, Metric Tons', 'short_name': 'C02 Emissions per Capita, Metric Tons', 'source':'World Bank, World Development Indicators'},32{'varname': 'days_required_to_start_business_resid', 'long_name': 'Days Required to Start a Business, Residuals from Regression on GDP per Capita', 'short_name': 'Days to Start a Business, Residuals', 'source':'World Bank, World Development Indicators'},33{'varname': 'days_required_to_start_business', 'long_name': 'Days Required to Start a Business', 'short_name': 'Days Required to Start a Business', 'source':'World Bank, World Development Indicators'},34{'varname': 'ease_doing_business_resid', 'long_name': 'Ease of Doing Business (Ranking), Residuals from Regression on GDP per Capita', 'short_name': 'Ease of Doing Business (Ranking), Residuals', 'source':'World Bank, World Development Indicators'},35{'varname': 'ease_doing_business', 'long_name': 'Ease of Doing Business (Ranking)', 'short_name': 'Ease of Doing Business (Ranking)', 'source':'World Bank, World Development Indicators'},36{'varname': 'energy_use_per_capita_resid', 'long_name': 'Energy Use Per Capita, kg of Diesel Equivalent, Residuals from Regression on GDP per Capita', 'short_name': 'Energy Use Per Capita, Residuals', 'source':'World Bank, World Development Indicators'},37{'varname': 'energy_use_per_capita', 'long_name': 'Energy Use Per Capita, kg of Diesel Equivalent', 'short_name': 'Energy Use Per Capita', 'source':'World Bank, World Development Indicators'},38{'varname': 'external_debt_pct_GNI_resid', 'long_name': 'External Government Debt, % of Gross National Income, Residuals from Regression on GDP per Capita', 'short_name': 'External Government Debt, % of GNI, Residuals', 'source':'World Bank, World Development Indicators'},39{'varname': 'external_debt_pct_GNI', 'long_name': 'External Government Debt, % of Gross National Income', 'short_name': 'External Government Debt, % of GNI', 'source':'World Bank, World Development Indicators'},40{'varname': 'fdi_net_current_usd_resid', 'long_name': 'Foreign Direct Investment, USD, Residuals from Regression on GDP per Capita', 'short_name': 'Foreign Direct Investment, USD, Residuals', 'source':'World Bank, World Development Indicators'},41{'varname': 'fdi_net_current_usd', 'long_name': 'Foreign Direct Investment, USD', 'short_name': 'Foreign Direct Investment, USD', 'source':'World Bank, World Development Indicators'},42{'varname': 'female_employment_pct_of_total_resid', 'long_name': 'Female Employment, % of Total Employment, Residuals from Regression on GDP per Capita', 'short_name': 'Female Employment, % of Total Employment, Residuals', 'source':'World Bank, World Development Indicators'},43{'varname': 'female_employment_pct_of_total', 'long_name': 'Female Employment, % of Total Employment', 'short_name': 'Female Employment, % of Total Employment', 'source':'World Bank, World Development Indicators'},44{'varname': 'female_literacy_pct_resid', 'long_name': 'Female Literacy, % of All Women, Residuals from Regression on GDP per Capita', 'short_name': 'Female Literacy, % of All Women, Residuals', 'source':'World Bank, World Development Indicators'},45{'varname': 'female_literacy_pct', 'long_name': 'Female Literacy, % of All Women', 'short_name': 'Female Literacy, % of All Women', 'source':'World Bank, World Development Indicators'},46{'varname': 'fertility_rate_resid', 'long_name': 'Fertility Rate, Residuals from Regression on GDP per Capita', 'short_name': 'Fertility Rate, Residuals', 'source':'World Bank, World Development Indicators'},47{'varname': 'fertility_rate', 'long_name': 'Fertility Rate', 'short_name': 'Fertility Rate', 'source':'World Bank, World Development Indicators'},48{'varname': 'govt_exp_educ_pct_gdp_resid', 'long_name': 'Government Expenditure on Education, % of Gross Domestic Product, Residuals from Regression on GDP per Capita', 'short_name': 'Government Expenditure on Education, % of GDP, Residuals', 'source':'World Bank, World Development Indicators'},49{'varname': 'govt_exp_educ_pct_gdp', 'long_name': 'Government Expenditure on Education, % of Gross Domestic Product', 'short_name': 'Government Expenditure on Education, % of GDP', 'source':'World Bank, World Development Indicators'},50{'varname': 'happiness_resid', 'long_name': 'Self-Reported Happiness (1-10, 10 high), Residuals from Regression on GDP per Capita', 'short_name': 'Self-Reported Happiness, residuals', 'source':'World Happiness Report'},51{'varname': 'happiness', 'long_name': 'Self-Reported Happiness (1-10, 10 high)', 'short_name': 'Self-Reported Happiness (1-10, 10 high)', 'source':'World Happiness Report'},52{'varname': 'highest_ten_income_share_resid', 'long_name': 'Income Share, Highest 10%, Residuals from Regression on GDP per Capita', 'short_name': 'Income Share, Highest 10%, Residuals', 'source':'World Bank, World Development Indicators'},53{'varname': 'highest_ten_income_share', 'long_name': 'Income Share, Highest 10%', 'short_name': 'Income Share, Highest 10%', 'source':'World Bank, World Development Indicators'},54{'varname': 'hiv_prevalence_resid', 'long_name': 'HIV Prevalance,  Residuals from Regression on GDP per Capita', 'short_name': 'HIV Prevalance,  Residuals', 'source':'World Bank, World Development Indicators'},55{'varname': 'hiv_prevalence', 'long_name': 'HIV Prevalance', 'short_name': 'HIV Prevalance', 'source':'World Bank, World Development Indicators'},56{'varname': 'idps_resid', 'long_name': 'Internally Displaced Persons, Residuals from Regression on GDP per Capita', 'short_name': 'Internally Displaced Persons, residuals', 'source':'United Nations High Commission for Refugees, Population Statistics'},57{'varname': 'idps', 'long_name': 'Internally Displaced Persons', 'short_name': 'Internally Displaced Persons', 'source':'United Nations High Commission for Refugees, Population Statistics'},58{'varname': 'life_expectancy_resid', 'long_name': 'Life Expectancy, Residuals from Regression on GDP per Capita', 'short_name': 'Life Expectancy, Residuals', 'source':'World Bank, World Development Indicators'},59{'varname': 'life_expectancy', 'long_name': 'Life Expectancy', 'short_name': 'Life Expectancy', 'source':'World Bank, World Development Indicators'},60{'varname': 'lowest_ten_income_share_resid', 'long_name': 'Income Share, Lowest 10%, Residuals from Regression on GDP per Capita', 'short_name': 'Income Share, Lowest 10%, Residuals', 'source':'World Bank, World Development Indicators'},61{'varname': 'lowest_ten_income_share', 'long_name': 'Income Share, Lowest 10%', 'short_name': 'Income Share, Lowest 10%', 'source':'World Bank, World Development Indicators'},62{'varname': 'lowest_twenty_income_share_resid', 'long_name': 'Income Share, Lowest 20%, Residuals from Regression on GDP per Capita', 'short_name': 'Income Share, Lowest 20%, Residuals', 'source':'World Bank, World Development Indicators'},63{'varname': 'lowest_twenty_income_share', 'long_name': 'Income Share, Lowest 20%', 'short_name': 'Income Share, Lowest 20%', 'source':'World Bank, World Development Indicators'},64{'varname': 'maternal_mortality_rate_resid', 'long_name': 'Maternal Mortality Rate, Residuals from Regression on GDP per Capita', 'short_name': 'Maternal Mortality Rate, Residuals', 'source':'World Bank, World Development Indicators'},65{'varname': 'maternal_mortality_rate', 'long_name': 'Maternal Mortality Rate', 'short_name': 'Maternal Mortality Rate', 'source':'World Bank, World Development Indicators'},66{'varname': 'migrant_stock_resid', 'long_name': 'Migrant Stock, Residuals from Regression on GDP per Capita', 'short_name': 'Migrant Stock, Residuals', 'source':'World Bank, World Development Indicators'},67{'varname': 'migrant_stock', 'long_name': 'Migrant Stock', 'short_name': 'Migrant Stock', 'source':'World Bank, World Development Indicators'},68{'varname': 'mobile_phone_subscriptions_pct_pop_resid', 'long_name': 'Mobile Phone Subscriptions, % of Population, Residuals from Regression on GDP per Capita', 'short_name': 'Mobile Phone Subscriptions, % of Population, Residuals', 'source':'World Bank, World Development Indicators'},69{'varname': 'mobile_phone_subscriptions_pct_pop', 'long_name': 'Mobile Phone Subscriptions, % of Population', 'short_name': 'Mobile Phone Subscriptions, % of Population', 'source':'World Bank, World Development Indicators'},70{'varname': 'mortality_under_5_per_1000_live_births_resid', 'long_name': 'Mortality Under 5 Years, per 1000 Live Births, Residuals from Regression on GDP per Capita', 'short_name': 'Mortality Under 5 Years, per 1000 Live Births, Residuals', 'source':'World Bank, World Development Indicators'},71{'varname': 'mortality_under_5_per_1000_live_births', 'long_name': 'Mortality Under 5 Years, per 1000 Live Births', 'short_name': 'Mortality Under 5 Years, per 1000 Live Births', 'source':'World Bank, World Development Indicators'},72{'varname': 'net_lending_borrowing_pct_gdp_resid', 'long_name': 'Net Lending/Borrowing, % of Gross Domestic Product, Residuals from Regression on GDP per Capita', 'short_name': 'Net Lending/Borrowing, % of Gross Domestic Product, Residuals', 'source':'World Bank, World Development Indicators'},73{'varname': 'net_lending_borrowing_pct_gdp', 'long_name': 'Net Lending/Borrowing, % of Gross Domestic Product', 'short_name': 'Net Lending/Borrowing, % of Gross Domestic Product', 'source':'World Bank, World Development Indicators'},74{'varname': 'net_migration_resid', 'long_name': 'Net Migration, Residuals from Regression on GDP per Capita', 'short_name': 'Net Migration, Residuals', 'source':'World Bank, World Development Indicators'},75{'varname': 'net_migration', 'long_name': 'Net Migration', 'short_name': 'Net Migration', 'source':'World Bank, World Development Indicators'},76{'varname': 'oda_pct_of_gni_resid', 'long_name': 'Official Development Assistance, & of Gross National Income, Residuals from Regression on GDP per Capita', 'short_name': 'Official Development Assistance, & of Gross National Income, Residuals', 'source':'World Bank, World Development Indicators'},77{'varname': 'oda_pct_of_gni', 'long_name': 'Official Development Assistance, & of Gross National Income', 'short_name': 'Official Development Assistance, & of Gross National Income', 'source':'World Bank, World Development Indicators'},78{'varname': 'pm25_pct_population_resid', 'long_name': 'PM25 Exposure, % of population, Residuals from Regression on GDP per Capita', 'short_name': 'PM25 Exposure, % of population, Residuals', 'source':'World Bank, World Development Indicators'},79{'varname': 'pm25_pct_population', 'long_name': 'PM25 Exposure, % of population', 'short_name': 'PM25 Exposure, % of population', 'source':'World Bank, World Development Indicators'},80{'varname': 'population', 'long_name': 'Population', 'short_name': 'Population', 'source':'World Bank, World Development Indicators'},81{'varname': 'poverty_headcount_ratio_190_2011_ppp_resid', 'long_name': 'Poverty Headcount Ratio, $1.90 per day in 2011 PPP, Residuals from Regression on GDP per Capita', 'short_name': 'Poverty Headcount Ratio, $1.90 per day in 2011 PPP, Residuals', 'source':'World Bank, World Development Indicators'},82{'varname': 'poverty_headcount_ratio_190_2011_ppp', 'long_name': 'Poverty Headcount Ratio, $1.90 per day in 2011 PPP', 'short_name': 'Poverty Headcount Ratio, $1.90 per day in 2011 PPP', 'source':'World Bank, World Development Indicators'},83{'varname': 'recognition_rate_resid', 'long_name': 'Asylum Recognition Rate, Residuals from Regression on GDP per Capita', 'short_name': 'Asylum Recognition Rate, residuals', 'source':'United Nations High Commission for Refugees, Population Statistics'},84{'varname': 'recognition_rate', 'long_name': 'Asylum Recognition Rate', 'short_name': 'Asylum Recognition Rate', 'source':'United Nations High Commission for Refugees, Population Statistics'},85{'varname': 'refugees_resid', 'long_name': 'Refugees, Residuals from Regression on GDP per Capita', 'short_name': 'Refugees, residuals', 'source':'United Nations High Commission for Refugees, Population Statistics'},86{'varname': 'refugees', 'long_name': 'Refugees', 'short_name': 'Refugees', 'source':'United Nations High Commission for Refugees, Population Statistics'},87{'varname': 'remittances_resid', 'long_name': 'Personal remittances from abroad, USD, Residuals from Regression on GDP per Capita', 'short_name': 'Personal remittances from abroad, USD, Residuals', 'source':'World Bank, World Development Indicators'},88{'varname': 'remittances', 'long_name': 'Personal remittances from abroad, USD', 'short_name': 'Personal remittances from abroad, USD', 'source':'World Bank, World Development Indicators'},89{'varname': 'renewable_freshwater_per_capita_resid', 'long_name': 'Renewable Freshwater Resources, cubic meters per capita, Residuals from Regression on GDP per Capita', 'short_name': 'Renewable Freshwater Resources, Residuals', 'source':'World Bank, World Development Indicators'},90{'varname': 'renewable_freshwater_per_capita', 'long_name': 'Renewable Freshwater Resources, cubic meters per capita', 'short_name': 'Renewable Freshwater Resources', 'source':'World Bank, World Development Indicators'},91{'varname': 'revenue_pct_gdp_resid', 'long_name': 'Government revenue, % of Gross Domestic Product, Residuals from Regression on GDP per Capita', 'short_name': 'Government revenue, % of GDP, Residuals', 'source':'World Bank, World Development Indicators'},92{'varname': 'revenue_pct_gdp', 'long_name': 'Government revenue, % of Gross Domestic Product', 'short_name': 'Government revenue, % of GDP', 'source':'World Bank, World Development Indicators'},93{'varname': 'risk_premium_resid', 'long_name': 'Risk Premium (over US Treasury), Residuals from Regression on GDP per Capita', 'short_name': 'Risk Premium (over US Treasury), Residuals', 'source':'World Bank, World Development Indicators'},94{'varname': 'risk_premium', 'long_name': 'Risk Premium (over US Treasury)', 'short_name': 'Risk Premium (over US Treasury)', 'source':'World Bank, World Development Indicators'},95{'varname': 'slum_population_pct_urban_population_resid', 'long_name': 'Slum Population, % of Urban Population, Residuals from Regression on GDP per Capita', 'short_name': 'Slum Population, % of Urban Population, Residuals', 'source':'World Bank, World Development Indicators'},96{'varname': 'slum_population_pct_urban_population', 'long_name': 'Slum Population, % of Urban Population', 'short_name': 'Slum Population, % of Urban Population', 'source':'World Bank, World Development Indicators'},97{'varname': 'strength_legal_rights_0_12_resid', 'long_name': 'Strength of Legal Rights (0-12, 12 high), Residuals from Regression on GDP per Capita', 'short_name': 'Strength of Legal Rights (0-12, 12 high), Residuals', 'source':'World Bank, World Development Indicators'},98{'varname': 'strength_legal_rights_0_12', 'long_name': 'Strength of Legal Rights (0-12, 12 high)', 'short_name': 'Strength of Legal Rights (0-12, 12 high)', 'source':'World Bank, World Development Indicators'},99{'varname': 'tax_revenue_pct_gdp_resid', 'long_name': 'Tax Revenue, % of Gross Domestic Product, Residuals from Regression on GDP per Capita', 'short_name': 'Tax Revenue, % of Gross Domestic Product, Residuals', 'source':'World Bank, World Development Indicators'},100{'varname': 'tax_revenue_pct_gdp', 'long_name': 'Tax Revenue, % of Gross Domestic Product', 'short_name': 'Tax Revenue, % of Gross Domestic Product', 'source':'World Bank, World Development Indicators'},101{'varname': 'ti_cpi_resid', 'long_name': 'Corruption Perception Index (reversed), Residuals from Regression on GDP per Capita', 'short_name': 'Corruption Perception Index (reversed), residuals', 'source':'Transparency International'},102{'varname': 'ti_cpi', 'long_name': 'Corruption Perception Index (reversed)', 'short_name': 'Corruption Perception Index (reversed)', 'source':'Transparency International'},103{'varname': 'trade_pct_gdp_resid', 'long_name': 'Trade, % of Gross Domestic Product, Residuals from Regression on GDP per Capita', 'short_name': 'Trade, % of Gross Domestic Product, Residuals', 'source':'World Bank, World Development Indicators'},104{'varname': 'trade_pct_gdp', 'long_name': 'Trade, % of Gross Domestic Product', 'short_name': 'Trade, % of Gross Domestic Product', 'source':'World Bank, World Development Indicators'},105{'varname': 'urbpop_resid', 'long_name': 'Urban Population, % of Total, Residuals from Regression on GDP per Capita', 'short_name': 'Urban Population, % of Total, Residuals', 'source':'World Bank, World Development Indicators'},106{'varname': 'urbpop', 'long_name': 'Urban Population, % of Total', 'short_name': 'Urban Population, % of Total', 'source':'World Bank, World Development Indicators'},107{'varname': 'use_internet_pct_pop_resid', 'long_name': 'Internet Use, % of Population,  Residuals from Regression on GDP per Capita', 'short_name': 'Internet Use, % of Population,  Residuals', 'source':'World Bank, World Development Indicators'},108{'varname': 'use_internet_pct_pop', 'long_name': 'Internet Use, % of Population', 'short_name': 'Internet Use, % of Population', 'source':'World Bank, World Development Indicators'},109#{'varname': 'asylum_seekers_per_pop', 'long_name': 'Asylum Seekers per Population', 'short_name': 'Asylum Seekers per Population', 'source':'United Nations High Commission for Refugees, Population Statistics'},110#{'varname': 'asylum_seekers_per_pop', 'long_name': 'Asylum Seekers per Population', 'short_name': 'Asylum Seekers per Population', 'source':'United Nations High Commission for Refugees, Population Statistics'},111#{'varname': 'refugees_per_pop_resid', 'long_name': 'Refugees per Population, Residuals from Regression on GDP per Capita', 'short_name': 'Refugees per Population', 'source':'United Nations High Commission for Refugees, Population Statistics'},112#{'varname': 'refugees_per_pop', 'long_namde': 'Refugees per Population', 'short_name': 'Refugees per Population', 'source':'United Nations High Commission for Refugees, Population Statistics'},113]114for i in range(len(vars)):115    filename = vars[i]['varname'] + '.csv'116    df = pd.read_csv(filename)117    118    data = [ dict(119           type = 'choropleth',120           locations = df['country_code'],121           z = df[vars[i]['varname']],122           text = df['country'],123           colorscale = [[0,"rgb(5, 10, 172)"],[0.35,"rgb(40, 60, 190)"],[0.5,"rgb(70, 100, 245)"],\124               [0.6,"rgb(90, 120, 245)"],[0.7,"rgb(106, 137, 247)"],[1,"rgb(220, 220, 220)"]],125    #        colorscale = 'Blues',126           autocolorscale = False,127           reversescale = True,128           marker = dict(129               line = dict (130                   color = 'rgb(180,180,180)',131                   width = 0.5132               )133           ),134    #        tick0 = 0,135           zmin = 0,136    #        dtick = 1000,137           colorbar = dict(138    #            autotick = False,139    #            tickprefix = '$',140               title = vars[i]['short_name']141           ),142       ) ]143    144    layout = dict(145        title = vars[i]['long_name'] + '<br>' + vars[i]['source'],146       geo = dict(147           showframe = False,148           showcoastlines = False,149           projection = dict(150               type = 'kavrayskiy7'151           )152       )153    )154    155    fig = dict( data=data, layout=layout )156    divname = vars[i]['varname'] + '.div'157    divname = plotly.offline.plot(fig, auto_open=False, include_plotlyjs=False)158    f = open(divname, 'w+')159    f.write(divname)...make_maps.py
Source:make_maps.py  
1#!/usr/bin/env python32# -*- coding: utf-8 -*-3"""4Created on Sun Feb  3 09:41:02 20195@author: rs6"""7import os8import plotly9import plotly.plotly as py10import pandas as pd11from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot12os.chdir('/Users/rs/multi-maps/data')13vars = [14{'varname': 'access_to_electricity_pct_of_population_resid', 'long_name': 'Access to Electricity, % of Population, Residuals from Regression on GDP per Capita', 'short_name': 'Access to Electricity, Residuals', 'source':'World Bank, World Development Indicators'},15{'varname': 'access_to_electricity_pct_of_population', 'long_name': 'Access to Electricity, % of Population, 2015', 'short_name': 'Access to Electricity', 'source':'World Bank, World Development Indicators'},16{'varname': 'adolescent_fertility_rate_resid', 'long_name': 'Adolescent Fertility Rate (per 1,000 Women Age 15-19), Residuals', 'short_name': 'Adolescent Fertility Rate', Residuals', 'source':'World Bank, World Development Indicators'},17{'varname': 'adolescent_fertility_rate', 'long_name': 'Adolescent Fertility Rate (per 1,000 Women Age 15-19), 2015)', 'short_name': 'Adolescent Fertility Rate', 'source':'World Bank, World Development Indicators'},18{'varname': 'asylum_seekers_resid', 'long_name': 'Asylum Seekers, 2015, Residuals', 'short_name': 'Asylum Seekers, residuals', 'source':'United Nations High Commission for Refugees, Population Statistics'},19{'varname': 'asylum_seekers', 'long_name': 'Asylum Seekers, 2015', 'short_name': 'Asylum Seekers', 'source':'United Nations High Commission for Refugees, Population Statistics'},20{'varname': 'biodiversity_protected_areas_resid', 'long_name': 'Biodiversity: Protected Areas, % of Land Area, Residuals', 'short_name': 'Protected Areas, % of Land Area, Residuals', 'source':'World Bank, World Development Indicators'},21{'varname': 'biodiversity_protected_areas', 'long_name': 'Biodiversity: Protected Areas, % of Land Area, 2016', 'short_name': 'Protected Areas, % of Land Area', 'source':'World Bank, World Development Indicators'},22{'varname': 'central_govt_debt_pct_gdp_resid', 'long_name': 'Central Government Debt, % of Gross Domestic Product, Residuals from Regression on GDP per Capita', 'short_name': 'Central Government Debt, Residuals', 'source':'World Bank, World Development Indicators'},23{'varname': 'central_govt_debt_pct_gdp', 'long_name': 'Central Government Debt, % of Gross Domestic Product, 2015', 'short_name': 'Central Government Debt, % of GGDP', 'source':'World Bank, World Development Indicators'},24{'varname': 'co2_tons_per_capita_resid', 'long_name': 'C02 Emissions per Capita, Metric Tons, Residuals from Regression on GDP per Capita', 'short_name': 'C02 Emissions per Capita, Residuals', 'source':'World Bank, World Development Indicators'},25{'varname': 'co2_tons_per_capita', 'long_name': 'C02 Emissions per Capita, Metric Tons, 2014', 'short_name': 'C02 Emissions per Capita', 'source':'World Bank, World Development Indicators'},26{'varname': 'days_required_to_start_business_resid', 'long_name': 'Days Required to Start a Business, Residuals from Regression on GDP per Capita', 'short_name': 'Days to Start a Business, Residuals', 'source':'World Bank, World Development Indicators'},27{'varname': 'days_required_to_start_business', 'long_name': 'Days Required to Start a Business, 2015', 'short_name': 'Days Required to Start a Business', 'source':'World Bank, World Development Indicators'},28{'varname': 'ease_doing_business_resid', 'long_name': 'Ease of Doing Business (Ranking), Residuals from Regression on GDP per Capita', 'short_name': 'Ease of Doing Business (Ranking), Residuals', 'source':'World Bank, World Development Indicators'},29{'varname': 'ease_doing_business', 'long_name': 'Ease of Doing Business (Ranking), 2018', 'short_name': 'Ease of Doing Business (Ranking)', 'source':'World Bank, World Development Indicators'},30{'varname': 'energy_use_per_capita_resid', 'long_name': 'Energy Use Per Capita, kg of Diesel Equivalent, Residuals from Regression on GDP per Capita', 'short_name': 'Energy Use Per Capita, Residuals', 'source':'World Bank, World Development Indicators'},31{'varname': 'energy_use_per_capita', 'long_name': 'Energy Use Per Capita, kg of Diesel Equivalent, 2015', 'short_name': 'Energy Use Per Capita', 'source':'World Bank, World Development Indicators'},32{'varname': 'external_debt_pct_GNI_resid', 'long_name': 'External Government Debt, % of Gross National Income, Residuals from Regression on GDP per Capita', 'short_name': 'External Government Debt, % of GNI, Residuals', 'source':'World Bank, World Development Indicators'},33{'varname': 'external_debt_pct_GNI', 'long_name': 'External Government Debt, % of Gross National Income, 2015', 'short_name': 'External Government Debt, % of GNI', 'source':'World Bank, World Development Indicators'},34{'varname': 'fdi_net_current_usd_resid', 'long_name': 'Foreign Direct Investment, USD, Residuals from Regression on GDP per Capita', 'short_name': 'Foreign Direct Investment, USD, Residuals', 'source':'World Bank, World Development Indicators'},35{'varname': 'fdi_net_current_usd', 'long_name': 'Foreign Direct Investment, USD, 2015', 'short_name': 'Foreign Direct Investment, USD', 'source':'World Bank, World Development Indicators'},36{'varname': 'female_employment_pct_of_total_resid', 'long_name': 'Female Employment, % of Total Employment, Residuals from Regression on GDP per Capita', 'short_name': 'Female Employment, % of Total Employment, Residuals', 'source':'World Bank, World Development Indicators'},37{'varname': 'female_employment_pct_of_total', 'long_name': 'Female Employment, % of Total Employment, 2015', 'short_name': 'Female Employment, %', 'source':'World Bank, World Development Indicators'},38{'varname': 'female_literacy_pct_resid', 'long_name': 'Female Literacy, % of All Women, Residuals from Regression on GDP per Capita', 'short_name': 'Female Literacy, % of All Women, Residuals', 'source':'World Bank, World Development Indicators'},39{'varname': 'female_literacy_pct', 'long_name': 'Female Literacy, % of All Women, 2015', 'short_name': 'Female Literacy, % of All Women', 'source':'World Bank, World Development Indicators'},40{'varname': 'fertility_rate_resid', 'long_name': 'Fertility Rate, Residuals from Regression on GDP per Capita', 'short_name': 'Fertility Rate, Residuals', 'source':'World Bank, World Development Indicators'},41{'varname': 'fertility_rate', 'long_name': 'Fertility Rate', 'short_name': 'Fertility Rate, 2015', 'source':'World Bank, World Development Indicators'},42{'varname': 'govt_exp_educ_pct_gdp_resid', 'long_name': 'Government Expenditure on Education, % of Gross Domestic Product, Residuals from Regression on GDP per Capita', 'short_name': 'Government Expenditure on Education, % of GDP, Residuals', 'source':'World Bank, World Development Indicators'},43{'varname': 'govt_exp_educ_pct_gdp', 'long_name': 'Government Expenditure on Education, % of Gross Domestic Product, 2015', 'short_name': 'Government Expenditure on Education, % of GDP', 'source':'World Bank, World Development Indicators'},44{'varname': 'happiness_resid', 'long_name': 'Self-Reported Happiness (1-10, 10 high), Residuals from Regression on GDP per Capita', 'short_name': 'Self-Reported Happiness, residuals', 'source':'World Happiness Report'},45{'varname': 'happiness', 'long_name': 'Self-Reported Happiness (1-10, 10 high), 2015', 'short_name': 'Self-Reported Happiness', 'source':'World Happiness Report'},46{'varname': 'highest_ten_income_share_resid', 'long_name': 'Income Share, Highest 10%, Residuals from Regression on GDP per Capita', 'short_name': 'Income Share, Highest 10%, Residuals', 'source':'World Bank, World Development Indicators'},47{'varname': 'highest_ten_income_share', 'long_name': 'Income Share, Highest 10%, 2015', 'short_name': 'Income Share, Highest 10%', 'source':'World Bank, World Development Indicators'},48{'varname': 'hiv_prevalence_resid', 'long_name': 'HIV Prevalance,  Residuals from Regression on GDP per Capita', 'short_name': 'HIV Prevalance,  Residuals', 'source':'World Bank, World Development Indicators'},49{'varname': 'hiv_prevalence', 'long_name': 'HIV Prevalance, %, 2015', 'short_name': 'HIV Prevalance', 'source':'World Bank, World Development Indicators'},50{'varname': 'idps_resid', 'long_name': 'Internally Displaced Persons, Residuals from Regression on GDP per Capita', 'short_name': 'Internally Displaced Persons, residuals', 'source':'United Nations High Commission for Refugees, Population Statistics'},51{'varname': 'idps', 'long_name': 'Internally Displaced Persons, 2015', 'short_name': 'Internally Displaced Persons', 'source':'United Nations High Commission for Refugees, Population Statistics'},52{'varname': 'life_expectancy_resid', 'long_name': 'Life Expectancy, Residuals from Regression on GDP per Capita', 'short_name': 'Life Expectancy, Residuals', 'source':'World Bank, World Development Indicators'},53{'varname': 'life_expectancy', 'long_name': 'Life Expectancy, 2015', 'short_name': 'Life Expectancy', 'source':'World Bank, World Development Indicators'},54{'varname': 'lowest_ten_income_share_resid', 'long_name': 'Income Share, Lowest 10%, Residuals from Regression on GDP per Capita', 'short_name': 'Income Share, Lowest 10%, Residuals', 'source':'World Bank, World Development Indicators'},55{'varname': 'lowest_ten_income_share', 'long_name': 'Income Share, Lowest 10%, 2015', 'short_name': 'Income Share, Lowest 10%', 'source':'World Bank, World Development Indicators'},56{'varname': 'lowest_twenty_income_share_resid', 'long_name': 'Income Share, Lowest 20%, Residuals from Regression on GDP per Capita', 'short_name': 'Income Share, Lowest 20%, Residuals', 'source':'World Bank, World Development Indicators'},57{'varname': 'lowest_twenty_income_share', 'long_name': 'Income Share, Lowest 20%, 2015', 'short_name': 'Income Share, Lowest 20%', 'source':'World Bank, World Development Indicators'},58{'varname': 'maternal_mortality_rate_resid', 'long_name': 'Maternal Mortality Rate, Residuals from Regression on GDP per Capita', 'short_name': 'Maternal Mortality Rate, Residuals', 'source':'World Bank, World Development Indicators'},59{'varname': 'maternal_mortality_rate', 'long_name': 'Maternal Mortality Rate, 2015', 'short_name': 'Maternal Mortality Rate', 'source':'World Bank, World Development Indicators'},60{'varname': 'migrant_stock_resid', 'long_name': 'Migrant Stock, Residuals from Regression on GDP per Capita', 'short_name': 'Migrant Stock, Residuals', 'source':'World Bank, World Development Indicators'},61{'varname': 'migrant_stock', 'long_name': 'Migrant Stock, % of Population', 'short_name': 'Migrant Stock, %, 2015', 'source':'World Bank, World Development Indicators'},62{'varname': 'mobile_phone_subscriptions_pct_pop_resid', 'long_name': 'Mobile Phone Subscriptions, % of Population, Residuals from Regression on GDP per Capita', 'short_name': 'Mobile Phone Subscriptions, % of Population, Residuals', 'source':'World Bank, World Development Indicators'},63{'varname': 'mobile_phone_subscriptions_pct_pop', 'long_name': 'Mobile Phone Subscriptions, % of Population, 2015', 'short_name': 'Mobile Phone Subscriptions', 'source':'World Bank, World Development Indicators'},64{'varname': 'mortality_under_5_per_1000_live_births_resid', 'long_name': 'Mortality Under 5 Years, per 1000 Live Births, Residuals from Regression on GDP per Capita', 'short_name': 'Mortality Under 5 Years, per 1000 Live Births, Residuals', 'source':'World Bank, World Development Indicators'},65{'varname': 'mortality_under_5_per_1000_live_births', 'long_name': 'Mortality Under 5 Years, per 1000 Live Births, 2015', 'short_name': 'Mortality Under 5 Years, per 1000 Live Births', 'source':'World Bank, World Development Indicators'},66{'varname': 'net_lending_borrowing_pct_gdp_resid', 'long_name': 'Net Lending/Borrowing, % of Gross Domestic Product, Residuals from Regression on GDP per Capita', 'short_name': 'Net Lending/Borrowing, % of Gross Domestic Product, Residuals', 'source':'World Bank, World Development Indicators'},67{'varname': 'net_lending_borrowing_pct_gdp', 'long_name': 'Net Lending/Borrowing, % of Gross Domestic Product, 2015', 'short_name': 'Net Lending/Borrowing', 'source':'World Bank, World Development Indicators'},68{'varname': 'net_migration_resid', 'long_name': 'Net Migration, Residuals from Regression on GDP per Capita', 'short_name': 'Net Migration, Residuals', 'source':'World Bank, World Development Indicators'},69{'varname': 'net_migration', 'long_name': 'Net Migration, 2017', 'short_name': 'Net Migration', 'source':'World Bank, World Development Indicators'},70{'varname': 'oda_pct_of_gni_resid', 'long_name': 'Official Development Assistance, & of Gross National Income, Residuals from Regression on GDP per Capita', 'short_name': 'Official Development Assistance, & of Gross National Income, Residuals', 'source':'World Bank, World Development Indicators'},71{'varname': 'oda_pct_of_gni', 'long_name': 'Official Development Assistance, & of Gross National Income', 'short_name': 'Official Development Assistance', 'source':'World Bank, World Development Indicators'},72{'varname': 'pm25_pct_population_resid', 'long_name': 'PM25 Exposure, % of population, Residuals from Regression on GDP per Capita', 'short_name': 'PM25 Exposure, % of population, Residuals', 'source':'World Bank, World Development Indicators'},73{'varname': 'pm25_pct_population', 'long_name': 'PM25 Exposure, % of population, 2015', 'short_name': 'PM25 Exposure, % of population', 'source':'World Bank, World Development Indicators'},74{'varname': 'population', 'long_name': 'Population, 2015', 'short_name': 'Population', 'source':'World Bank, World Development Indicators'},75{'varname': 'poverty_headcount_ratio_190_2011_ppp_resid', 'long_name': 'Poverty Headcount Ratio, $1.90 per day in 2011 PPP, Residuals from Regression on GDP per Capita', 'short_name': 'Poverty Headcount Ratio, $1.90 per day in 2011 PPP, Residuals', 'source':'World Bank, World Development Indicators'},76{'varname': 'poverty_headcount_ratio_190_2011_ppp', 'long_name': 'Poverty Headcount Ratio, $1.90 per day in 2011 USD PPP, 2015', 'short_name': 'Poverty Headcount Ratio, $1.90 per day in 2011 PPP', 'source':'World Bank, World Development Indicators'},77{'varname': 'recognition_rate_resid', 'long_name': 'Asylum Recognition Rate, Residuals from Regression on GDP per Capita', 'short_name': 'Asylum Recognition Rate, residuals', 'source':'United Nations High Commission for Refugees, Population Statistics'},78{'varname': 'recognition_rate', 'long_name': 'Asylum Recognition Rate, %, 2015', 'short_name': 'Asylum Recognition Rate', 'source':'United Nations High Commission for Refugees, Population Statistics'},79{'varname': 'refugees_resid', 'long_name': 'Refugees, Residuals from Regression on GDP per Capita', 'short_name': 'Refugees, residuals', 'source':'United Nations High Commission for Refugees, Population Statistics'},80{'varname': 'refugees', 'long_name': 'Refugees', 'short_name': 'Refugees, 2015', 'source':'United Nations High Commission for Refugees, Population Statistics'},81{'varname': 'remittances_resid', 'long_name': 'Personal remittances from abroad, USD, Residuals from Regression on GDP per Capita', 'short_name': 'Personal remittances from abroad, USD, Residuals', 'source':'World Bank, World Development Indicators'},82{'varname': 'remittances', 'long_name': 'Personal remittances from abroad, USD, 2015', 'short_name': 'Personal remittances', 'source':'World Bank, World Development Indicators'},83{'varname': 'renewable_freshwater_per_capita_resid', 'long_name': 'Renewable Freshwater Resources, cubic meters per capita, Residuals from Regression on GDP per Capita', 'short_name': 'Renewable Freshwater Resources, Residuals', 'source':'World Bank, World Development Indicators'},84{'varname': 'renewable_freshwater_per_capita', 'long_name': 'Renewable Freshwater Resources, cubic meters per capita, 2014', 'short_name': 'Renewable Freshwater Resources', 'source':'World Bank, World Development Indicators'},85{'varname': 'revenue_pct_gdp_resid', 'long_name': 'Government revenue, % of Gross Domestic Product, Residuals from Regression on GDP per Capita', 'short_name': 'Government revenue, % of GDP, Residuals', 'source':'World Bank, World Development Indicators'},86{'varname': 'revenue_pct_gdp', 'long_name': 'Government revenue, % of Gross Domestic Product, 2015', 'short_name': 'Government revenue, % of GDP', 'source':'World Bank, World Development Indicators'},87{'varname': 'risk_premium_resid', 'long_name': 'Risk Premium (over US Treasury), Residuals from Regression on GDP per Capita', 'short_name': 'Risk Premium (over US Treasury), Residuals', 'source':'World Bank, World Development Indicators'},88{'varname': 'risk_premium', 'long_name': 'Risk Premium (over US Treasury), 2015', 'short_name': 'Risk Premium (over US Treasury)', 'source':'World Bank, World Development Indicators'},89{'varname': 'slum_population_pct_urban_population_resid', 'long_name': 'Slum Population, % of Urban Population, Residuals from Regression on GDP per Capita', 'short_name': 'Slum Population, % of Urban Population, Residuals', 'source':'World Bank, World Development Indicators'},90{'varname': 'slum_population_pct_urban_population', 'long_name': 'Slum Population, % of Urban Population, 2014', 'short_name': 'Slum Population, % of Urban Population', 'source':'World Bank, World Development Indicators'},91{'varname': 'strength_legal_rights_0_12_resid', 'long_name': 'Strength of Legal Rights (0-12, 12 high), Residuals from Regression on GDP per Capita', 'short_name': 'Strength of Legal Rights (0-12, 12 high), Residuals', 'source':'World Bank, World Development Indicators'},92{'varname': 'strength_legal_rights_0_12', 'long_name': 'Strength of Legal Rights (0-12, 12 high), 2015', 'short_name': 'Strength of Legal Rights (0-12, 12 high)', 'source':'World Bank, World Development Indicators'},93{'varname': 'tax_revenue_pct_gdp_resid', 'long_name': 'Tax Revenue, % of Gross Domestic Product, Residuals from Regression on GDP per Capita', 'short_name': 'Tax Revenue, % of Gross Domestic Product, Residuals', 'source':'World Bank, World Development Indicators'},94{'varname': 'tax_revenue_pct_gdp', 'long_name': 'Tax Revenue, % of Gross Domestic Product, 2015', 'short_name': 'Tax Revenue, % of Gross Domestic Product', 'source':'World Bank, World Development Indicators'},95{'varname': 'ti_cpi_resid', 'long_name': 'Corruption Perception Index (reversed), Residuals from Regression on GDP per Capita', 'short_name': 'Corruption Perception Index (reversed), residuals', 'source':'Transparency International'},96{'varname': 'ti_cpi', 'long_name': 'Corruption Perception Index (reversed), 2015', 'short_name': 'Corruption Perception Index (reversed)', 'source':'Transparency International'},97{'varname': 'trade_pct_gdp_resid', 'long_name': 'Trade, % of Gross Domestic Product, Residuals from Regression on GDP per Capita', 'short_name': 'Trade, % of GDP, Residuals', 'source':'World Bank, World Development Indicators'},98{'varname': 'trade_pct_gdp', 'long_name': 'Trade, % of Gross Domestic Product, 2015', 'short_name': 'Trade, % of GDP', 'source':'World Bank, World Development Indicators'},99{'varname': 'urbpop_resid', 'long_name': 'Urban Population, % of Total, Residuals from Regression on GDP per Capita', 'short_name': 'Urban Population, % of Total, Residuals', 'source':'World Bank, World Development Indicators'},100{'varname': 'urbpop', 'long_name': 'Urban Population, % of Total, 2015', 'short_name': 'Urban Population', 'source':'World Bank, World Development Indicators'},101{'varname': 'use_internet_pct_pop_resid', 'long_name': 'Internet Use, % of Population,  Residuals from Regression on GDP per Capita', 'short_name': 'Internet Use, % of Population,  Residuals', 'source':'World Bank, World Development Indicators'},102{'varname': 'use_internet_pct_pop', 'long_name': 'Internet Use, % of Population, 2015', 'short_name': 'Internet Use', 'source':'World Bank, World Development Indicators'},103{'varname': 'asylum_seekers_pct_pop_resid', 'long_name': 'Asylum Seekers per Population, %, Residuals', 'short_name': 'Asylum Seekers, %, Residuals', 'source':'United Nations High Commission for Refugees, Population Statistics'},104{'varname': 'asylum_seekers_pct_pop', 'long_name': 'Asylum Seekers per Population, %, 2015', 'short_name': 'Asylum Seekers, %, 'source':'United Nations High Commission for Refugees, Population Statistics'},105{'varname': 'refugees_pct_pop_resid', 'long_name': 'Refugees per Population %, Residuals from Regression on GDP per Capita', 'short_name': 'Refugees, %, Residuals', 'source':'United Nations High Commission for Refugees, Population Statistics'},106{'varname': 'refugees_pct_pop', 'long_name': 'Refugees per Population, %, 2015', 'short_name': 'Refugees per Population, %', 'source':'United Nations High Commission for Refugees, Population Statistics'},107]108for i in range(len(vars)):109    filename = vars[i]['varname'] + '.csv'110    df = pd.read_csv(filename)111    112    data = [ dict(113           type = 'choropleth',114           locations = df['country_code'],115           z = df[vars[i]['varname']],116           text = df['country'],117           colorscale = [[0,"rgb(5, 10, 172)"],[0.35,"rgb(40, 60, 190)"],[0.5,"rgb(70, 100, 245)"],\118               [0.6,"rgb(90, 120, 245)"],[0.7,"rgb(106, 137, 247)"],[1,"rgb(220, 220, 220)"]],119    #        colorscale = 'Blues',120           autocolorscale = False,121           reversescale = True,122           marker = dict(123               line = dict (124                   color = 'rgb(180,180,180)',125                   width = 0.5126               )127           ),128    #        tick0 = 0,129           zmin = 0,130    #        dtick = 1000,131           colorbar = dict(132    #            autotick = False,133    #            tickprefix = '$',134               title = vars[i]['short_name']135           ),136       ) ]137    138    layout = dict(139       title = vars[i]['long_name'] + '<br>' + vars[i]['source'],140       geo = dict(141           showframe = False,142           showcoastlines = False,143           projection = dict(144               type = 'kavrayskiy7'145           )146       )147    )148    149    fig = dict( data=data, layout=layout )...LambdaTest’s Playwright tutorial will give you a broader idea about the Playwright automation framework, its unique features, and use cases with examples to exceed your understanding of Playwright testing. This tutorial will give A to Z guidance, from installing the Playwright framework to some best practices and advanced concepts.
Get 100 minutes of automation test minutes FREE!!
