kiwicourse 0.5.2 → 0.5.3
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 +4 -4
- data/bin/kiwicourse +3 -5
- data/lib/coursesdesc/courses.rb +12 -0
- data/lib/coursesdesc/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f084b9a509a5a7846325dfe174b6ce04c6d0ed1d
|
4
|
+
data.tar.gz: 4cdabbbb525b4aaef30f43f35057cdf197bfbb26
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8c6b6e8ce7bad62982fb358fb7ab49eba17aa5cde8add4064a7bbdddd82d91459bde1f8c4f9d9233843883773e2b3154cce7574d1b0e4a17dd92b1f51301d457
|
7
|
+
data.tar.gz: e51c5088ccb248962567103e7839b50f55a836de5f46501333f3b039fa25dd93f37d5cf4958851cab4ad8ae654aa774ee14001a45e4b01c8d316319679f28cef
|
data/bin/kiwicourse
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
require 'digest'
|
3
3
|
require 'thor'
|
4
|
-
require 'fuzzy_match'
|
5
4
|
require 'launchy'
|
6
5
|
require 'kiwicourse' # for production
|
7
6
|
# require './lib/coursesdesc/courses.rb' # for cmd line testing purposes
|
@@ -11,10 +10,9 @@ class KiwiCLI < Thor
|
|
11
10
|
desc 'search COURSENAME', 'Search a course on ShareCourse'
|
12
11
|
def search(coursename)
|
13
12
|
sc = KiwiScraper::OfflineCourses.new.get_instance
|
14
|
-
|
15
|
-
|
16
|
-
id
|
17
|
-
puts "#{id} - #{result}"
|
13
|
+
id = sc.search_courses(coursename)['id']
|
14
|
+
name = sc.search_courses(coursename)['name']
|
15
|
+
puts "#{id} - #{name}"
|
18
16
|
end
|
19
17
|
|
20
18
|
desc 'list', 'List all courses on ShareCourse'
|
data/lib/coursesdesc/courses.rb
CHANGED
@@ -2,6 +2,7 @@ require 'oga'
|
|
2
2
|
require 'open-uri'
|
3
3
|
require 'digest'
|
4
4
|
require 'pp'
|
5
|
+
require 'fuzzy_match'
|
5
6
|
|
6
7
|
module KiwiScraper
|
7
8
|
# parse course description from sharecourse web
|
@@ -36,7 +37,18 @@ module KiwiScraper
|
|
36
37
|
@course_id_map ||= map_course_id_to_all
|
37
38
|
end
|
38
39
|
|
40
|
+
def search_courses(keyword)
|
41
|
+
@found_cource ||= do_search_course(keyword)
|
42
|
+
end
|
43
|
+
|
39
44
|
private
|
45
|
+
|
46
|
+
def do_search_course(keyword)
|
47
|
+
result = FuzzyMatch.new(course_name).find(keyword)
|
48
|
+
input_key = Digest::SHA256.digest result
|
49
|
+
id = courses_name_to_id_mapping[input_key]
|
50
|
+
courses_id_to_all_mapping[id]
|
51
|
+
end
|
40
52
|
|
41
53
|
def parse_html
|
42
54
|
@document = Oga.parse_html(open(URL))
|
data/lib/coursesdesc/version.rb
CHANGED