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.
Files changed (71) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +31 -6
  3. data/.rubocop_todo.yml +33 -33
  4. data/.travis.yml +39 -0
  5. data/CHANGELOG.md +8 -0
  6. data/README.md +1 -1
  7. data/Rakefile +4 -2
  8. data/alexandria-book-collection-manager.gemspec +2 -1
  9. data/bin/alexandria +0 -10
  10. data/doc/FAQ +1 -2
  11. data/doc/dependency_decisions.yml +5 -5
  12. data/lib/alexandria.rb +3 -1
  13. data/lib/alexandria/book_providers.rb +1 -4
  14. data/lib/alexandria/book_providers/adlibris.rb +4 -20
  15. data/lib/alexandria/book_providers/amazon_aws.rb +15 -8
  16. data/lib/alexandria/book_providers/amazon_ecs_util.rb +16 -10
  17. data/lib/alexandria/book_providers/barnes_and_noble.rb +1 -1
  18. data/lib/alexandria/book_providers/douban.rb +2 -2
  19. data/lib/alexandria/book_providers/proxis.rb +6 -2
  20. data/lib/alexandria/book_providers/pseudomarc.rb +3 -1
  21. data/lib/alexandria/book_providers/siciliano.rb +24 -27
  22. data/lib/alexandria/book_providers/thalia.rb +1 -1
  23. data/lib/alexandria/book_providers/worldcat.rb +5 -3
  24. data/lib/alexandria/book_providers/z3950.rb +20 -14
  25. data/lib/alexandria/export_library.rb +15 -12
  26. data/lib/alexandria/import_library.rb +65 -65
  27. data/lib/alexandria/library_collection.rb +2 -1
  28. data/lib/alexandria/library_store.rb +18 -7
  29. data/lib/alexandria/models/book.rb +2 -1
  30. data/lib/alexandria/models/library.rb +9 -3
  31. data/lib/alexandria/preferences.rb +13 -6
  32. data/lib/alexandria/scanners/keyboard.rb +2 -2
  33. data/lib/alexandria/smart_library.rb +41 -39
  34. data/lib/alexandria/ui/acquire_dialog.rb +47 -48
  35. data/lib/alexandria/ui/alert_dialog.rb +2 -1
  36. data/lib/alexandria/ui/barcode_animation.rb +6 -5
  37. data/lib/alexandria/ui/book_properties_dialog_base.rb +7 -3
  38. data/lib/alexandria/ui/callbacks.rb +14 -7
  39. data/lib/alexandria/ui/dndable.rb +1 -1
  40. data/lib/alexandria/ui/export_dialog.rb +0 -2
  41. data/lib/alexandria/ui/icons.rb +2 -1
  42. data/lib/alexandria/ui/iconview.rb +5 -3
  43. data/lib/alexandria/ui/import_dialog.rb +6 -8
  44. data/lib/alexandria/ui/keep_bad_isbn_dialog.rb +4 -3
  45. data/lib/alexandria/ui/listview.rb +34 -31
  46. data/lib/alexandria/ui/multi_drag_treeview.rb +3 -2
  47. data/lib/alexandria/ui/new_book_dialog.rb +28 -30
  48. data/lib/alexandria/ui/new_book_dialog_manual.rb +3 -1
  49. data/lib/alexandria/ui/provider_preferences_base_dialog.rb +2 -1
  50. data/lib/alexandria/ui/sidepane_manager.rb +6 -3
  51. data/lib/alexandria/ui/smart_library_properties_dialog_base.rb +5 -3
  52. data/lib/alexandria/ui/ui_manager.rb +22 -12
  53. data/lib/alexandria/version.rb +2 -2
  54. data/po/Makefile +2 -2
  55. data/share/alexandria/glade/acquire_dialog__builder.glade +1 -1
  56. data/share/alexandria/glade/book_properties_dialog__builder.glade +1 -1
  57. data/share/alexandria/glade/new_book_dialog__builder.glade +1 -1
  58. data/share/alexandria/glade/preferences_dialog__builder.glade +1 -1
  59. data/share/gnome/help/alexandria/C/introduction.xml +0 -4
  60. data/share/gnome/help/alexandria/C/searching.xml +1 -1
  61. data/share/gnome/help/alexandria/ja/introduction.xml +0 -4
  62. data/spec/alexandria/book_providers_spec.rb +12 -16
  63. data/spec/alexandria/console_spec.rb +1 -1
  64. data/spec/alexandria/ui/main_app_spec.rb +4 -31
  65. data/spec/alexandria/ui/really_delete_dialog_spec.rb +2 -1
  66. data/tasks/spec.rake +6 -4
  67. data/util/rake/fileinstall.rb +3 -1
  68. metadata +19 -7
  69. data/dogtail/basic_run_test.py +0 -9
  70. data/lib/alexandria/book_providers/renaud.rb +0 -142
  71. 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 = cb.active.zero? ? SmartLibrary::ALL_RULES : SmartLibrary::ANY_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
- date_format = "%d/%m/%Y" # or '%m/%d/%Y' for USA and Canada ; or '%Y-%m-%d' for most of Asia
409
- ## http://en.wikipedia.org/wiki/Calendar_date#Middle_endian_forms.2C_starting_with_the_month
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, :listview_model,
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 = widget.is_a?(Gtk::TreeView) ? [widget.selection, path.first] : [widget, 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 = widget.is_a?(Gtk::TreeView) ? [widget.selection, path.first] : [widget, 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 = widget.is_a?(Gtk::TreeView) ? [widget.selection, path.first] : [widget, 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 { "on_books_selection_changed Delete: #{@actiongroup['Delete'].sensitive?}" }
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
- sensitive = (@libraries.all_regular_libraries.length > 1 || selected_library.is_a?(SmartLibrary))
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 { "Trying to add #{book.title}, #{cover_uri} in library ''#{library.name}'" }
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'"), book.title, library.name))
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
- iter[Columns::RATING] = Book::MAX_RATING_STARS - rating # ascending order is the default
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, Columns::REDD, Columns::OWN, Columns::WANT
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
@@ -5,7 +5,7 @@
5
5
  # See the file README.md for authorship and licensing information.
6
6
 
7
7
  module Alexandria
8
- VERSION = "0.7.4"
8
+ VERSION = "0.7.5"
9
9
  DATA_VERSION = "0.6.3"
10
- DISPLAY_VERSION = "0.7.4"
10
+ DISPLAY_VERSION = "0.7.5"
11
11
  end
@@ -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 ../data -name '*.glade')
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
- @rgettext --output=$(POT) $(RUBY)
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">True</property>
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">True</property>
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">True</property>
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">True</property>
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, Renaud-Bray or Internet Bookshop Italia.</para>
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), "Result is not a Book for #{provider}"
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 to the requested isbn #{query} for #{provider}"
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), "Unexpected cover_url #{cover_url.inspect} for #{provider}"
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", Alexandria::BookProviders::SEARCH_BY_TITLE)
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", Alexandria::BookProviders::SEARCH_BY_AUTHORS)
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", Alexandria::BookProviders::SEARCH_BY_KEYWORD)
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
- # Copyright (C) 2007 Joseph Method
4
- # Copyright (C) 2007 Cathal Mc Ginley
5
- # Copyright (C) 2011, 2014-2016 Matijs van Zuijlen
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
- # You should have received a copy of the GNU General Public
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, name: "Bar Library", empty?: false, size: 12)
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
@@ -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
- desc "Runs all unit and end-to-end specs"
43
- task "all" => ["spec:unit", "spec:end_to_end"]
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 default: "spec:all"
48
+ task spec: "spec:all"
@@ -251,7 +251,9 @@ class FileInstallTask < Rake::TaskLib
251
251
  else
252
252
  dest_basedir = Pathname.new(@dest_dir)
253
253
  end
254
- source_path = source_file.dirname.relative_path_from(source_basedir) if source_file.file?
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
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: 2019-10-24 00:00:00.000000000 Z
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.4.0
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.0.6
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