alexandria-book-collection-manager 0.7.4 → 0.7.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +31 -6
- data/.rubocop_todo.yml +33 -33
- data/.travis.yml +39 -0
- data/CHANGELOG.md +8 -0
- data/README.md +1 -1
- data/Rakefile +4 -2
- data/alexandria-book-collection-manager.gemspec +2 -1
- data/bin/alexandria +0 -10
- data/doc/FAQ +1 -2
- data/doc/dependency_decisions.yml +5 -5
- data/lib/alexandria.rb +3 -1
- data/lib/alexandria/book_providers.rb +1 -4
- data/lib/alexandria/book_providers/adlibris.rb +4 -20
- data/lib/alexandria/book_providers/amazon_aws.rb +15 -8
- data/lib/alexandria/book_providers/amazon_ecs_util.rb +16 -10
- data/lib/alexandria/book_providers/barnes_and_noble.rb +1 -1
- data/lib/alexandria/book_providers/douban.rb +2 -2
- data/lib/alexandria/book_providers/proxis.rb +6 -2
- data/lib/alexandria/book_providers/pseudomarc.rb +3 -1
- data/lib/alexandria/book_providers/siciliano.rb +24 -27
- data/lib/alexandria/book_providers/thalia.rb +1 -1
- data/lib/alexandria/book_providers/worldcat.rb +5 -3
- data/lib/alexandria/book_providers/z3950.rb +20 -14
- data/lib/alexandria/export_library.rb +15 -12
- data/lib/alexandria/import_library.rb +65 -65
- data/lib/alexandria/library_collection.rb +2 -1
- data/lib/alexandria/library_store.rb +18 -7
- data/lib/alexandria/models/book.rb +2 -1
- data/lib/alexandria/models/library.rb +9 -3
- data/lib/alexandria/preferences.rb +13 -6
- data/lib/alexandria/scanners/keyboard.rb +2 -2
- data/lib/alexandria/smart_library.rb +41 -39
- data/lib/alexandria/ui/acquire_dialog.rb +47 -48
- data/lib/alexandria/ui/alert_dialog.rb +2 -1
- data/lib/alexandria/ui/barcode_animation.rb +6 -5
- data/lib/alexandria/ui/book_properties_dialog_base.rb +7 -3
- data/lib/alexandria/ui/callbacks.rb +14 -7
- data/lib/alexandria/ui/dndable.rb +1 -1
- data/lib/alexandria/ui/export_dialog.rb +0 -2
- data/lib/alexandria/ui/icons.rb +2 -1
- data/lib/alexandria/ui/iconview.rb +5 -3
- data/lib/alexandria/ui/import_dialog.rb +6 -8
- data/lib/alexandria/ui/keep_bad_isbn_dialog.rb +4 -3
- data/lib/alexandria/ui/listview.rb +34 -31
- data/lib/alexandria/ui/multi_drag_treeview.rb +3 -2
- data/lib/alexandria/ui/new_book_dialog.rb +28 -30
- data/lib/alexandria/ui/new_book_dialog_manual.rb +3 -1
- data/lib/alexandria/ui/provider_preferences_base_dialog.rb +2 -1
- data/lib/alexandria/ui/sidepane_manager.rb +6 -3
- data/lib/alexandria/ui/smart_library_properties_dialog_base.rb +5 -3
- data/lib/alexandria/ui/ui_manager.rb +22 -12
- data/lib/alexandria/version.rb +2 -2
- data/po/Makefile +2 -2
- data/share/alexandria/glade/acquire_dialog__builder.glade +1 -1
- data/share/alexandria/glade/book_properties_dialog__builder.glade +1 -1
- data/share/alexandria/glade/new_book_dialog__builder.glade +1 -1
- data/share/alexandria/glade/preferences_dialog__builder.glade +1 -1
- data/share/gnome/help/alexandria/C/introduction.xml +0 -4
- data/share/gnome/help/alexandria/C/searching.xml +1 -1
- data/share/gnome/help/alexandria/ja/introduction.xml +0 -4
- data/spec/alexandria/book_providers_spec.rb +12 -16
- data/spec/alexandria/console_spec.rb +1 -1
- data/spec/alexandria/ui/main_app_spec.rb +4 -31
- data/spec/alexandria/ui/really_delete_dialog_spec.rb +2 -1
- data/tasks/spec.rake +6 -4
- data/util/rake/fileinstall.rb +3 -1
- metadata +19 -7
- data/dogtail/basic_run_test.py +0 -9
- data/lib/alexandria/book_providers/renaud.rb +0 -142
- data/tasks/dogtail.rake +0 -6
@@ -111,7 +111,8 @@ module Alexandria
|
|
111
111
|
cb = Gtk::ComboBoxText.new
|
112
112
|
[_("all"), _("any")].each { |x| cb.append_text(x) }
|
113
113
|
cb.signal_connect("changed") do
|
114
|
-
@predicate_operator_rule =
|
114
|
+
@predicate_operator_rule =
|
115
|
+
cb.active.zero? ? SmartLibrary::ALL_RULES : SmartLibrary::ANY_RULE
|
115
116
|
end
|
116
117
|
cb.active =
|
117
118
|
predicate_operator_rule == SmartLibrary::ALL_RULES ? 0 : 1
|
@@ -405,8 +406,9 @@ module Alexandria
|
|
405
406
|
end
|
406
407
|
|
407
408
|
def parse_date(datestring)
|
408
|
-
|
409
|
-
|
409
|
+
# '%m/%d/%Y' for USA and Canada ; or '%Y-%m-%d' for most of Asia
|
410
|
+
# http://en.wikipedia.org/wiki/Calendar_date#Middle_endian_forms.2C_starting_with_the_month
|
411
|
+
date_format = "%d/%m/%Y"
|
410
412
|
begin
|
411
413
|
d = Date.strptime(datestring, date_format)
|
412
414
|
Time.gm(d.year, d.month, d.day)
|
@@ -12,8 +12,8 @@ require "alexandria/library_sort_order"
|
|
12
12
|
module Alexandria
|
13
13
|
module UI
|
14
14
|
class UIManager < BuilderBase
|
15
|
-
attr_accessor :main_app, :actiongroup, :appbar, :prefs, :listview, :iconview,
|
16
|
-
:iconview_model, :filtered_model
|
15
|
+
attr_accessor :main_app, :actiongroup, :appbar, :prefs, :listview, :iconview,
|
16
|
+
:listview_model, :iconview_model, :filtered_model
|
17
17
|
attr_reader :model
|
18
18
|
include Logging
|
19
19
|
include GetText
|
@@ -296,7 +296,8 @@ module Alexandria
|
|
296
296
|
library_already_selected = true
|
297
297
|
if (path = widget.get_path_at_pos(event.x, event.y))
|
298
298
|
@clicking_on_sidepane = true
|
299
|
-
obj, path =
|
299
|
+
obj, path =
|
300
|
+
widget.is_a?(Gtk::TreeView) ? [widget.selection, path.first] : [widget, path]
|
300
301
|
widget.has_focus = true
|
301
302
|
|
302
303
|
unless obj.path_is_selected?(path)
|
@@ -347,7 +348,8 @@ module Alexandria
|
|
347
348
|
# not a right click
|
348
349
|
elsif (path = widget.get_path_at_pos(event.x, event.y))
|
349
350
|
@clicking_on_sidepane = true
|
350
|
-
obj, path =
|
351
|
+
obj, path =
|
352
|
+
widget.is_a?(Gtk::TreeView) ? [widget.selection, path.first] : [widget, path]
|
351
353
|
obj.select_path(path)
|
352
354
|
sensitize_library selected_library
|
353
355
|
end
|
@@ -373,7 +375,8 @@ module Alexandria
|
|
373
375
|
widget.grab_focus
|
374
376
|
|
375
377
|
if (path = widget.get_path_at_pos(event.x.to_i, event.y.to_i))
|
376
|
-
obj, path =
|
378
|
+
obj, path =
|
379
|
+
widget.is_a?(Gtk::TreeView) ? [widget.selection, path.first] : [widget, path]
|
377
380
|
|
378
381
|
unless obj.path_is_selected?(path)
|
379
382
|
log.debug { "Select #{path}" }
|
@@ -458,7 +461,9 @@ module Alexandria
|
|
458
461
|
@actiongroup["Move"].sensitive =
|
459
462
|
@actiongroup["SetRating"].sensitive = !books.empty?
|
460
463
|
|
461
|
-
log.debug
|
464
|
+
log.debug do
|
465
|
+
"on_books_selection_changed Delete: #{@actiongroup['Delete'].sensitive?}"
|
466
|
+
end
|
462
467
|
|
463
468
|
if library.is_a?(SmartLibrary)
|
464
469
|
@actiongroup["Delete"].sensitive =
|
@@ -509,8 +514,7 @@ module Alexandria
|
|
509
514
|
end
|
510
515
|
|
511
516
|
def determine_delete_option
|
512
|
-
|
513
|
-
sensitive
|
517
|
+
@libraries.all_regular_libraries.length > 1 || selected_library.is_a?(SmartLibrary)
|
514
518
|
end
|
515
519
|
|
516
520
|
def on_close_sidepane
|
@@ -663,11 +667,15 @@ module Alexandria
|
|
663
667
|
end
|
664
668
|
end
|
665
669
|
|
666
|
-
log.debug
|
670
|
+
log.debug do
|
671
|
+
"Trying to add #{book.title}, #{cover_uri}" \
|
672
|
+
" in library ''#{library.name}'"
|
673
|
+
end
|
667
674
|
library.save_cover(book, cover_uri) unless cover_uri.nil?
|
668
675
|
library << book
|
669
676
|
library.save(book)
|
670
|
-
set_status_label(format(_("Added '%s' to library '%s'"),
|
677
|
+
set_status_label(format(_("Added '%s' to library '%s'"),
|
678
|
+
book.title, library.name))
|
671
679
|
rescue StandardError => ex
|
672
680
|
log.error { "Couldn't add book #{isbn}: #{ex}" }
|
673
681
|
log.error { ex.backtrace.join("\n") }
|
@@ -722,7 +730,8 @@ module Alexandria
|
|
722
730
|
iter[Columns::NOTES] = (book.notes || "")
|
723
731
|
iter[Columns::LOANED_TO] = (book.loaned_to || "")
|
724
732
|
rating = (book.rating || Book::DEFAULT_RATING)
|
725
|
-
|
733
|
+
# ascending order is the default
|
734
|
+
iter[Columns::RATING] = Book::MAX_RATING_STARS - rating
|
726
735
|
iter[Columns::OWN] = book.own?
|
727
736
|
iter[Columns::REDD] = book.redd?
|
728
737
|
iter[Columns::WANT] = book.want?
|
@@ -1168,7 +1177,8 @@ module Alexandria
|
|
1168
1177
|
|
1169
1178
|
ICONS_SORTS = [
|
1170
1179
|
Columns::TITLE, Columns::AUTHORS, Columns::ISBN,
|
1171
|
-
Columns::PUBLISHER, Columns::EDITION, Columns::RATING,
|
1180
|
+
Columns::PUBLISHER, Columns::EDITION, Columns::RATING,
|
1181
|
+
Columns::REDD, Columns::OWN, Columns::WANT
|
1172
1182
|
].freeze
|
1173
1183
|
|
1174
1184
|
def setup_books_iconview_sorting
|
data/lib/alexandria/version.rb
CHANGED
data/po/Makefile
CHANGED
@@ -3,7 +3,7 @@ POT=./alexandria.pot
|
|
3
3
|
|
4
4
|
RUBY=../bin/alexandria $(shell find ../lib -name '*.rb' -and -not -path '*macui*')
|
5
5
|
|
6
|
-
GLADE=$(shell find ../
|
6
|
+
GLADE=$(shell find ../share/alexandria/glade -name '*.glade')
|
7
7
|
|
8
8
|
HEADERS=$(shell find .. -name '*.h')
|
9
9
|
|
@@ -12,7 +12,7 @@ PO=$(wildcard *.po)
|
|
12
12
|
$(POT): $(RUBY) $(GLADE) ../alexandria.desktop.in.h $(HEADERS)
|
13
13
|
rm -f $(POT)
|
14
14
|
@echo Updating PO template from Ruby files
|
15
|
-
@
|
15
|
+
@rxgettext --output=$(POT) $(RUBY)
|
16
16
|
@echo Updating PO template from Glade files
|
17
17
|
@xgettext --output=$(POT) --join-existing $(GLADE)
|
18
18
|
@echo Updating PO template from header files
|
@@ -3,7 +3,7 @@
|
|
3
3
|
<interface>
|
4
4
|
<requires lib="gtk+" version="3.0"/>
|
5
5
|
<object class="GtkDialog" id="acquire_dialog">
|
6
|
-
<property name="visible">
|
6
|
+
<property name="visible">False</property>
|
7
7
|
<property name="can_focus">False</property>
|
8
8
|
<property name="border_width">6</property>
|
9
9
|
<property name="title" translatable="yes">Acquire from Scanner</property>
|
@@ -3,7 +3,7 @@
|
|
3
3
|
<interface>
|
4
4
|
<requires lib="gtk+" version="3.0"/>
|
5
5
|
<object class="GtkDialog" id="book_properties_dialog">
|
6
|
-
<property name="visible">
|
6
|
+
<property name="visible">False</property>
|
7
7
|
<property name="can_focus">False</property>
|
8
8
|
<property name="modal">True</property>
|
9
9
|
<property name="type_hint">dialog</property>
|
@@ -26,7 +26,7 @@
|
|
26
26
|
</data>
|
27
27
|
</object>
|
28
28
|
<object class="GtkDialog" id="new_book_dialog">
|
29
|
-
<property name="visible">
|
29
|
+
<property name="visible">False</property>
|
30
30
|
<property name="can_focus">False</property>
|
31
31
|
<property name="border_width">8</property>
|
32
32
|
<property name="title" translatable="yes">Adding a Book</property>
|
@@ -3,7 +3,7 @@
|
|
3
3
|
<interface>
|
4
4
|
<requires lib="gtk+" version="3.0"/>
|
5
5
|
<object class="GtkDialog" id="preferences_dialog">
|
6
|
-
<property name="visible">
|
6
|
+
<property name="visible">False</property>
|
7
7
|
<property name="can_focus">False</property>
|
8
8
|
<property name="title" translatable="yes">Preferences</property>
|
9
9
|
<property name="type_hint">dialog</property>
|
@@ -52,10 +52,6 @@
|
|
52
52
|
<para><ulink url="http://www.internetbookshop.it">Internet Bookshop Italia</ulink></para>
|
53
53
|
</listitem>
|
54
54
|
|
55
|
-
<listitem>
|
56
|
-
<para><ulink url="http://www.renaud-bray.com/">Renaud-Bray</ulink></para>
|
57
|
-
</listitem>
|
58
|
-
|
59
55
|
<listitem>
|
60
56
|
<para><ulink url="http://www.loc.gov">US Library of Congress</ulink></para>
|
61
57
|
</listitem>
|
@@ -79,7 +79,7 @@
|
|
79
79
|
<!-- ========= Finding out more online =========== -->
|
80
80
|
<section id="searching-more-online">
|
81
81
|
<title>Finding out more information about your books online</title>
|
82
|
-
<para>If you want to find out more information about your book, you can use &app; to open the web page of Amazon, Barnes and Noble, or one of the other online information providers and be taken directly to the relevant book. Simply select the book you wish to know more about, right-click on it, and from the menu <guimenuitem>Display Online Information</guimenuitem>, choose from either Amazon, Barnes and Nobel, Proxis, Spanish Culture Ministry, Amadeus Buch
|
82
|
+
<para>If you want to find out more information about your book, you can use &app; to open the web page of Amazon, Barnes and Noble, or one of the other online information providers and be taken directly to the relevant book. Simply select the book you wish to know more about, right-click on it, and from the menu <guimenuitem>Display Online Information</guimenuitem>, choose from either Amazon, Barnes and Nobel, Proxis, Spanish Culture Ministry, Amadeus Buch or Internet Bookshop Italia.</para>
|
83
83
|
<tip>
|
84
84
|
<para>The <menuchoice><guimenu>Display Online Information</guimenu><guimenuitem>At Amazon</guimenuitem></menuchoice> choice will take you to the Amazon .com, .co.uk, .de, or jp site, as set up in the <xref linkend="alexandria-amazon-prefs"/>.</para>
|
85
85
|
</tip>
|
@@ -44,10 +44,6 @@
|
|
44
44
|
<para><ulink url="http://www.internetbookshop.it">Internet Bookshop Italia</ulink></para>
|
45
45
|
</listitem>
|
46
46
|
|
47
|
-
<listitem>
|
48
|
-
<para><ulink url="http://www.renaud-bray.com/">Renaud-Bray</ulink></para>
|
49
|
-
</listitem>
|
50
|
-
|
51
47
|
<listitem>
|
52
48
|
<para><ulink url="http://www.loc.gov">米国国会図書館</ulink></para>
|
53
49
|
</listitem>
|
@@ -27,19 +27,22 @@ describe Alexandria::BookProviders do
|
|
27
27
|
|
28
28
|
book = results.first
|
29
29
|
|
30
|
-
expect(book).to be_instance_of(Alexandria::Book),
|
30
|
+
expect(book).to be_instance_of(Alexandria::Book),
|
31
|
+
"Result is not a Book for #{provider}"
|
31
32
|
|
32
33
|
canonical_query = Alexandria::Library.canonicalise_ean(query)
|
33
34
|
canonical_result = Alexandria::Library.canonicalise_ean(book.isbn)
|
34
35
|
expect(canonical_query)
|
35
36
|
.to eq(canonical_result),
|
36
|
-
"Result's isbn #{book.isbn} is not equivalent
|
37
|
+
"Result's isbn #{book.isbn} is not equivalent" \
|
38
|
+
" to the requested isbn #{query} for #{provider}"
|
37
39
|
|
38
40
|
if results.length == 2
|
39
41
|
cover_url = results.last
|
40
42
|
if cover_url
|
41
43
|
expect(cover_url)
|
42
|
-
.to be_instance_of(String),
|
44
|
+
.to be_instance_of(String),
|
45
|
+
"Unexpected cover_url #{cover_url.inspect} for #{provider}"
|
43
46
|
end
|
44
47
|
end
|
45
48
|
else
|
@@ -64,19 +67,22 @@ describe Alexandria::BookProviders do
|
|
64
67
|
it "amazon title should work" do
|
65
68
|
skip "Amazon requires an API key. Remove it altogether as a provider?"
|
66
69
|
assert_correct_search_result(Alexandria::BookProviders::AmazonProvider,
|
67
|
-
"A Confederacy of Dunces",
|
70
|
+
"A Confederacy of Dunces",
|
71
|
+
Alexandria::BookProviders::SEARCH_BY_TITLE)
|
68
72
|
end
|
69
73
|
|
70
74
|
it "amazon authors should work" do
|
71
75
|
skip "Amazon requires an API key. Remove it altogether as a provider?"
|
72
76
|
assert_correct_search_result(Alexandria::BookProviders::AmazonProvider,
|
73
|
-
"John Kennedy Toole",
|
77
|
+
"John Kennedy Toole",
|
78
|
+
Alexandria::BookProviders::SEARCH_BY_AUTHORS)
|
74
79
|
end
|
75
80
|
|
76
81
|
it "amazon keyword should work" do
|
77
82
|
skip "Amazon requires an API key. Remove it altogether as a provider?"
|
78
83
|
assert_correct_search_result(Alexandria::BookProviders::AmazonProvider,
|
79
|
-
"Confederacy Dunces",
|
84
|
+
"Confederacy Dunces",
|
85
|
+
Alexandria::BookProviders::SEARCH_BY_KEYWORD)
|
80
86
|
end
|
81
87
|
|
82
88
|
it "LOC should work" do
|
@@ -140,16 +146,6 @@ describe Alexandria::BookProviders do
|
|
140
146
|
"9788599170380")
|
141
147
|
end
|
142
148
|
|
143
|
-
it "Renaud should work" do
|
144
|
-
skip "Marked in code as not working; remove implementation entirely."
|
145
|
-
# adultes
|
146
|
-
assert_correct_search_result(Alexandria::BookProviders::RENAUDProvider,
|
147
|
-
"9782894723388")
|
148
|
-
# jeunesse
|
149
|
-
assert_correct_search_result(Alexandria::BookProviders::RENAUDProvider,
|
150
|
-
"9782764605059")
|
151
|
-
end
|
152
|
-
|
153
149
|
it "Worldcat should work" do
|
154
150
|
assert_correct_search_result(Alexandria::BookProviders::WorldCatProvider,
|
155
151
|
"9780521247108")
|
@@ -21,10 +21,10 @@ RSpec.describe Alexandria do
|
|
21
21
|
describe ".list_books_on_console" do
|
22
22
|
it "returns a string containing a list of all books" do
|
23
23
|
expect(described_class.list_books_on_console).to eq <<~LIST
|
24
|
-
The Dispossessed, Ursula Le Guin
|
25
24
|
Pattern Recognition, William Gibson
|
26
25
|
Bonjour Tristesse, Francoise Sagan & Irene Ash
|
27
26
|
An Artist of the Floating World, Kazuo Ishiguro
|
27
|
+
The Dispossessed, Ursula Le Guin
|
28
28
|
Neverwhere, Neil Gaiman
|
29
29
|
LIST
|
30
30
|
end
|
@@ -1,40 +1,13 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
#
|
4
|
-
|
5
|
-
#
|
6
|
-
#
|
7
|
-
# Alexandria is free software; you can redistribute it and/or
|
8
|
-
# modify it under the terms of the GNU General Public License as
|
9
|
-
# published by the Free Software Foundation; either version 2 of the
|
10
|
-
# License, or (at your option) any later version.
|
11
|
-
#
|
12
|
-
# Alexandria is distributed in the hope that it will be useful,
|
13
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
14
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
15
|
-
# General Public License for more details.
|
3
|
+
# frozen_string_literal: true
|
4
|
+
|
5
|
+
# This file is part of Alexandria.
|
16
6
|
#
|
17
|
-
#
|
18
|
-
# License along with Alexandria; see the file COPYING. If not,
|
19
|
-
# write to the Free Software Foundation, Inc., 51 Franklin Street,
|
20
|
-
# Fifth Floor, Boston, MA 02110-1301 USA.
|
7
|
+
# See the file README.md for authorship and licensing information.
|
21
8
|
|
22
9
|
require File.dirname(__FILE__) + "/../../spec_helper"
|
23
10
|
|
24
|
-
# break this up!
|
25
|
-
|
26
|
-
describe CellRendererToggle do
|
27
|
-
it "should work"
|
28
|
-
end
|
29
|
-
|
30
|
-
describe Gtk::ActionGroup do
|
31
|
-
it "should work"
|
32
|
-
end
|
33
|
-
|
34
|
-
describe Gtk::IconView do
|
35
|
-
it "should work"
|
36
|
-
end
|
37
|
-
|
38
11
|
describe Alexandria::UI::MainApp do
|
39
12
|
it "is a singleton" do
|
40
13
|
expect do
|
@@ -8,7 +8,8 @@ require File.dirname(__FILE__) + "/../../spec_helper"
|
|
8
8
|
|
9
9
|
describe Alexandria::UI::ReallyDeleteDialog do
|
10
10
|
it "works" do
|
11
|
-
library = instance_double(Alexandria::Library,
|
11
|
+
library = instance_double(Alexandria::Library,
|
12
|
+
name: "Bar Library", empty?: false, size: 12)
|
12
13
|
parent = Gtk::Window.new :toplevel
|
13
14
|
described_class.new parent, library
|
14
15
|
end
|
data/tasks/spec.rake
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# -*- ruby -*-
|
4
4
|
#--
|
5
|
-
# Copyright (C) 2011 Matijs van Zuijlen
|
5
|
+
# Copyright (C) 2011-2019 Matijs van Zuijlen
|
6
6
|
#
|
7
7
|
# This file is part of the Alexandria build system.
|
8
8
|
#
|
@@ -39,8 +39,10 @@ namespace "spec" do
|
|
39
39
|
t.ruby_opts = ["-rbundler/setup -rsimplecov -Ilib -w"]
|
40
40
|
end
|
41
41
|
|
42
|
-
|
43
|
-
|
42
|
+
RSpec::Core::RakeTask.new("all") do |t|
|
43
|
+
t.pattern = "spec/**/*_spec.rb"
|
44
|
+
t.ruby_opts = ["-rbundler/setup -rsimplecov -Ilib -w"]
|
45
|
+
end
|
44
46
|
end
|
45
47
|
|
46
|
-
task
|
48
|
+
task spec: "spec:all"
|
data/util/rake/fileinstall.rb
CHANGED
@@ -251,7 +251,9 @@ class FileInstallTask < Rake::TaskLib
|
|
251
251
|
else
|
252
252
|
dest_basedir = Pathname.new(@dest_dir)
|
253
253
|
end
|
254
|
-
|
254
|
+
if source_file.file?
|
255
|
+
source_path = source_file.dirname.relative_path_from(source_basedir)
|
256
|
+
end
|
255
257
|
dest = source_path ? dest_basedir + source_path : dest_basedir
|
256
258
|
dest.to_s
|
257
259
|
end
|
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.7.
|
4
|
+
version: 0.7.5
|
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: 2020-05-11 00:00:00.000000000 Z
|
32
32
|
dependencies:
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: gettext
|
@@ -128,6 +128,20 @@ dependencies:
|
|
128
128
|
- - "~>"
|
129
129
|
- !ruby/object:Gem::Version
|
130
130
|
version: 1.0.0
|
131
|
+
- !ruby/object:Gem::Dependency
|
132
|
+
name: psych
|
133
|
+
requirement: !ruby/object:Gem::Requirement
|
134
|
+
requirements:
|
135
|
+
- - "~>"
|
136
|
+
- !ruby/object:Gem::Version
|
137
|
+
version: 3.1.0
|
138
|
+
type: :runtime
|
139
|
+
prerelease: false
|
140
|
+
version_requirements: !ruby/object:Gem::Requirement
|
141
|
+
requirements:
|
142
|
+
- - "~>"
|
143
|
+
- !ruby/object:Gem::Version
|
144
|
+
version: 3.1.0
|
131
145
|
- !ruby/object:Gem::Dependency
|
132
146
|
name: zoom
|
133
147
|
requirement: !ruby/object:Gem::Requirement
|
@@ -212,6 +226,7 @@ files:
|
|
212
226
|
- ".rubocop.yml"
|
213
227
|
- ".rubocop_todo.yml"
|
214
228
|
- ".simplecov"
|
229
|
+
- ".travis.yml"
|
215
230
|
- ".yardopts"
|
216
231
|
- CHANGELOG.md
|
217
232
|
- COPYING
|
@@ -234,7 +249,6 @@ files:
|
|
234
249
|
- doc/alexandria.1
|
235
250
|
- doc/cuecat_support.rdoc
|
236
251
|
- doc/dependency_decisions.yml
|
237
|
-
- dogtail/basic_run_test.py
|
238
252
|
- lib/alexandria.rb
|
239
253
|
- lib/alexandria/about.rb
|
240
254
|
- lib/alexandria/book_providers.rb
|
@@ -245,7 +259,6 @@ files:
|
|
245
259
|
- lib/alexandria/book_providers/douban.rb
|
246
260
|
- lib/alexandria/book_providers/proxis.rb
|
247
261
|
- lib/alexandria/book_providers/pseudomarc.rb
|
248
|
-
- lib/alexandria/book_providers/renaud.rb
|
249
262
|
- lib/alexandria/book_providers/siciliano.rb
|
250
263
|
- lib/alexandria/book_providers/thalia.rb
|
251
264
|
- lib/alexandria/book_providers/web.rb
|
@@ -524,7 +537,6 @@ files:
|
|
524
537
|
- spec/data/libraries/0.6.2/My Library/9780755322800.yaml
|
525
538
|
- spec/end_to_end/basic_run_spec.rb
|
526
539
|
- spec/spec_helper.rb
|
527
|
-
- tasks/dogtail.rake
|
528
540
|
- tasks/setup.rb
|
529
541
|
- tasks/spec.rake
|
530
542
|
- util/rake/fileinstall.rb
|
@@ -544,14 +556,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
544
556
|
requirements:
|
545
557
|
- - ">="
|
546
558
|
- !ruby/object:Gem::Version
|
547
|
-
version: 2.
|
559
|
+
version: 2.5.0
|
548
560
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
549
561
|
requirements:
|
550
562
|
- - ">="
|
551
563
|
- !ruby/object:Gem::Version
|
552
564
|
version: '0'
|
553
565
|
requirements: []
|
554
|
-
rubygems_version: 3.
|
566
|
+
rubygems_version: 3.1.2
|
555
567
|
signing_key:
|
556
568
|
specification_version: 4
|
557
569
|
summary: GNOME application for managing collections of books
|