kiwicourse 0.5.0 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d7b9ff279325700a6b408a2aca343429a031f1c4
4
- data.tar.gz: 04e73095dc4f2411a78b745e26cbb409f7bfa179
3
+ metadata.gz: ada816db70fd85d1a7981cf06bba8257e01dd130
4
+ data.tar.gz: 977f702cbc2fb6b77101ebbe355510cbb68a7167
5
5
  SHA512:
6
- metadata.gz: eb3c64503319829d557c8fdc69bbdf426af642d817b4b75957f340a2e4dcc62edcfa6f3149147b003ede91412317821a741a1fbe7c169782f282abbad8c32221
7
- data.tar.gz: a82a0d1b1c0e11dfc825dd1c7b4b03a7bb55488c7ccdcaa9c95b5f3a8bb1b60e0a257b09d74a93359b166e0b7a2d90585995173de092fe1a51cf80693529807a
6
+ metadata.gz: 63fdb381de9510d65129c0b1349ac8dc4e0865ede618622d823ef60532c49b6a85e43afa82c41ce30b5fb1434208d9d4aaece216d42ade0c6d002833987522fe
7
+ data.tar.gz: 6e513d41f0b5bc57f88b7e2315a99e8351d0753fea62e85a73aa296c1bce4f803f3b73e336666e7da254e4d094802caaac8c67a12e1a0ab577fd0e41b3777233
data/bin/kiwicourse CHANGED
@@ -3,14 +3,14 @@ require 'digest'
3
3
  require 'thor'
4
4
  require 'fuzzy_match'
5
5
  require 'launchy'
6
- require 'kiwicourse' # for production
7
- # require './lib/coursesdesc/courses.rb' # for cmd line testing purposes
8
- # require './lib/coursesdesc/offline.rb' # for cmd line testing purposes
6
+ # require 'kiwicourse' # for production
7
+ require './lib/coursesdesc/courses.rb' # for cmd line testing purposes
8
+ require './lib/coursesdesc/offline.rb' # for cmd line testing purposes
9
9
 
10
10
  class KiwiCLI < Thor
11
11
  desc 'search COURSENAME', 'Search a course on ShareCourse'
12
12
  def search(coursename)
13
- sc = KiwiDumper::Courses.new.get_instance
13
+ sc = KiwiScraper::OfflineCourses.new.get_instance
14
14
  result = FuzzyMatch.new(sc.course_name).find(coursename)
15
15
  input_key = Digest::SHA256.digest result
16
16
  id = sc.courses_name_to_id_mapping[input_key]
@@ -19,7 +19,7 @@ class KiwiCLI < Thor
19
19
 
20
20
  desc 'list', 'List all courses on ShareCourse'
21
21
  def list
22
- sc = KiwiDumper::Courses.new.get_instance
22
+ sc = KiwiScraper::OfflineCourses.new.get_instance
23
23
  sc.courses_id_to_all_mapping.each do |key, info|
24
24
  puts "#{key} - #{info['name']}"
25
25
  end
@@ -27,14 +27,14 @@ class KiwiCLI < Thor
27
27
 
28
28
  desc 'open ID', 'Open the course page on browser with course id'
29
29
  def open(id)
30
- sc = KiwiDumper::Courses.new.get_instance
30
+ sc = KiwiScraper::OfflineCourses.new.get_instance
31
31
  course = sc.courses_id_to_all_mapping[id]
32
32
  Launchy.open(course['url'])
33
33
  end
34
34
 
35
35
  desc 'info ID', 'Display information about course.'
36
36
  def info(id)
37
- sc = KiwiDumper::Courses.new.get_instance
37
+ sc = KiwiScraper::OfflineCourses.new.get_instance
38
38
  course = sc.courses_id_to_all_mapping[id]
39
39
  puts "Course ID: #{course['id']}"
40
40
  puts "Course: #{course['name']}"
@@ -0,0 +1,20 @@
1
+ require_relative './courses.rb'
2
+
3
+ DUMP_FILE_PATH = Dir.home + '/.kiwicourse.dump'
4
+
5
+ module KiwiScraper
6
+ class OfflineCourses
7
+ def initialize
8
+ if File.exist?(DUMP_FILE_PATH)
9
+ @sc = Marshal.load(File.read(DUMP_FILE_PATH))
10
+ else
11
+ @sc = KiwiScraper::ShareCourse.new
12
+ File.open(DUMP_FILE_PATH, 'w') { |f| f.write(Marshal.dump(@sc)) }
13
+ end
14
+ end
15
+
16
+ def get_instance
17
+ @sc
18
+ end
19
+ end
20
+ end
@@ -1,5 +1,5 @@
1
1
  # Versioning
2
2
  module CoursesDesc
3
- VERSION = '0.5.0'
3
+ VERSION = '0.5.1'
4
4
  DATE = '2015-10-24'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kiwicourse
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Lin
@@ -127,6 +127,7 @@ files:
127
127
  - bin/kiwicourse
128
128
  - kiwicourse.gemspec
129
129
  - lib/coursesdesc/courses.rb
130
+ - lib/coursesdesc/offline.rb
130
131
  - lib/coursesdesc/version.rb
131
132
  - lib/kiwicourse.rb
132
133
  - spec/courses_date_data.rb