alexandria-book-collection-manager 0.6.9 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.rubocop.yml +34 -30
- data/.rubocop_todo.yml +139 -54
- data/CHANGELOG.md +10 -0
- data/Gemfile +1 -0
- data/Rakefile +10 -11
- data/alexandria-book-collection-manager.gemspec +3 -2
- data/bin/alexandria +1 -1
- data/lib/alexandria.rb +3 -6
- data/lib/alexandria/about.rb +9 -9
- data/lib/alexandria/book_providers.rb +12 -12
- data/lib/alexandria/book_providers/adlibris.rb +14 -18
- data/lib/alexandria/book_providers/amazon_aws.rb +17 -31
- data/lib/alexandria/book_providers/amazon_ecs_util.rb +5 -6
- data/lib/alexandria/book_providers/barnes_and_noble.rb +51 -76
- data/lib/alexandria/book_providers/bol_it.rb +12 -12
- data/lib/alexandria/book_providers/deastore.rb +27 -31
- data/lib/alexandria/book_providers/douban.rb +9 -13
- data/lib/alexandria/book_providers/ibs_it.rb +10 -10
- data/lib/alexandria/book_providers/mcu.rb +12 -18
- data/lib/alexandria/book_providers/proxis.rb +14 -22
- data/lib/alexandria/book_providers/pseudomarc.rb +8 -18
- data/lib/alexandria/book_providers/renaud.rb +16 -16
- data/lib/alexandria/book_providers/siciliano.rb +25 -38
- data/lib/alexandria/book_providers/thalia.rb +13 -16
- data/lib/alexandria/book_providers/webster_it.rb +14 -18
- data/lib/alexandria/book_providers/worldcat.rb +21 -25
- data/lib/alexandria/book_providers/z3950.rb +19 -23
- data/lib/alexandria/config.rb +2 -2
- data/lib/alexandria/execution_queue.rb +3 -1
- data/lib/alexandria/export_library.rb +19 -22
- data/lib/alexandria/import_library.rb +14 -18
- data/lib/alexandria/import_library_csv.rb +12 -30
- data/lib/alexandria/models/book.rb +7 -9
- data/lib/alexandria/models/library.rb +44 -44
- data/lib/alexandria/net.rb +1 -1
- data/lib/alexandria/preferences.rb +12 -57
- data/lib/alexandria/scanners.rb +10 -6
- data/lib/alexandria/scanners/cuecat.rb +2 -2
- data/lib/alexandria/smart_library.rb +12 -12
- data/lib/alexandria/ui.rb +5 -2
- data/lib/alexandria/ui/callbacks.rb +106 -65
- data/lib/alexandria/ui/completion_models.rb +55 -51
- data/lib/alexandria/ui/dialogs/about_dialog.rb +1 -1
- data/lib/alexandria/ui/dialogs/acquire_dialog.rb +25 -51
- data/lib/alexandria/ui/dialogs/alert_dialog.rb +13 -11
- data/lib/alexandria/ui/dialogs/bad_isbns_dialog.rb +2 -2
- data/lib/alexandria/ui/dialogs/barcode_animation.rb +39 -23
- data/lib/alexandria/ui/dialogs/book_properties_dialog.rb +16 -21
- data/lib/alexandria/ui/dialogs/book_properties_dialog_base.rb +23 -24
- data/lib/alexandria/ui/dialogs/export_dialog.rb +46 -45
- data/lib/alexandria/ui/dialogs/import_dialog.rb +26 -35
- data/lib/alexandria/ui/dialogs/misc_dialogs.rb +11 -11
- data/lib/alexandria/ui/dialogs/new_book_dialog.rb +47 -59
- data/lib/alexandria/ui/dialogs/new_book_dialog_manual.rb +14 -13
- data/lib/alexandria/ui/dialogs/new_smart_library_dialog.rb +12 -11
- data/lib/alexandria/ui/dialogs/preferences_dialog.rb +37 -43
- data/lib/alexandria/ui/dialogs/smart_library_properties_dialog.rb +9 -8
- data/lib/alexandria/ui/dialogs/smart_library_properties_dialog_base.rb +47 -53
- data/lib/alexandria/ui/dndable.rb +5 -4
- data/lib/alexandria/ui/icons.rb +19 -19
- data/lib/alexandria/ui/iconview.rb +7 -12
- data/lib/alexandria/ui/iconview_tooltips.rb +22 -109
- data/lib/alexandria/ui/init.rb +7 -15
- data/lib/alexandria/ui/libraries_combo.rb +54 -48
- data/lib/alexandria/ui/listview.rb +30 -85
- data/lib/alexandria/ui/multi_drag_treeview.rb +110 -107
- data/lib/alexandria/ui/sidepane.rb +23 -25
- data/lib/alexandria/ui/sound.rb +18 -27
- data/lib/alexandria/ui/ui_manager.rb +126 -204
- data/lib/alexandria/undo_manager.rb +2 -2
- data/lib/alexandria/version.rb +4 -4
- data/spec/alexandria/book_providers_spec.rb +7 -4
- data/spec/alexandria/library_spec.rb +13 -16
- data/spec/alexandria/scanners/cuecat_spec.rb +1 -2
- data/spec/alexandria/ui/dialogs_spec.rb +5 -1
- data/spec/alexandria/ui/main_app_spec.rb +3 -3
- data/{lib/alexandria/utils.rb → spec/alexandria/ui/sound_spec.rb} +6 -11
- data/spec/alexandria/ui/ui_utilities_spec.rb +3 -3
- data/spec/spec_helper.rb +2 -2
- data/util/rake/fileinstall.rb +17 -33
- data/util/rake/gettextgenerate.rb +2 -4
- data/util/rake/omfgenerate.rb +1 -3
- metadata +23 -11
- data/lib/alexandria/ui/gtk_thread_help.rb +0 -89
data/lib/alexandria/version.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2014
|
1
|
+
# Copyright (C) 2014-2016 Matijs van Zuijlen
|
2
2
|
#
|
3
3
|
# This file is part of Alexandria.
|
4
4
|
#
|
@@ -18,7 +18,7 @@
|
|
18
18
|
# Fifth Floor, Boston, MA 02110-1301 USA.
|
19
19
|
|
20
20
|
module Alexandria
|
21
|
-
VERSION = '0.
|
22
|
-
DATA_VERSION = '0.6.3'
|
23
|
-
DISPLAY_VERSION = '0.
|
21
|
+
VERSION = '0.7.0'.freeze
|
22
|
+
DATA_VERSION = '0.6.3'.freeze
|
23
|
+
DISPLAY_VERSION = '0.7.0'.freeze
|
24
24
|
end
|
@@ -26,7 +26,11 @@ describe Alexandria::BookProviders do
|
|
26
26
|
it 'should be less clever'
|
27
27
|
|
28
28
|
def assert_correct_search_result(provider, query, search_type = Alexandria::BookProviders::SEARCH_BY_ISBN)
|
29
|
-
|
29
|
+
begin
|
30
|
+
results = provider.instance.search(query, search_type)
|
31
|
+
rescue SocketError
|
32
|
+
skip 'Service is offline'
|
33
|
+
end
|
30
34
|
|
31
35
|
puts results.inspect if $DEBUG
|
32
36
|
|
@@ -43,7 +47,7 @@ describe Alexandria::BookProviders do
|
|
43
47
|
canonical_query = Alexandria::Library.canonicalise_ean(query)
|
44
48
|
canonical_result = Alexandria::Library.canonicalise_ean(book.isbn)
|
45
49
|
expect(canonical_query).to eq(canonical_result),
|
46
|
-
|
50
|
+
"Result's isbn #{book.isbn} is not equivalent to the requested isbn #{query} for #{provider}"
|
47
51
|
|
48
52
|
if results.length == 2
|
49
53
|
cover_url = results.last
|
@@ -135,9 +139,8 @@ describe Alexandria::BookProviders do
|
|
135
139
|
# providers supposed to be always working
|
136
140
|
|
137
141
|
it 'Barnes and Noble should work' do
|
138
|
-
skip 'Needs fixing'
|
139
142
|
assert_correct_search_result(Alexandria::BookProviders::BarnesAndNobleProvider,
|
140
|
-
'9780961328917')
|
143
|
+
'9780961328917') # see #1433
|
141
144
|
end
|
142
145
|
|
143
146
|
it 'MCU should work' do
|
@@ -1,7 +1,7 @@
|
|
1
1
|
#-- -*- ruby -*-
|
2
2
|
# Copyright (C) 2004-2006 Dafydd Harries
|
3
3
|
# Copyright (C) 2007 Cathal Mc Ginley
|
4
|
-
# Copyright (C) 2011, 2014
|
4
|
+
# Copyright (C) 2011, 2014-2016 Matijs van Zuijlen
|
5
5
|
#
|
6
6
|
# Alexandria is free software; you can redistribute it and/or
|
7
7
|
# modify it under the terms of the GNU General Public License as
|
@@ -49,11 +49,11 @@ describe Alexandria::Library do
|
|
49
49
|
|
50
50
|
describe '#canonicalise_isbn' do
|
51
51
|
it 'returns the correct value for several examples' do
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
52
|
+
expect(Alexandria::Library.canonicalise_isbn('014143984X')).to eq '014143984X'
|
53
|
+
expect(Alexandria::Library.canonicalise_isbn('0-345-43192-8')).to eq '0345431928'
|
54
|
+
expect(Alexandria::Library.canonicalise_isbn('3522105907')).to eq '3522105907'
|
55
|
+
# EAN number
|
56
|
+
expect(Alexandria::Library.canonicalise_isbn('9780345431929')).to eq '0345431928'
|
57
57
|
end
|
58
58
|
end
|
59
59
|
|
@@ -67,7 +67,7 @@ describe Alexandria::Library do
|
|
67
67
|
first_copy = an_artist_of_the_floating_world
|
68
68
|
my_library << first_copy
|
69
69
|
my_library.delete(first_copy)
|
70
|
-
expect { my_library.delete(first_copy) }.to raise_error
|
70
|
+
expect { my_library.delete(first_copy) }.to raise_error ArgumentError
|
71
71
|
end
|
72
72
|
|
73
73
|
it 'allows multiple copies of a book to be added and deleted in turn' do
|
@@ -85,7 +85,6 @@ describe Alexandria::Library do
|
|
85
85
|
# puts "AAA my_library.size #{my_library.size}"
|
86
86
|
|
87
87
|
# puts "second_copy #{second_copy.object_id}"
|
88
|
-
# lambda { my_library.delete(second_copy) }.should raise_error
|
89
88
|
expect { my_library.delete(second_copy) }.not_to raise_error
|
90
89
|
|
91
90
|
# puts "BBB my_library.size #{my_library.size}"
|
@@ -112,11 +111,11 @@ describe Alexandria::Library do
|
|
112
111
|
it "doesn't work quite yet" do
|
113
112
|
skip
|
114
113
|
# Doesn't work quite yet.
|
115
|
-
on_iterate_cb = proc {
|
116
|
-
on_error_cb = proc {
|
117
|
-
library,
|
118
|
-
test_file =
|
119
|
-
library.import_as_isbn_list(
|
114
|
+
on_iterate_cb = proc {}
|
115
|
+
on_error_cb = proc {}
|
116
|
+
library, _libraries = __test_fake_import_isbns
|
117
|
+
test_file = 'data/isbns.txt'
|
118
|
+
library.import_as_isbn_list('Test Library', test_file, on_iterate_cb, on_error_cb)
|
120
119
|
end
|
121
120
|
end
|
122
121
|
|
@@ -245,9 +244,7 @@ describe Alexandria::Library do
|
|
245
244
|
|
246
245
|
after(:each) do
|
247
246
|
FileUtils.rm_rf(TESTDIR)
|
248
|
-
if File.exist? @outfile
|
249
|
-
File.unlink @outfile
|
250
|
-
end
|
247
|
+
File.unlink @outfile if File.exist? @outfile
|
251
248
|
end
|
252
249
|
end
|
253
250
|
end
|
@@ -29,8 +29,7 @@ describe Alexandria::Scanners::CueCat do
|
|
29
29
|
'.C3nZC3nZC3n2ChnWENz7DxnY.',
|
30
30
|
'.C3nZC3nZC3n2ChnWENz7DxnY.cGen',
|
31
31
|
'.C3nZC3nZC3n2ChnWENz7DxnY.cGen.',
|
32
|
-
'.C3nZC3nZC3n2ChnWENz7DxnY.cGen.ENr7C3z0CNj3Dhj1EW'
|
33
|
-
]
|
32
|
+
'.C3nZC3nZC3n2ChnWENz7DxnY.cGen.ENr7C3z0CNj3Dhj1EW']
|
34
33
|
@scans = {
|
35
34
|
isbn: '.C3nZC3nZC3n2ChnWENz7DxnY.cGen.ENr7C3z0CNj3Dhj1EW.',
|
36
35
|
ib5: '.C3nZC3nZC3n2ChnWENz7DxnY.cGf2.ENr7C3z0DNn0ENnWE3nZDhP6.'
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# Copyright (C) 2007 Joseph Method
|
2
|
+
# Copyright (C) 2015, 2016 Matijs van Zuijlen
|
2
3
|
#
|
3
4
|
# Alexandria is free software; you can redistribute it and/or
|
4
5
|
# modify it under the terms of the GNU General Public License as
|
@@ -82,7 +83,10 @@ describe Alexandria::UI::AlertDialog do
|
|
82
83
|
end
|
83
84
|
|
84
85
|
describe Alexandria::UI::AcquireDialog do
|
85
|
-
it 'should work'
|
86
|
+
it 'should work' do
|
87
|
+
parent = Gtk::Window.new :toplevel
|
88
|
+
Alexandria::UI::AcquireDialog.new parent
|
89
|
+
end
|
86
90
|
end
|
87
91
|
|
88
92
|
describe Alexandria::UI::AboutDialog do
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# Copyright (C) 2007 Joseph Method
|
2
2
|
# Copyright (C) 2007 Cathal Mc Ginley
|
3
|
-
# Copyright (C) 2011, 2014
|
3
|
+
# Copyright (C) 2011, 2014-2016 Matijs van Zuijlen
|
4
4
|
#
|
5
5
|
# Alexandria is free software; you can redistribute it and/or
|
6
6
|
# modify it under the terms of the GNU General Public License as
|
@@ -37,13 +37,13 @@ describe Alexandria::UI::MainApp do
|
|
37
37
|
it 'should be a singleton' do
|
38
38
|
expect do
|
39
39
|
Alexandria::UI::MainApp.new
|
40
|
-
end.to raise_error
|
40
|
+
end.to raise_error NoMethodError
|
41
41
|
end
|
42
42
|
|
43
43
|
it 'runs' do
|
44
44
|
@main_app = Alexandria::UI::MainApp.instance
|
45
45
|
|
46
|
-
|
46
|
+
GLib::Timeout.add(100) do
|
47
47
|
@main_app.main_app.destroy
|
48
48
|
Gtk.main_quit
|
49
49
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C)
|
1
|
+
# Copyright (C) 2016 Matijs van Zuijlen
|
2
2
|
#
|
3
3
|
# Alexandria is free software; you can redistribute it and/or
|
4
4
|
# modify it under the terms of the GNU General Public License as
|
@@ -15,16 +15,11 @@
|
|
15
15
|
# write to the Free Software Foundation, Inc., 51 Franklin Street,
|
16
16
|
# Fifth Floor, Boston, MA 02110-1301 USA.
|
17
17
|
|
18
|
-
require '
|
18
|
+
require 'spec_helper'
|
19
19
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
# desired_charset cannot accommodate all the characters present in
|
25
|
-
# the string, e.g. trying to convert Japanese Kanji to ISO-8859-1
|
26
|
-
# will obviously not work.
|
27
|
-
def convert(desired_charset, source_data_charset)
|
28
|
-
GLib.convert(self, desired_charset, source_data_charset)
|
20
|
+
describe Alexandria::UI::SoundEffectsPlayer do
|
21
|
+
it 'can be instantiated' do
|
22
|
+
player = described_class.new
|
23
|
+
expect(player).to be_instance_of described_class
|
29
24
|
end
|
30
25
|
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# Copyright (C) 2007 Joseph Method
|
2
|
-
# Copyright (C) 2011 Matijs van Zuijlen
|
2
|
+
# Copyright (C) 2011, 2014-2016 Matijs van Zuijlen
|
3
3
|
#
|
4
4
|
# Alexandria is free software; you can redistribute it and/or
|
5
5
|
# modify it under the terms of the GNU General Public License as
|
@@ -35,8 +35,8 @@ end
|
|
35
35
|
|
36
36
|
# from icons
|
37
37
|
|
38
|
-
describe
|
39
|
-
it 'should extend
|
38
|
+
describe GdkPixbuf::Pixbuf do
|
39
|
+
it 'should extend GdkPixbuf::PixBuf'
|
40
40
|
end
|
41
41
|
|
42
42
|
describe Alexandria::UI::Icons do
|
data/spec/spec_helper.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
# Copyright (C) 2007 Joseph Method
|
2
|
-
# Copyright (C) 2014 Matijs van Zuijlen
|
2
|
+
# Copyright (C) 2014, 2016 Matijs van Zuijlen
|
3
3
|
#
|
4
4
|
# Alexandria is free software; you can redistribute it and/or
|
5
5
|
# modify it under the terms of the GNU General Public License as
|
@@ -36,8 +36,8 @@ def an_artist_of_the_floating_world
|
|
36
36
|
'Paperback')
|
37
37
|
end
|
38
38
|
|
39
|
-
Thread.new { Alexandria::UI.start_gnome_program }
|
40
39
|
Alexandria::UI::Icons.init
|
40
|
+
Alexandria::UI.start_main_app
|
41
41
|
|
42
42
|
module Alexandria
|
43
43
|
class Library
|
data/util/rake/fileinstall.rb
CHANGED
@@ -65,9 +65,7 @@ class FileInstallTask < Rake::TaskLib
|
|
65
65
|
@stage_dir = dirname # || @prefix
|
66
66
|
@file_groups = []
|
67
67
|
@dirs_to_remove_globs = []
|
68
|
-
if block_given?
|
69
|
-
yield self
|
70
|
-
end
|
68
|
+
yield self if block_given?
|
71
69
|
make_tasks
|
72
70
|
end
|
73
71
|
|
@@ -85,9 +83,7 @@ class FileInstallTask < Rake::TaskLib
|
|
85
83
|
# INSTALL TASK
|
86
84
|
|
87
85
|
description = 'Install package files'
|
88
|
-
if @stage_dir
|
89
|
-
description += ' to staging directory'
|
90
|
-
end
|
86
|
+
description += ' to staging directory' if @stage_dir
|
91
87
|
desc description
|
92
88
|
task tasknames[:install] do
|
93
89
|
@file_groups.each { |g| g.install(@stage_dir) }
|
@@ -107,19 +103,13 @@ class FileInstallTask < Rake::TaskLib
|
|
107
103
|
@dirs_to_remove_globs.each do |glob|
|
108
104
|
regex = glob2regex(glob)
|
109
105
|
all_dirs.each do |dir|
|
110
|
-
unless dir =~ /\/$/
|
111
|
-
|
112
|
-
end
|
113
|
-
if regex =~ dir
|
114
|
-
to_delete << Regexp.last_match[1]
|
115
|
-
end
|
106
|
+
dir += '/' unless dir =~ /\/$/
|
107
|
+
to_delete << Regexp.last_match[1] if regex =~ dir
|
116
108
|
end
|
117
109
|
end
|
118
110
|
to_delete.each do |dirname|
|
119
111
|
dir = dirname
|
120
|
-
if @stage_dir
|
121
|
-
dir = File.join(@stage_dir, dirname)
|
122
|
-
end
|
112
|
+
dir = File.join(@stage_dir, dirname) if @stage_dir
|
123
113
|
delete_empty(dir)
|
124
114
|
end
|
125
115
|
end
|
@@ -150,7 +140,7 @@ class FileInstallTask < Rake::TaskLib
|
|
150
140
|
# Install files the same way as +install+, but setting the mode of
|
151
141
|
# the installed file to be executable.
|
152
142
|
def install_exe(src_dir, file_glob, dest_dir)
|
153
|
-
@file_groups << FileGroup.new(src_dir, file_glob, dest_dir,
|
143
|
+
@file_groups << FileGroup.new(src_dir, file_glob, dest_dir, 0o755)
|
154
144
|
end
|
155
145
|
|
156
146
|
# Install icon files. This method splits up the source file name and
|
@@ -181,11 +171,11 @@ class FileInstallTask < Rake::TaskLib
|
|
181
171
|
def calculate_ruby_dir
|
182
172
|
ruby_prefix = RbConfig::CONFIG['prefix']
|
183
173
|
|
184
|
-
if @install_to_rubylibdir
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
174
|
+
ruby_libdir = if @install_to_rubylibdir
|
175
|
+
RbConfig::CONFIG['rubylibdir']
|
176
|
+
else
|
177
|
+
RbConfig::CONFIG['sitelibdir']
|
178
|
+
end
|
189
179
|
if ENV.key?('RUBYLIBDIR')
|
190
180
|
ruby_libdir = ENV['RUBYLIBDIR']
|
191
181
|
end
|
@@ -193,7 +183,7 @@ class FileInstallTask < Rake::TaskLib
|
|
193
183
|
@prefix = ENV['PREFIX'] || ruby_prefix
|
194
184
|
if @prefix == ruby_prefix
|
195
185
|
@rubylib = ruby_libdir
|
196
|
-
elsif ruby_libdir.index(ruby_prefix)
|
186
|
+
elsif ruby_libdir.index(ruby_prefix).zero?
|
197
187
|
libpart = ruby_libdir[ruby_prefix.size..-1]
|
198
188
|
@rubylib = File.join(@prefix, libpart)
|
199
189
|
else
|
@@ -202,9 +192,7 @@ class FileInstallTask < Rake::TaskLib
|
|
202
192
|
end
|
203
193
|
|
204
194
|
def glob2regex(pathglob)
|
205
|
-
if pathglob =~ /\*\*$/
|
206
|
-
pathglob += '/'
|
207
|
-
end
|
195
|
+
pathglob += '/' if pathglob =~ /\*\*$/
|
208
196
|
real_parts = pathglob.split('**/')
|
209
197
|
real_parts.each do |part|
|
210
198
|
part.gsub!('.', '\\.')
|
@@ -220,23 +208,19 @@ class FileInstallTask < Rake::TaskLib
|
|
220
208
|
def delete_empty(dirs)
|
221
209
|
dirs.each do |d|
|
222
210
|
p = Pathname.new(d)
|
223
|
-
if p.exist?
|
224
|
-
delete_if_empty(p.realpath)
|
225
|
-
end
|
211
|
+
delete_if_empty(p.realpath) if p.exist?
|
226
212
|
end
|
227
213
|
end
|
228
214
|
|
229
215
|
# Delete the directory at the given Pathname +p+ if all its children
|
230
216
|
# can be similarly deleted, and if it is then empty.
|
231
217
|
def delete_if_empty(p)
|
232
|
-
unless p.directory?
|
233
|
-
return false
|
234
|
-
end
|
218
|
+
return false unless p.directory?
|
235
219
|
p.children.each do |c|
|
236
220
|
delete_if_empty(c)
|
237
221
|
end
|
238
222
|
if p.children.empty?
|
239
|
-
p.delete # TODO optional verbose output here
|
223
|
+
p.delete # TODO: optional verbose output here
|
240
224
|
true
|
241
225
|
else
|
242
226
|
false
|
@@ -246,7 +230,7 @@ class FileInstallTask < Rake::TaskLib
|
|
246
230
|
class FileGroup
|
247
231
|
attr_reader :mode
|
248
232
|
attr_accessor :description
|
249
|
-
def initialize(src_dir, file_glob, dest_dir, mode =
|
233
|
+
def initialize(src_dir, file_glob, dest_dir, mode = 0o644)
|
250
234
|
@src_dir = src_dir
|
251
235
|
@file_glob = file_glob
|
252
236
|
@dest_dir = dest_dir
|
@@ -32,9 +32,7 @@ class GettextGenerateTask < Rake::TaskLib
|
|
32
32
|
def initialize(projectname)
|
33
33
|
@projectname = projectname
|
34
34
|
@generated_files = []
|
35
|
-
if block_given?
|
36
|
-
yield self
|
37
|
-
end
|
35
|
+
yield self if block_given?
|
38
36
|
make_task
|
39
37
|
end
|
40
38
|
|
@@ -59,7 +57,7 @@ class GettextGenerateTask < Rake::TaskLib
|
|
59
57
|
FileUtils.makedirs(dest_dir) unless FileTest.exists?(dest_dir)
|
60
58
|
puts "Generating #{t.name}"
|
61
59
|
system("msgfmt #{t.source} -o #{t.name}")
|
62
|
-
raise "msgfmt failed for #{t.source}" if $CHILD_STATUS
|
60
|
+
raise "msgfmt failed for #{t.source}" if $CHILD_STATUS.nonzero?
|
63
61
|
end
|
64
62
|
mo_files.each { |mo| @generated_files << mo }
|
65
63
|
end
|
data/util/rake/omfgenerate.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: alexandria-book-collection-manager
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alexander McCormmach
|
@@ -28,7 +28,7 @@ authors:
|
|
28
28
|
autorequire:
|
29
29
|
bindir: bin
|
30
30
|
cert_chain: []
|
31
|
-
date:
|
31
|
+
date: 2016-10-02 00:00:00.000000000 Z
|
32
32
|
dependencies:
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: gettext
|
@@ -73,19 +73,33 @@ dependencies:
|
|
73
73
|
- !ruby/object:Gem::Version
|
74
74
|
version: '4.3'
|
75
75
|
- !ruby/object:Gem::Dependency
|
76
|
-
name:
|
76
|
+
name: gtk3
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|
78
78
|
requirements:
|
79
79
|
- - "~>"
|
80
80
|
- !ruby/object:Gem::Version
|
81
|
-
version:
|
81
|
+
version: 3.0.9
|
82
82
|
type: :runtime
|
83
83
|
prerelease: false
|
84
84
|
version_requirements: !ruby/object:Gem::Requirement
|
85
85
|
requirements:
|
86
86
|
- - "~>"
|
87
87
|
- !ruby/object:Gem::Version
|
88
|
-
version:
|
88
|
+
version: 3.0.9
|
89
|
+
- !ruby/object:Gem::Dependency
|
90
|
+
name: gio2
|
91
|
+
requirement: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - "~>"
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: 3.0.9
|
96
|
+
type: :runtime
|
97
|
+
prerelease: false
|
98
|
+
version_requirements: !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
100
|
+
- - "~>"
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: 3.0.9
|
89
103
|
- !ruby/object:Gem::Dependency
|
90
104
|
name: gstreamer
|
91
105
|
requirement: !ruby/object:Gem::Requirement
|
@@ -120,14 +134,14 @@ dependencies:
|
|
120
134
|
requirements:
|
121
135
|
- - "~>"
|
122
136
|
- !ruby/object:Gem::Version
|
123
|
-
version: '
|
137
|
+
version: '11.1'
|
124
138
|
type: :development
|
125
139
|
prerelease: false
|
126
140
|
version_requirements: !ruby/object:Gem::Requirement
|
127
141
|
requirements:
|
128
142
|
- - "~>"
|
129
143
|
- !ruby/object:Gem::Version
|
130
|
-
version: '
|
144
|
+
version: '11.1'
|
131
145
|
- !ruby/object:Gem::Dependency
|
132
146
|
name: rspec
|
133
147
|
requirement: !ruby/object:Gem::Requirement
|
@@ -231,7 +245,6 @@ files:
|
|
231
245
|
- lib/alexandria/ui/dialogs/smart_library_properties_dialog.rb
|
232
246
|
- lib/alexandria/ui/dialogs/smart_library_properties_dialog_base.rb
|
233
247
|
- lib/alexandria/ui/dndable.rb
|
234
|
-
- lib/alexandria/ui/gtk_thread_help.rb
|
235
248
|
- lib/alexandria/ui/icons.rb
|
236
249
|
- lib/alexandria/ui/iconview.rb
|
237
250
|
- lib/alexandria/ui/iconview_tooltips.rb
|
@@ -244,7 +257,6 @@ files:
|
|
244
257
|
- lib/alexandria/ui/sound.rb
|
245
258
|
- lib/alexandria/ui/ui_manager.rb
|
246
259
|
- lib/alexandria/undo_manager.rb
|
247
|
-
- lib/alexandria/utils.rb
|
248
260
|
- lib/alexandria/version.rb
|
249
261
|
- lib/alexandria/web_themes.rb
|
250
262
|
- misc/sounds/README
|
@@ -411,6 +423,7 @@ files:
|
|
411
423
|
- spec/alexandria/ui/listview_spec.rb
|
412
424
|
- spec/alexandria/ui/main_app_spec.rb
|
413
425
|
- spec/alexandria/ui/sidepane_spec.rb
|
426
|
+
- spec/alexandria/ui/sound_spec.rb
|
414
427
|
- spec/alexandria/ui/ui_manager_spec.rb
|
415
428
|
- spec/alexandria/ui/ui_utilities_spec.rb
|
416
429
|
- spec/alexandria/utilities_spec.rb
|
@@ -460,9 +473,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
460
473
|
version: '0'
|
461
474
|
requirements: []
|
462
475
|
rubyforge_project:
|
463
|
-
rubygems_version: 2.
|
476
|
+
rubygems_version: 2.5.1
|
464
477
|
signing_key:
|
465
478
|
specification_version: 4
|
466
479
|
summary: GNOME application for managing collections of books
|
467
480
|
test_files: []
|
468
|
-
has_rdoc:
|