moodle2cc 0.1.0 → 0.1.1
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.
- data/lib/moodle2cc/cc/web_link.rb +1 -1
- data/lib/moodle2cc/logger.rb +19 -0
- data/lib/moodle2cc/migrator.rb +3 -0
- data/lib/moodle2cc/version.rb +1 -1
- data/lib/moodle2cc.rb +6 -4
- data/test/unit/cc/web_link_test.rb +7 -0
- data/test/unit/logger_test.rb +33 -0
- metadata +7 -4
@@ -0,0 +1,19 @@
|
|
1
|
+
module Moodle2CC
|
2
|
+
class Logger
|
3
|
+
def self.logger
|
4
|
+
Thread.current[:__moodle2cc_logger__] || ::Logger.new(STDOUT)
|
5
|
+
end
|
6
|
+
|
7
|
+
def self.logger=(logger)
|
8
|
+
Thread.current[:__moodle2cc_logger__] = logger
|
9
|
+
end
|
10
|
+
|
11
|
+
def self.add_warning(message, exception)
|
12
|
+
if logger.respond_to? :add_warning
|
13
|
+
logger.add_warning(message, exception)
|
14
|
+
elsif logger.respond_to? :warn
|
15
|
+
logger.warn "#{message}\n #{exception.message}\n"
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
data/lib/moodle2cc/migrator.rb
CHANGED
@@ -4,6 +4,7 @@ module Moodle2CC
|
|
4
4
|
@source = source
|
5
5
|
@destination = destination
|
6
6
|
@format = options['format'] || 'cc'
|
7
|
+
Moodle2CC::Logger.logger = options['logger'] || ::Logger.new(STDOUT)
|
7
8
|
raise(Moodle2CC::Error, "'#{@source}' does not exist") unless File.exists?(@source)
|
8
9
|
raise(Moodle2CC::Error, "'#{@destination}' is not a directory") unless File.directory?(@destination)
|
9
10
|
raise(Moodle2CC::Error, "'#{@format}' is not a valid format. Please use 'cc' or 'canvas'.") unless ['cc', 'canvas'].include?(@format)
|
@@ -14,6 +15,8 @@ module Moodle2CC
|
|
14
15
|
backup = Moodle2CC::Moodle::Backup.read @source
|
15
16
|
@converter = @converter_class.new backup, @destination
|
16
17
|
@converter.convert
|
18
|
+
rescue StandardError => error
|
19
|
+
Moodle2CC::Logger.add_warning 'error migrating content', error
|
17
20
|
end
|
18
21
|
|
19
22
|
def imscc_path
|
data/lib/moodle2cc/version.rb
CHANGED
data/lib/moodle2cc.rb
CHANGED
@@ -1,13 +1,15 @@
|
|
1
|
-
require '
|
1
|
+
require 'builder'
|
2
2
|
require 'cgi'
|
3
|
-
require 'ostruct'
|
4
|
-
require 'fileutils'
|
5
3
|
require 'erb'
|
4
|
+
require 'fileutils'
|
6
5
|
require 'happymapper'
|
7
|
-
require '
|
6
|
+
require 'logger'
|
8
7
|
require 'nokogiri'
|
8
|
+
require 'ostruct'
|
9
|
+
require 'uri'
|
9
10
|
|
10
11
|
require 'moodle2cc/error'
|
12
|
+
require 'moodle2cc/logger'
|
11
13
|
require 'moodle2cc/migrator'
|
12
14
|
|
13
15
|
module Moodle2CC
|
@@ -36,6 +36,13 @@ class TestUnitCCWebLink < MiniTest::Unit::TestCase
|
|
36
36
|
assert_equal "http://en.wikipedia.org/wiki/Einstein", web_link.url
|
37
37
|
end
|
38
38
|
|
39
|
+
def test_it_strips_whitespace_from_url
|
40
|
+
@mod.reference = " http://en.wikipedia.org/wiki/Einstein "
|
41
|
+
|
42
|
+
web_link = Moodle2CC::CC::WebLink.new @mod
|
43
|
+
assert_equal "http://en.wikipedia.org/wiki/Einstein", web_link.url
|
44
|
+
end
|
45
|
+
|
39
46
|
def test_it_has_an_identifier
|
40
47
|
@mod.id = 123
|
41
48
|
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'minitest/autorun'
|
2
|
+
require 'moodle2cc'
|
3
|
+
require 'stringio'
|
4
|
+
|
5
|
+
class TestUnitLogger < MiniTest::Unit::TestCase
|
6
|
+
class MyLogger
|
7
|
+
attr_accessor :message, :exception
|
8
|
+
|
9
|
+
def add_warning(message, exception)
|
10
|
+
@message = message
|
11
|
+
@exception = exception
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_it_logs_a_warning
|
16
|
+
stdout = StringIO.new
|
17
|
+
Moodle2CC::Logger.logger = ::Logger.new(stdout)
|
18
|
+
ex = StandardError.new 'Kablooey!!!'
|
19
|
+
Moodle2CC::Logger.add_warning 'got an error', ex
|
20
|
+
assert_match /got an error/, stdout.string
|
21
|
+
assert_match /Kablooey!!!/, stdout.string
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_it_adds_a_warning
|
25
|
+
my_logger = MyLogger.new
|
26
|
+
Moodle2CC::Logger.logger = my_logger
|
27
|
+
ex = StandardError.new 'Kablooey!!!'
|
28
|
+
msg = 'got an error'
|
29
|
+
Moodle2CC::Logger.add_warning msg, ex
|
30
|
+
assert_equal msg, my_logger.message
|
31
|
+
assert_equal ex, my_logger.exception
|
32
|
+
end
|
33
|
+
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: moodle2cc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 25
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 1
|
10
|
+
version: 0.1.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Christopher Durtschi
|
@@ -17,7 +17,7 @@ autorequire:
|
|
17
17
|
bindir: bin
|
18
18
|
cert_chain: []
|
19
19
|
|
20
|
-
date: 2012-07-
|
20
|
+
date: 2012-07-26 00:00:00 Z
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|
23
23
|
name: rubyzip
|
@@ -213,6 +213,7 @@ files:
|
|
213
213
|
- lib/moodle2cc/cc/wiki.rb
|
214
214
|
- lib/moodle2cc/cli.rb
|
215
215
|
- lib/moodle2cc/error.rb
|
216
|
+
- lib/moodle2cc/logger.rb
|
216
217
|
- lib/moodle2cc/migrator.rb
|
217
218
|
- lib/moodle2cc/moodle/backup.rb
|
218
219
|
- lib/moodle2cc/moodle/course.rb
|
@@ -256,6 +257,7 @@ files:
|
|
256
257
|
- test/unit/cc/web_content_test.rb
|
257
258
|
- test/unit/cc/web_link_test.rb
|
258
259
|
- test/unit/cc/wiki_test.rb
|
260
|
+
- test/unit/logger_test.rb
|
259
261
|
- test/unit/migrator_test.rb
|
260
262
|
- test/unit/moodle/backup_test.rb
|
261
263
|
- test/unit/moodle/course_test.rb
|
@@ -331,6 +333,7 @@ test_files:
|
|
331
333
|
- test/unit/cc/web_content_test.rb
|
332
334
|
- test/unit/cc/web_link_test.rb
|
333
335
|
- test/unit/cc/wiki_test.rb
|
336
|
+
- test/unit/logger_test.rb
|
334
337
|
- test/unit/migrator_test.rb
|
335
338
|
- test/unit/moodle/backup_test.rb
|
336
339
|
- test/unit/moodle/course_test.rb
|