kiwicourse 0.2.1 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0ddb79d7ff7699e3e0300bd14f33ae2f032e9395
4
- data.tar.gz: 1760386b2764212b77cc2705de993b72730f5bf5
3
+ metadata.gz: 5b0cda5893a3ecaf2a108d71053b49e94a4ef5f1
4
+ data.tar.gz: 8ded148d071e55f5acd30d275b87b8c0e949ae09
5
5
  SHA512:
6
- metadata.gz: 8a45d6a3f76a24dad55a50cfa33f383b2e819752d3b2028a9d2508fff4058568655095f84a2c51de9103b48a4a8132a804cc4863c610100bbcfea3a03c8ce498
7
- data.tar.gz: 1f91d2eca9e946604a7bd6c79cab920374c8f2f74633056d157c6d2ee3670365a0c2de4738a5029f4a3b709c055fa3378bce4e8327a895bb629cd0e9f1eb92b0
6
+ metadata.gz: 9746a1e72202559a3f3f2c933620dcefbd72d1ab34fd5313363216ca6ff42fd6f7e164b2ca604250109f2bddbc9abcb450816308938ba9c342e47dfc1d75c1fc
7
+ data.tar.gz: 101dee9ca8aeb2e19cc1a6044c48d5008493e196e3d460a346a24e27807ee91edd245c514a63075186bd8b3200bbadaa0bf152381672e812be246d44791e0883
data/README.md CHANGED
@@ -18,13 +18,13 @@ Run it from the command line.
18
18
 
19
19
  Search a course with a keyword
20
20
  ```sh
21
- $ coursesdesc search cellular
21
+ $ kiwicourse search cellular
22
22
  2015 細胞神經科學Cellular Neuroscience
23
23
  ```
24
24
 
25
25
  Open the course url in browser
26
26
  ```sh
27
- $ coursesdesc open 科學計算
27
+ $ kiwicourse open 科學計算
28
28
  ```
29
29
 
30
30
 
@@ -41,9 +41,10 @@ puts url_found
41
41
 
42
42
  ````
43
43
 
44
- ## Test
44
+ ## Run the tests
45
+
46
+ Using [rake](http://docs.seattlerb.org/rake/) to run tests. If you don't have rake using `gem install rake` to install it.
45
47
 
46
48
  ```sh
47
- $ cd spec
48
- $ ruby coursesdesc_spec.rb
49
+ $ rake spec
49
50
  ```
data/bin/kiwicourse CHANGED
@@ -11,24 +11,34 @@ class KiwiCLI < Thor
11
11
  def search(coursename)
12
12
  sc = KiwiScraper::ShareCourse.new
13
13
  result = FuzzyMatch.new(sc.course_name).find(coursename)
14
- puts result
14
+ input_key = Digest::SHA256.digest result
15
+ id = sc.courses_name_to_id_mapping[input_key]
16
+ puts "#{id} - #{result}"
15
17
  end
16
18
 
17
19
  desc 'list', 'List all courses on ShareCourse'
18
20
  def list
19
21
  sc = KiwiScraper::ShareCourse.new
20
- sc.course_name.each do |ele_courses|
21
- puts ele_courses
22
+ sc.courses_id_mapping.each do |key, info|
23
+ puts "#{key} - #{info['name']}"
22
24
  end
23
25
  end
24
26
 
25
- desc 'open COURSENAME', 'open the course page on browser'
26
- def open(coursename)
27
+ desc 'open ID', 'open the course page on browser with course id'
28
+ def open(id)
27
29
  sc = KiwiScraper::ShareCourse.new
28
- # puts sc.courses_name_to_url_mapping
29
- input_key = Digest::SHA256.digest coursename
30
- course_url = sc.courses_name_to_url_mapping[input_key]
31
- Launchy.open(course_url)
30
+ course = sc.courses_id_mapping[id]
31
+ Launchy.open(course['url'])
32
+ end
33
+
34
+ desc 'info ID', 'Display information about course.'
35
+ def info(id)
36
+ sc = KiwiScraper::ShareCourse.new
37
+ course = sc.courses_id_mapping[id]
38
+ puts "Course ID: #{course['id']}"
39
+ puts "Course: #{course['name']}"
40
+ puts "Course time: #{course['date']}"
41
+ puts "Course webpage#{course['url']}"
32
42
  end
33
43
  end
34
44
 
@@ -1,6 +1,7 @@
1
1
  require 'oga'
2
2
  require 'open-uri'
3
3
  require 'digest'
4
+ require 'pp'
4
5
 
5
6
  module KiwiScraper
6
7
  # parse course description from sharecourse web
@@ -16,20 +17,32 @@ module KiwiScraper
16
17
  end
17
18
 
18
19
  def course_name
19
- @course_name ||= get_course_name
20
+ @course_name ||= parse_course_name
21
+ end
22
+
23
+ def course_date
24
+ @course_date ||= get_course_date
20
25
  end
21
26
 
22
27
  def course_url
23
- @course_url ||= get_course_url
28
+ @course_url ||= parse_course_url
29
+ end
30
+
31
+ def courses_name_to_id_mapping
32
+ @course_map ||= make_course_name_to_id_map
33
+ end
34
+
35
+ def course_id
36
+ @course_id ||= parse_course_id
24
37
  end
25
38
 
26
- def courses_name_to_url_mapping
27
- @course_map ||= get_course
39
+ def courses_id_mapping
40
+ @course_id_map ||= map_course_id
28
41
  end
29
42
 
30
43
  private
31
44
 
32
- def get_course_name
45
+ def parse_course_name
33
46
  result = []
34
47
  @document.xpath("//h4[@id='courseName']").each do |course|
35
48
  result << course.text
@@ -37,7 +50,7 @@ module KiwiScraper
37
50
  result
38
51
  end
39
52
 
40
- def get_course_url
53
+ def parse_course_url
41
54
  result = []
42
55
  @document.xpath('//div[@onclick]').each do |course|
43
56
  result << course.attributes[2].value.split("'")[1]
@@ -45,25 +58,56 @@ module KiwiScraper
45
58
  result
46
59
  end
47
60
 
48
- def get_course
49
- name = []
50
- @document.xpath("//h4[@id='courseName']").each do |course|
51
- name << course.text
52
- end
61
+ def make_course_name_to_id_map
62
+ name = parse_course_name
63
+ course_id = parse_course_id
53
64
 
54
65
  hash_name = []
55
66
  name.each_index do |index|
56
67
  hash_name[index] = Digest::SHA256.digest name[index]
57
68
  end
58
69
 
59
- url = []
60
- @document.xpath('//div[@onclick]').each do |course|
61
- url << course.attributes[2].value.split("'")[1]
70
+ result = Hash[hash_name.zip(course_id)]
71
+
72
+ result
73
+ end
74
+
75
+ def map_course_id
76
+ name = parse_course_name
77
+ course_id = parse_course_id
78
+ date = get_course_date
79
+ url = parse_course_url
80
+ info = {}
81
+
82
+ # This iterate can replace by using zip function
83
+ course_id.each_index do |index|
84
+ info[course_id[index]] = {
85
+ 'name' => name[index],
86
+ 'date' => date[index],
87
+ 'url' => url[index],
88
+ 'id' => course_id[index]
89
+ }
62
90
  end
91
+ info
92
+ end
63
93
 
64
- result = Hash[hash_name.zip(url)]
94
+ def get_course_date
95
+ #date type yyyy-mm-dd - yyyy-mm-dd
96
+ date = []
97
+ @document.xpath("//p[@id='courseDate']").each do |course|
98
+ longdate = course.text
99
+ date << longdate.split(":")[1]
100
+ end
101
+ date
102
+ end
65
103
 
66
- result
104
+ def parse_course_id
105
+ course_id = []
106
+ @document.xpath("//div[@class='gb_mid']").each do |course|
107
+ course_id << course.children[4].children[0].children.text.split(":")[1]
108
+ end
109
+ course_id
67
110
  end
111
+
68
112
  end
69
113
  end
@@ -1,5 +1,5 @@
1
1
  # Versioning
2
2
  module CoursesDesc
3
- VERSION = '0.2.1'
4
- DATE = '2015-10-16'
3
+ VERSION = '0.3.0'
4
+ DATE = '2015-10-18'
5
5
  end
@@ -0,0 +1,220 @@
1
+ COURSES_DATE = [
2
+ '2015-10-12 - 2015-01-31',
3
+ '2015-10-19 - 2015-12-06',
4
+ '2015-10-19 - 2015-12-06',
5
+ '2015-10-19 - 2015-12-08',
6
+ '2015-11-02 - 2015-12-31',
7
+ '2015-11-02 - 2015-12-31',
8
+ '2015-11-02 - 2015-12-31',
9
+ '2015-11-08 - 2016-01-08',
10
+ '2015-12-01 - 2016-01-26',
11
+ '2015-10-06 - 2016-01-24',
12
+ '2015-10-02 - 2016-01-15',
13
+ '2015-10-01 - 2015-11-02',
14
+ '2015-09-30 - 2015-10-21',
15
+ '2015-09-28 - 2016-01-30',
16
+ '2015-09-25 - 2016-01-29',
17
+ '2015-09-25 - 2016-01-30',
18
+ '2015-09-24 - 2016-01-14',
19
+ '2015-09-24 - 2016-01-14',
20
+ '2015-09-22 - 2015-12-15',
21
+ '2015-09-22 - 2015-12-08',
22
+ '2015-09-21 - 2015-12-13',
23
+ '2015-09-21 - 2015-11-23',
24
+ '2015-09-20 - 2016-01-17',
25
+ '2015-09-15 - 2015-10-25',
26
+ '2015-09-15 - 2016-02-08',
27
+ '2015-09-14 - 2015-12-14',
28
+ '2015-09-14 - 2015-11-15',
29
+ '2015-09-14 - 2015-11-15',
30
+ '2015-09-14 - 2015-10-05',
31
+ '2015-09-14 - 2016-01-11',
32
+ '2015-09-14 - 2016-01-11',
33
+ '2015-09-14 - 2015-12-13',
34
+ '2015-09-14 - 2016-01-15',
35
+ '2015-09-09 - 2015-12-31',
36
+ '2015-09-09 - 2015-10-30',
37
+ '2015-09-07 - 2015-11-30',
38
+ '2015-09-03 - 2016-01-08',
39
+ '2015-09-01 - 2015-10-20',
40
+ '2015-09-01 - 2015-10-27',
41
+ '2015-09-01 - 2015-10-20',
42
+ '2015-09-01 - 2015-10-27',
43
+ '2015-08-31 - 2015-09-22',
44
+ '2015-08-17 - 2015-10-05',
45
+ '2015-08-01 - 2016-01-31',
46
+ '2015-08-01 - 2015-10-31',
47
+ '2015-08-01 - 2015-10-31',
48
+ '2015-08-01 - 2015-10-31',
49
+ '2015-07-22 - 2015-09-15',
50
+ '2015-07-13 - 2015-09-03',
51
+ '2015-07-13 - 2015-08-03',
52
+ '2015-07-06 - 2015-08-31',
53
+ '2015-07-01 - 2015-11-04',
54
+ '2015-06-30 - 2015-07-31',
55
+ '2015-06-30 - 2015-12-31',
56
+ '2015-06-16 - 2015-08-04',
57
+ '2015-06-15 - 2015-08-10',
58
+ '2015-06-11 - 0000-00-00',
59
+ '2015-06-01 - 2015-12-31',
60
+ '2015-06-01 - 2015-07-29',
61
+ '2015-05-30 - 2015-06-22',
62
+ '2015-05-11 - 2015-05-24',
63
+ '2015-04-28 - 2015-06-30',
64
+ '2015-04-27 - 2015-05-23',
65
+ '2015-04-20 - 2015-06-12',
66
+ '2015-04-17 - 2015-04-27',
67
+ '2015-04-07 - 2015-05-05',
68
+ '2015-04-01 - 2015-05-12',
69
+ '2015-03-30 - 2015-06-07',
70
+ '2015-03-10 - 2015-06-09',
71
+ '2015-03-02 - 2015-04-27',
72
+ '2015-03-02 - 2015-06-20',
73
+ '2015-03-02 - 2015-06-20',
74
+ '2015-03-02 - 2015-06-30',
75
+ '2015-01-14 - 2015-12-31',
76
+ '2015-01-01 - 2111-01-30',
77
+ '2015-01-01 - 2111-01-30',
78
+ '2014-12-29 - 2015-02-08',
79
+ '2014-12-22 - 2015-02-15',
80
+ '2014-12-22 - 2015-04-05',
81
+ '2014-12-15 - 2015-02-15',
82
+ '2014-12-15 - 2015-03-08',
83
+ '2014-12-15 - 2015-02-06',
84
+ '2014-12-08 - 2015-02-27',
85
+ '2014-12-01 - 2015-02-20',
86
+ '2014-11-25 - 2015-12-31',
87
+ '2014-11-15 - 2015-01-23',
88
+ '2014-10-27 - 2015-01-18',
89
+ '2014-10-27 - 2015-01-17',
90
+ '2014-10-15 - 2014-12-10',
91
+ '2014-10-13 - 2015-03-11',
92
+ '2014-10-13 - 2015-02-09',
93
+ '2014-10-06 - 2014-11-30',
94
+ '2014-10-04 - 2015-01-31',
95
+ '2014-10-01 - 2014-10-29',
96
+ '2014-10-01 - 2015-01-20',
97
+ '2014-10-01 - 2015-01-31',
98
+ '2014-10-01 - 2014-12-24',
99
+ '2014-10-01 - 2015-01-25',
100
+ '2014-10-01 - 2015-01-20',
101
+ '2014-10-01 - 2014-11-26',
102
+ '2014-10-01 - 2015-06-30',
103
+ '2014-10-01 - 2015-01-25',
104
+ '2014-10-01 - 2111-01-01',
105
+ '2014-10-01 - 2111-01-01',
106
+ '2014-10-01 - 2111-01-01',
107
+ '2014-10-01 - 2111-01-01',
108
+ '2014-10-01 - 2111-01-01',
109
+ '2014-10-01 - 2111-01-01',
110
+ '2014-09-29 - 2014-11-09',
111
+ '2014-09-29 - 2014-11-09',
112
+ '2014-09-29 - 2015-01-31',
113
+ '2014-09-26 - 2015-01-23',
114
+ '2014-09-25 - 2015-01-10',
115
+ '2014-09-25 - 2015-01-31',
116
+ '2014-09-24 - 2015-01-31',
117
+ '2014-09-22 - 2015-01-23',
118
+ '2014-09-22 - 2014-11-03',
119
+ '2014-09-22 - 2015-01-18',
120
+ '2014-09-22 - 2015-01-12',
121
+ '2014-09-15 - 2014-12-15',
122
+ '2014-09-15 - 2014-11-07',
123
+ '2014-09-15 - 2014-11-24',
124
+ '2014-09-15 - 2014-11-23',
125
+ '2014-09-15 - 2014-11-28',
126
+ '2014-09-14 - 2015-02-28',
127
+ '2014-09-10 - 2015-01-07',
128
+ '2014-09-02 - 2014-09-30',
129
+ '2014-08-11 - 2014-09-19',
130
+ '2014-07-29 - 2014-10-31',
131
+ '2014-06-30 - 2016-06-30',
132
+ '2014-06-26 - 2016-06-26',
133
+ '2014-06-26 - 2016-06-26',
134
+ '2014-06-26 - 2016-06-26',
135
+ '2014-06-26 - 2016-06-26',
136
+ '2014-06-26 - 2016-06-26',
137
+ '2014-06-26 - 2016-06-26',
138
+ '2014-06-26 - 2016-06-26',
139
+ '2014-06-26 - 2016-06-26',
140
+ '2014-06-26 - 2016-06-26',
141
+ '2014-06-26 - 2016-06-26',
142
+ '2014-06-26 - 2016-06-26',
143
+ '2014-06-23 - 2014-08-08',
144
+ '2014-06-16 - 2016-07-01',
145
+ '2014-06-16 - 2016-07-01',
146
+ '2014-06-16 - 2016-07-01',
147
+ '2014-06-16 - 2016-07-01',
148
+ '2014-06-16 - 2016-07-01',
149
+ '2014-06-16 - 2016-07-01',
150
+ '2014-06-16 - 2015-06-15',
151
+ '2014-04-25 - 2020-04-25',
152
+ '2014-04-15 - 2014-05-31',
153
+ '2014-04-02 - 2014-04-02',
154
+ '2014-04-01 - 2014-05-31',
155
+ '2014-03-14 - 2111-01-30',
156
+ '2014-03-14 - 2111-01-30',
157
+ '2014-03-14 - 2111-01-30',
158
+ '2014-03-11 - 2111-01-30',
159
+ '2014-03-11 - 2111-01-30',
160
+ '2014-03-11 - 2111-01-30',
161
+ '2014-03-11 - 2111-01-30',
162
+ '2014-03-07 - 2111-01-30',
163
+ '2014-03-07 - 2015-05-20',
164
+ '2014-03-07 - 2111-01-30',
165
+ '2014-03-07 - 2015-05-20',
166
+ '2014-03-07 - 2111-01-30',
167
+ '2014-03-05 - 2111-01-30',
168
+ '2014-03-05 - 2111-01-30',
169
+ '2014-03-05 - 2111-01-30',
170
+ '2014-03-04 - 2111-01-30',
171
+ '2014-03-04 - 2111-01-30',
172
+ '2014-02-27 - 2111-01-30',
173
+ '2014-02-27 - 2111-01-30',
174
+ '2014-02-25 - 2111-01-30',
175
+ '2014-02-25 - 2111-01-30',
176
+ '2014-02-20 - 2111-01-30',
177
+ '2014-02-20 - 2111-01-30',
178
+ '2014-02-18 - 2111-01-30',
179
+ '2014-02-17 - 2014-06-20',
180
+ '2014-02-13 - 2111-01-30',
181
+ '2014-02-12 - 2111-01-30',
182
+ '2014-02-12 - 2111-01-30',
183
+ '2014-02-10 - 2111-01-30',
184
+ '2014-02-10 - 2111-01-30',
185
+ '2014-02-10 - 2111-01-30',
186
+ '2014-02-07 - 2111-01-30',
187
+ '2014-02-07 - 2111-01-30',
188
+ '2014-01-01 - 2014-12-31',
189
+ '2014-01-01 - 2014-12-31',
190
+ '2014-01-01 - 2014-12-31',
191
+ '2013-12-04 - 2014-04-30',
192
+ '2013-12-01 - 2013-12-23',
193
+ '2013-11-27 - 2014-11-26',
194
+ '2013-11-22 - 2014-11-21',
195
+ '2013-11-01 - 2013-12-13',
196
+ '2013-10-01 - 2014-01-31',
197
+ '2013-09-27 - 2014-01-20',
198
+ '2013-09-26 - 2014-02-28',
199
+ '2013-09-17 - 2014-01-07',
200
+ '2013-09-16 - 2014-02-14',
201
+ '2013-09-16 - 2014-01-19',
202
+ '2013-09-12 - 2014-01-31',
203
+ '2013-08-26 - 2014-01-09',
204
+ '2013-08-26 - 2014-01-09',
205
+ '2013-08-16 - 2013-09-16',
206
+ '2013-08-01 - 2013-11-30',
207
+ '2013-07-27 - 2013-07-28',
208
+ '2013-07-19 - 2014-07-31',
209
+ '2013-06-16 - 2013-06-17',
210
+ '2013-02-22 - 2013-06-15',
211
+ '2013-02-22 - 2013-06-15',
212
+ '2013-02-22 - 2013-06-15',
213
+ '2013-02-22 - 2013-09-25',
214
+ '2013-02-22 - 2013-06-15',
215
+ '2013-02-22 - 2013-06-15',
216
+ '2013-02-22 - 2013-06-15',
217
+ '2013-02-19 - 2013-06-30',
218
+ '2012-11-30 - 2013-02-07',
219
+ '2012-11-30 - 2013-02-28',
220
+ '0000-00-00 - 0000-00-00']
@@ -0,0 +1,219 @@
1
+ COURSES_ID = ['MA02004',
2
+ 'AO35004',
3
+ 'DM91002',
4
+ 'WL33002',
5
+ 'SP31002',
6
+ 'SO31003',
7
+ 'SO31004',
8
+ 'AN54005',
9
+ 'CM81009',
10
+ 'MM39012',
11
+ 'MM39013',
12
+ 'ML22006',
13
+ 'CS08006',
14
+ 'OL48008',
15
+ 'OL48009',
16
+ 'OL48010',
17
+ 'CM99001',
18
+ 'AN99002',
19
+ 'WL32009',
20
+ 'OL32010',
21
+ 'JL91001',
22
+ 'MM93001',
23
+ 'PH05009',
24
+ 'CS01023',
25
+ 'CS92001',
26
+ 'CS121000',
27
+ 'CS01022',
28
+ 'CS01024',
29
+ 'CS08004',
30
+ 'SC46005',
31
+ 'SC46006',
32
+ 'OL33001',
33
+ 'CS01024',
34
+ 'HS05007',
35
+ 'PH05008',
36
+ 'AN54004',
37
+ 'CS13001',
38
+ 'CS81006',
39
+ 'CM81005',
40
+ 'MM81007',
41
+ 'CM81008',
42
+ 'CS08005',
43
+ 'ML22007',
44
+ 'ML34002',
45
+ 'SS39009',
46
+ 'MM39010',
47
+ 'AM39011',
48
+ 'ML98001',
49
+ 'CS01021',
50
+ 'CS08003',
51
+ 'CM81004',
52
+ 'OL48007',
53
+ 'CS32008',
54
+ 'LI01023',
55
+ 'MM81003',
56
+ 'CS81002',
57
+ 'WL32006',
58
+ 'ML22005',
59
+ 'CM81001',
60
+ 'CS08002',
61
+ 'CS05005',
62
+ 'CH54003',
63
+ 'CS08001',
64
+ 'ML22004',
65
+ 'CS01019',
66
+ 'OL31001',
67
+ 'CS02005',
68
+ 'CS05006',
69
+ 'AN54002',
70
+ 'EE57005',
71
+ 'OL48005',
72
+ 'OL48006',
73
+ 'SC46004',
74
+ 'SC46003',
75
+ 'MM10037',
76
+ 'EE10038',
77
+ 'AO35003',
78
+ 'AO35002',
79
+ 'CM55004',
80
+ 'AO35001',
81
+ 'CM55003',
82
+ 'EE57004',
83
+ 'SC46002',
84
+ 'EC05001',
85
+ 'ML22003',
86
+ 'LE58001',
87
+ 'CE02002',
88
+ 'CS02003',
89
+ 'TT10201',
90
+ 'TO60001',
91
+ 'OL59001',
92
+ 'EE57003',
93
+ 'MM16002',
94
+ 'ML22002',
95
+ 'MS57002',
96
+ 'OL48003',
97
+ 'AN54001',
98
+ 'OL48002',
99
+ 'NB13001',
100
+ 'MM16003',
101
+ 'MM16004',
102
+ 'OL48004',
103
+ 'EE10031',
104
+ 'CS10032',
105
+ 'EE10033',
106
+ 'EE10034',
107
+ 'EE10035',
108
+ 'EE10036',
109
+ 'CS05003',
110
+ 'CS05004',
111
+ 'EP57001',
112
+ 'WL32005',
113
+ 'ML22001',
114
+ 'OL32004',
115
+ 'EE62001',
116
+ 'CS51001',
117
+ 'PH05002',
118
+ 'EE50001',
119
+ 'OL48001',
120
+ 'CM55002',
121
+ 'CS01017',
122
+ 'SC46001',
123
+ 'CM55001',
124
+ 'GE10206',
125
+ 'CS06001',
126
+ 'GE10204',
127
+ 'EM01018',
128
+ 'CS32003',
129
+ 'GE10203',
130
+ 'HR10018',
131
+ 'HR10007',
132
+ 'HR10008',
133
+ 'HR10009',
134
+ 'HR10010',
135
+ 'HR10011',
136
+ 'HR10012',
137
+ 'HR10013',
138
+ 'HR10014',
139
+ 'HR10015',
140
+ 'HR10016',
141
+ 'HR10017',
142
+ 'CS32002',
143
+ 'HR10001',
144
+ 'HR10002',
145
+ 'HR10003',
146
+ 'HR10004',
147
+ 'HR10005',
148
+ 'HR10006',
149
+ 'CS10007',
150
+ 'CS10003',
151
+ 'CS05003',
152
+ 'EE10028',
153
+ 'CS05002',
154
+ 'EE10024',
155
+ 'EE10025',
156
+ 'EE10026',
157
+ 'EE10020',
158
+ 'EE10021',
159
+ 'EE10022',
160
+ 'EE10023',
161
+ 'EE10027',
162
+ 'CS10004',
163
+ 'EE10018',
164
+ 'CS10005',
165
+ 'EE10019',
166
+ 'EE10014',
167
+ 'EE10015',
168
+ 'EE10017',
169
+ 'EE10013',
170
+ 'EE10016',
171
+ 'CS10006',
172
+ 'EE10012',
173
+ 'EE10010',
174
+ 'EE10011',
175
+ 'EE10008',
176
+ 'EE10009',
177
+ 'EE10005',
178
+ 'CS32001',
179
+ 'EE10004',
180
+ 'EE10002',
181
+ 'EE10003',
182
+ 'EE10007',
183
+ 'EE10029',
184
+ 'EE10030',
185
+ 'EE10001',
186
+ 'EE10006',
187
+ 'CS10001',
188
+ 'CM10001',
189
+ 'ML10001',
190
+ 'CS25001',
191
+ 'CS10002',
192
+ 'MN09009',
193
+ 'CS01016',
194
+ 'CS02001',
195
+ 'CS01013',
196
+ 'CS01014',
197
+ 'CS01015',
198
+ 'CS18001',
199
+ 'CS01007',
200
+ 'CS16001',
201
+ 'CS05001',
202
+ 'CS01009',
203
+ 'CS01010',
204
+ 'CS07001',
205
+ 'MN09007',
206
+ 'HSS19001',
207
+ 'CS01012',
208
+ 'CS01011',
209
+ 'EE01003',
210
+ 'CS01004',
211
+ 'CS04001',
212
+ 'CS01005',
213
+ 'CS03001',
214
+ 'CS04001',
215
+ 'CS01008',
216
+ 'CS01006',
217
+ 'CS01001',
218
+ 'CS01002',
219
+ 'EE62002']