Sha256: f3fc44e018033bf2fa71252d23e682343a8c760240aa01b84d50fcacab51d6b5
Contents?: true
Size: 1.6 KB
Versions: 1
Compression:
Stored size: 1.6 KB
Contents
#!/usr/bin/env ruby require 'digest' require 'thor' require 'fuzzy_match' require 'launchy' # require 'kiwicourse' # for production require './lib/coursesdesc/courses.rb' # for cmd line testing purposes require './lib/coursesdesc/offline.rb' # for cmd line testing purposes class KiwiCLI < Thor desc 'search COURSENAME', 'Search a course on ShareCourse' def search(coursename) sc = KiwiScraper::OfflineCourses.new.get_instance result = FuzzyMatch.new(sc.course_name).find(coursename) input_key = Digest::SHA256.digest result id = sc.courses_name_to_id_mapping[input_key] puts "#{id} - #{result}" end desc 'list', 'List all courses on ShareCourse' def list sc = KiwiScraper::OfflineCourses.new.get_instance sc.courses_id_to_all_mapping.each do |key, info| puts "#{key} - #{info['name']}" end end desc 'open ID', 'Open the course page on browser with course id' def open(id) sc = KiwiScraper::OfflineCourses.new.get_instance course = sc.courses_id_to_all_mapping[id] Launchy.open(course['url']) end desc 'info ID', 'Display information about course.' def info(id) sc = KiwiScraper::OfflineCourses.new.get_instance course = sc.courses_id_to_all_mapping[id] puts "Course ID: #{course['id']}" puts "Course: #{course['name']}" puts "Course time: #{course['date']}" puts "Course webpage: #{course['url']}" end desc 'update', 'Update the offline courses data' def update sc = KiwiScraper::ShareCourse.new File.open(DUMP_FILE_PATH, 'w') { |f| f.write(Marshal.dump(sc)) } puts 'Already up to date.' end end KiwiCLI.start(ARGV)
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
kiwicourse-0.5.1 | bin/kiwicourse |