alexandria-book-collection-manager 0.7.8 → 0.7.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (96) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +45 -50
  3. data/.rubocop.yml +18 -5
  4. data/.rubocop_todo.yml +29 -22
  5. data/CHANGELOG.md +29 -0
  6. data/ChangeLog.0 +19 -19
  7. data/INSTALL.md +3 -5
  8. data/README.md +0 -5
  9. data/Rakefile +11 -11
  10. data/alexandria-book-collection-manager.gemspec +35 -34
  11. data/doc/FAQ +2 -2
  12. data/lib/alexandria/about.rb +1 -1
  13. data/lib/alexandria/book_providers/bl_provider.rb +88 -0
  14. data/lib/alexandria/book_providers/loc_provider.rb +38 -0
  15. data/lib/alexandria/book_providers/pseudomarc.rb +1 -1
  16. data/lib/alexandria/book_providers/sbn_provider.rb +108 -0
  17. data/lib/alexandria/book_providers/thalia_provider.rb +1 -1
  18. data/lib/alexandria/book_providers/web.rb +2 -2
  19. data/lib/alexandria/book_providers/worldcat.rb +9 -7
  20. data/lib/alexandria/book_providers/z3950_provider.rb +199 -0
  21. data/lib/alexandria/book_providers.rb +10 -25
  22. data/lib/alexandria/default_preferences.rb +1 -1
  23. data/lib/alexandria/export_library.rb +10 -10
  24. data/lib/alexandria/image_fetcher.rb +25 -0
  25. data/lib/alexandria/import_library.rb +9 -9
  26. data/lib/alexandria/library_store.rb +3 -4
  27. data/lib/alexandria/models/book.rb +13 -0
  28. data/lib/alexandria/models/library.rb +13 -21
  29. data/lib/alexandria/preferences.rb +4 -6
  30. data/lib/alexandria/scanners/cue_cat.rb +1 -1
  31. data/lib/alexandria/ui/about_dialog.rb +1 -1
  32. data/lib/alexandria/ui/acquire_dialog.rb +6 -9
  33. data/lib/alexandria/ui/barcode_animation.rb +1 -1
  34. data/lib/alexandria/ui/book_properties_dialog_base.rb +2 -6
  35. data/lib/alexandria/ui/completion_models.rb +1 -5
  36. data/lib/alexandria/ui/conflict_while_copying_dialog.rb +1 -1
  37. data/lib/alexandria/ui/listview.rb +1 -1
  38. data/lib/alexandria/ui/multi_drag_treeview.rb +1 -1
  39. data/lib/alexandria/ui/new_book_dialog.rb +11 -13
  40. data/lib/alexandria/ui/new_book_dialog_manual.rb +1 -1
  41. data/lib/alexandria/ui/preferences_dialog.rb +2 -2
  42. data/lib/alexandria/ui/provider_preferences_base_dialog.rb +1 -1
  43. data/lib/alexandria/ui/really_delete_dialog.rb +1 -1
  44. data/lib/alexandria/ui/ui_manager.rb +14 -22
  45. data/lib/alexandria/version.rb +1 -1
  46. data/po/cs.po +90 -125
  47. data/po/cy.po +87 -125
  48. data/po/de.po +96 -125
  49. data/po/el.po +96 -125
  50. data/po/es.po +96 -125
  51. data/po/fr.po +90 -125
  52. data/po/ga.po +83 -124
  53. data/po/gl.po +90 -125
  54. data/po/it.po +90 -125
  55. data/po/ja.po +90 -125
  56. data/po/mk.po +96 -125
  57. data/po/nb.po +90 -125
  58. data/po/nl.po +107 -124
  59. data/po/pl.po +113 -124
  60. data/po/pt.po +90 -125
  61. data/po/pt_BR.po +90 -125
  62. data/po/ru.po +92 -124
  63. data/po/sk.po +90 -125
  64. data/po/sv.po +90 -125
  65. data/po/uk.po +90 -125
  66. data/po/zh_TW.po +90 -125
  67. data/schemas/alexandria.schemas +1 -1
  68. data/share/gnome/help/alexandria/C/adding-books.xml +3 -4
  69. data/share/gnome/help/alexandria/C/introduction.xml +0 -16
  70. data/share/gnome/help/alexandria/C/searching.xml +1 -4
  71. data/share/gnome/help/alexandria/C/settings.xml +0 -30
  72. data/share/gnome/help/alexandria/fr/alexandria.xml +4 -159
  73. data/share/gnome/help/alexandria/ja/adding-books.xml +1 -1
  74. data/share/gnome/help/alexandria/ja/introduction.xml +0 -15
  75. data/share/gnome/help/alexandria/ja/searching.xml +3 -7
  76. data/share/gnome/help/alexandria/ja/settings.xml +0 -27
  77. data/spec/alexandria/book_providers/bl_provider_spec.rb +13 -0
  78. data/spec/alexandria/book_providers/loc_provider_spec.rb +17 -0
  79. data/spec/alexandria/book_providers/sbn_provider_spec.rb +13 -0
  80. data/spec/alexandria/book_providers_spec.rb +0 -81
  81. data/spec/alexandria/library_spec.rb +20 -2
  82. data/spec/alexandria/ui/import_dialog_spec.rb +1 -1
  83. data/spec/alexandria/ui/new_smart_library_dialog_spec.rb +1 -1
  84. data/spec/alexandria/ui/preferences_dialog_spec.rb +1 -1
  85. data/spec/alexandria/ui/ui_manager_spec.rb +78 -2
  86. data/spec/data/libraries/0.6.2/My Library/9780571147168.yaml +2 -0
  87. data/util/rake/fileinstall.rb +4 -4
  88. data/util/rake/omfgenerate.rb +1 -1
  89. metadata +69 -55
  90. data/lib/alexandria/book_providers/adlibris.rb +0 -191
  91. data/lib/alexandria/book_providers/amazon_aws.rb +0 -239
  92. data/lib/alexandria/book_providers/amazon_ecs_util.rb +0 -373
  93. data/lib/alexandria/book_providers/barnes_and_noble.rb +0 -209
  94. data/lib/alexandria/book_providers/proxis.rb +0 -176
  95. data/lib/alexandria/book_providers/siciliano.rb +0 -256
  96. data/lib/alexandria/book_providers/z3950.rb +0 -408
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 86ff53adf7e1792c32534b149370ab80a99a24c8a363273a1ca3d3f83e2c73c0
4
- data.tar.gz: 6a38d050f6cf13a9d86e0c387cdbe472442a02c33f74563f4902f4338deac228
3
+ metadata.gz: 680cc4d6ee5efa35b819f163452593c352c9323efcd06baad69458e46ac16dfc
4
+ data.tar.gz: a1153041ada7d8641d84d5b118209c05247d9651bcddc5f92164745f62f7289c
5
5
  SHA512:
6
- metadata.gz: fbd36ea7f9caaabff7979e3ab57471e27a6a1a5daa33ce140d4a8df590b07d91f4302267db64c601281f3513401e5726a1874dba622a4d9e72a361c7898c1284
7
- data.tar.gz: 87c17e9d9bc4c4bd057a1013068d034a48ca38e3fcd5784a743a1c1d971671165df4347bcb2aa710dd4a636ecc3d1bfdbee1f0bfe7a4eb7fccd7d4fb8acddd77
6
+ metadata.gz: c7b860e3c6726fcda6877d44a84d88a62daebdc768a4d4acc6756f2a712257b1eebc783a9a1f7d3ad81219c85f2b4c4a4a84d6e8cc4126bb6847109fa9da7020
7
+ data.tar.gz: 99e777a212dcad283f0e9722b2836b41c51442cb6153b5f76a0cd03ec87977733112bffc73899ca1c8081e32f68da50bace883b5c7eb0410174b8a0e05e2a6fe
@@ -2,13 +2,15 @@
2
2
  # run tests with Rake
3
3
  # For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
4
4
 
5
- name: Ruby
5
+ name: CI
6
6
 
7
7
  on:
8
8
  push:
9
9
  branches: [ master ]
10
10
  pull_request:
11
11
  branches: [ master ]
12
+ schedule:
13
+ - cron: '16 4 12 * *'
12
14
 
13
15
  jobs:
14
16
  test:
@@ -17,61 +19,54 @@ jobs:
17
19
 
18
20
  strategy:
19
21
  matrix:
20
- ruby: [2.5, 2.6, 2.7]
22
+ ruby: [2.6, 2.7, "3.0", "3.1"]
21
23
 
22
24
  steps:
23
- - uses: actions/checkout@v2
24
- - name: Install non-ruby dependencies
25
- run: |
26
- # Needed for gtk3 gem
27
- sudo apt-get install libgtk-3-dev
28
- # Needed for gstreamer gem
29
- sudo apt-get install libgstreamer1.0-dev
30
- # Needed for GooCanvas::Canvas widget
31
- sudo apt-get install libgoocanvas-2.0-dev
32
- # Needed for zoom gem
33
- sudo apt-get install libyaz-dev
34
- # Needed for intltool-merge executable
35
- sudo apt-get install intltool
36
- # Needed for gconftool-2 executable
37
- sudo apt-get install gconf2
38
- # Needed to provide A11y dbus service to silence warnings
39
- sudo apt-get install at-spi2-core
40
- # Needed to set up sound player pipeline
41
- sudo apt-get install gstreamer1.0-plugins-good
42
- # Needed to play sound
43
- sudo apt-get install pulseaudio
44
- # Provides xvfb-run
45
- sudo apt-get install xvfb
25
+ - uses: actions/checkout@v2
26
+ - name: Install non-ruby dependencies
27
+ run: |
28
+ sudo apt-get update
29
+ sudo apt-get install libgtk-3-dev # Needed for gtk3 gem
30
+ sudo apt-get install libgstreamer1.0-dev # Needed for gstreamer gem
31
+ sudo apt-get install libgoocanvas-2.0-dev # Needed for GooCanvas::Canvas widget
32
+ sudo apt-get install libyaz-dev # Needed for zoom gem
33
+ sudo apt-get install intltool # Needed for intltool-merge executable
34
+ sudo apt-get install gconf2 # Needed for gconftool-2 executable
35
+ sudo apt-get install at-spi2-core # Needed to provide A11y dbus service to silence warnings
36
+ sudo apt-get install gstreamer1.0-plugins-good # Needed to set up sound player pipeline
37
+ sudo apt-get install pulseaudio # Needed to play sound
38
+ sudo apt-get install xvfb # Provides xvfb-run
39
+ sudo apt-get install yaru-theme-icon # Needed to avoid warnings about missing icons on Ubuntu 20.04
46
40
 
47
- - name: Set up Ruby
48
- uses: ruby/setup-ruby@v1
49
- with:
50
- ruby-version: ${{ matrix.ruby }}
51
- bundler-cache: true
52
- - name: Run unit tests
53
- run: xvfb-run bundle exec rake spec:unit
54
- - name: Run end-to-end tests in a dbus session
55
- run: xvfb-run dbus-run-session bundle exec rake spec:end_to_end
41
+ - name: Set up Ruby
42
+ uses: ruby/setup-ruby@v1
43
+ with:
44
+ ruby-version: ${{ matrix.ruby }}
45
+ bundler-cache: true
46
+ - name: Run unit tests
47
+ run: xvfb-run bundle exec rake spec:unit
48
+ - name: Run end-to-end tests in a dbus session
49
+ run: xvfb-run dbus-run-session bundle exec rake spec:end_to_end
56
50
 
57
51
  rubocop:
58
52
 
59
53
  runs-on: ubuntu-latest
60
54
 
61
55
  steps:
62
- - uses: actions/checkout@v2
63
- - name: Install non-ruby dependencies
64
- run: |
65
- # Needed for gtk3 gem
66
- sudo apt-get install libgtk-3-dev
67
- # Needed for gstreamer gem
68
- sudo apt-get install libgstreamer1.0-dev
69
- # Needed for zoom gem
70
- sudo apt-get install libyaz-dev
71
- - name: Set up Ruby
72
- uses: ruby/setup-ruby@v1
73
- with:
74
- ruby-version: 2.7
75
- bundler-cache: true
76
- - name: Run RuboCop
77
- run: bundle exec rubocop -P
56
+ - uses: actions/checkout@v2
57
+ - name: Install non-ruby dependencies
58
+ run: |
59
+ sudo apt-get update
60
+ # Needed for gtk3 gem
61
+ sudo apt-get install libgtk-3-dev
62
+ # Needed for gstreamer gem
63
+ sudo apt-get install libgstreamer1.0-dev
64
+ # Needed for zoom gem
65
+ sudo apt-get install libyaz-dev
66
+ - name: Set up Ruby
67
+ uses: ruby/setup-ruby@v1
68
+ with:
69
+ ruby-version: 2.7
70
+ bundler-cache: true
71
+ - name: Run RuboCop
72
+ run: bundle exec rubocop -P
data/.rubocop.yml CHANGED
@@ -1,7 +1,12 @@
1
1
  inherit_from: .rubocop_todo.yml
2
2
 
3
+ inherit_mode:
4
+ merge:
5
+ - Exclude
6
+
3
7
  require:
4
8
  - rubocop-performance
9
+ - rubocop-rake
5
10
  - rubocop-rspec
6
11
  - rubocop-i18n
7
12
 
@@ -9,24 +14,28 @@ AllCops:
9
14
  Exclude:
10
15
  - 'lib/alexandria/default_preferences.rb'
11
16
  - 'pkg/**/*'
12
- - 'vendor/bundle/**/*'
13
17
  NewCops: enable
14
- TargetRubyVersion: 2.5
18
+ TargetRubyVersion: 2.6
15
19
 
16
20
  # Choose GetText-style I18n cops
17
- GetText:
21
+ I18n/GetText:
18
22
  Enabled: true
19
23
  # Exclude non-user-facing code
20
24
  Exclude:
21
25
  - Rakefile
22
26
  - 'util/**/*'
23
27
  - 'spec/**/*'
24
- RailsI18n:
28
+ I18n/RailsI18n:
25
29
  Enabled: false
26
30
 
27
31
  # This code has a lot of pre-existing translations with percent-style
28
32
  # formatting. Maybe one day someone will re-do all of them ...
29
- GetText/DecorateStringFormattingUsingPercent:
33
+ I18n/GetText/DecorateStringFormattingUsingPercent:
34
+ Enabled: false
35
+
36
+ # Disable cop in disabled department explictly until
37
+ # https://github.com/rubocop-hq/rubocop/pull/9258 is merged.
38
+ I18n/RailsI18n/DecorateString:
30
39
  Enabled: false
31
40
 
32
41
  # Make BeginEndAlignment behavior match EndAlignment
@@ -63,6 +72,10 @@ Layout/SpaceBeforeBlockBraces:
63
72
  Lint/AmbiguousBlockAssociation:
64
73
  Enabled: false
65
74
 
75
+ # Assume the programmer knows precendence rules
76
+ Lint/AmbiguousOperatorPrecedence:
77
+ Enabled: false
78
+
66
79
  # Allow if (foo = get_foo) style
67
80
  Lint/AssignmentInCondition:
68
81
  AllowSafeAssignment: true
data/.rubocop_todo.yml CHANGED
@@ -1,17 +1,23 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config --no-offense-counts --no-auto-gen-timestamp`
3
- # using RuboCop version 0.93.1.
3
+ # using RuboCop version 1.24.1.
4
4
  # The point is for the user to remove these configuration records
5
5
  # one by one as the offenses are removed from the code base.
6
6
  # Note that changes in the inspected code, or installation of new
7
7
  # versions of RuboCop, may require this file to be generated again.
8
8
 
9
- # Configuration parameters: IgnoredMethods.
9
+ # Configuration parameters: IgnoreLiteralBranches, IgnoreConstantBranches.
10
+ Lint/DuplicateBranch:
11
+ Exclude:
12
+ - 'lib/alexandria/book_providers/sbn_provider.rb'
13
+ - 'util/rake/fileinstall.rb'
14
+
15
+ # Configuration parameters: IgnoredMethods, CountRepeatedAttributes.
10
16
  Metrics/AbcSize:
11
17
  Max: 111
12
18
 
13
- # Configuration parameters: CountComments, CountAsOne, ExcludedMethods.
14
- # ExcludedMethods: refine
19
+ # Configuration parameters: CountComments, CountAsOne, ExcludedMethods, IgnoredMethods.
20
+ # IgnoredMethods: refine
15
21
  Metrics/BlockLength:
16
22
  Max: 64
17
23
 
@@ -21,13 +27,13 @@ Metrics/BlockNesting:
21
27
 
22
28
  # Configuration parameters: CountComments, CountAsOne.
23
29
  Metrics/ClassLength:
24
- Max: 997
30
+ Max: 991
25
31
 
26
32
  # Configuration parameters: IgnoredMethods.
27
33
  Metrics/CyclomaticComplexity:
28
- Max: 27
34
+ Max: 22
29
35
 
30
- # Configuration parameters: CountComments, CountAsOne, ExcludedMethods.
36
+ # Configuration parameters: CountComments, CountAsOne, ExcludedMethods, IgnoredMethods.
31
37
  Metrics/MethodLength:
32
38
  Max: 98
33
39
 
@@ -35,7 +41,7 @@ Metrics/MethodLength:
35
41
  Metrics/ModuleLength:
36
42
  Max: 361
37
43
 
38
- # Configuration parameters: CountKeywordArgs.
44
+ # Configuration parameters: CountKeywordArgs, MaxOptionalParameters.
39
45
  Metrics/ParameterLists:
40
46
  Max: 7
41
47
 
@@ -43,10 +49,6 @@ Metrics/ParameterLists:
43
49
  Metrics/PerceivedComplexity:
44
50
  Max: 27
45
51
 
46
- Naming/BinaryOperatorParameterName:
47
- Exclude:
48
- - 'lib/alexandria/book_providers/amazon_ecs_util.rb'
49
-
50
52
  # Configuration parameters: ForbiddenDelimiters.
51
53
  # ForbiddenDelimiters: (?-mix:(^|\s)(EO[A-Z]{1}|END)(\s|$))
52
54
  Naming/HeredocDelimiterNaming:
@@ -63,14 +65,14 @@ Naming/HeredocDelimiterNaming:
63
65
  # MethodDefinitionMacros: define_method, define_singleton_method
64
66
  Naming/PredicateName:
65
67
  Exclude:
66
- - 'spec/**/*'
67
- - 'lib/alexandria/book_providers/amazon_ecs_util.rb'
68
68
  - 'lib/alexandria/ui/smart_library_properties_dialog_base.rb'
69
69
  - 'lib/alexandria/web_themes.rb'
70
70
 
71
- # Configuration parameters: CustomTransform, IgnoreMethods, SpecSuffixOnly.
71
+ # Configuration parameters: Include, CustomTransform, IgnoreMethods, SpecSuffixOnly.
72
+ # Include: **/*_spec*rb*, **/spec/**/*
72
73
  RSpec/FilePath:
73
74
  Exclude:
75
+ - 'spec/alexandria/console_spec.rb'
74
76
  - 'spec/alexandria/ui/iconview_spec.rb'
75
77
  - 'spec/alexandria/ui/sound_spec.rb'
76
78
 
@@ -87,6 +89,16 @@ RSpec/PredicateMatcher:
87
89
  - 'spec/alexandria/library_store_spec.rb'
88
90
  - 'spec/alexandria/scanners/cue_cat_spec.rb'
89
91
 
92
+ # Cop supports --auto-correct.
93
+ Rake/Desc:
94
+ Exclude:
95
+ - 'Rakefile'
96
+ - 'tasks/spec.rake'
97
+
98
+ Rake/DuplicateTask:
99
+ Exclude:
100
+ - 'Rakefile'
101
+
90
102
  # Cop supports --auto-correct.
91
103
  # Configuration parameters: EnforcedStyle.
92
104
  # SupportedStyles: nested, compact
@@ -97,7 +109,6 @@ Style/ClassAndModuleChildren:
97
109
 
98
110
  Style/ClassVars:
99
111
  Exclude:
100
- - 'lib/alexandria/book_providers/amazon_ecs_util.rb'
101
112
  - 'lib/alexandria/execution_queue.rb'
102
113
  - 'lib/alexandria/logging.rb'
103
114
  - 'lib/alexandria/models/library.rb'
@@ -106,16 +117,14 @@ Style/ClassVars:
106
117
  - 'lib/alexandria/ui/book_properties_dialog_base.rb'
107
118
  - 'lib/alexandria/ui/new_book_dialog.rb'
108
119
 
120
+ # Configuration parameters: AllowedConstants.
109
121
  Style/Documentation:
110
122
  Enabled: false
111
123
 
112
- # Configuration parameters: EnforcedStyle.
124
+ # Configuration parameters: EnforcedStyle, MaxUnannotatedPlaceholdersAllowed, IgnoredMethods.
113
125
  # SupportedStyles: annotated, template, unannotated
114
126
  Style/FormatStringToken:
115
127
  Exclude:
116
- - 'lib/alexandria/ui/acquire_dialog.rb'
117
- - 'lib/alexandria/ui/dndable.rb'
118
- - 'lib/alexandria/ui/listview.rb'
119
128
  - 'lib/alexandria/ui/new_book_dialog.rb'
120
129
 
121
130
  # Configuration parameters: AllowedMethods.
@@ -123,8 +132,6 @@ Style/FormatStringToken:
123
132
  Style/OptionalBooleanParameter:
124
133
  Exclude:
125
134
  - 'lib/alexandria/book_providers.rb'
126
- - 'lib/alexandria/book_providers/barnes_and_noble.rb'
127
- - 'lib/alexandria/book_providers/siciliano.rb'
128
135
  - 'lib/alexandria/book_providers/worldcat.rb'
129
136
  - 'lib/alexandria/console.rb'
130
137
  - 'lib/alexandria/execution_queue.rb'
data/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.7.9 / 2022-02-04
4
+
5
+ * Drop support for Ruby 2.5
6
+ * Support up to Ruby 3.1
7
+ * Fix crash when renaming a Library ([#112] by [mvz])
8
+ * Remove broken book data providers: Siciliano, AdLibris, Proxis and Barnes and
9
+ Noble ([#115] by [mvz])
10
+ * Remove Amazon provider ([#118] by [mvz])
11
+ * Remove references to obsolete MCE (Spanish Ministry of Culture) provider from
12
+ documentation ([#119] by [mvz])
13
+ * Use nokogiri instead of hpricot, which is no longer being maintained ([#120]
14
+ by [mvz])
15
+ * Filter out Library objects when loading Book from yaml ([#133] by [mvz])
16
+ * Fix selection update when added book does not match current filter ([#134] by
17
+ [mvz])
18
+ * Recognize negative integers in GConf settings (#136] by [mvz])
19
+ * Fix source for shared items to install ([#139] by [mvz])
20
+ * Various dependency updates
21
+
3
22
  ## 0.7.8 / 2020-11-29
4
23
 
5
24
  * Fix ThaliaProvider
@@ -111,10 +130,20 @@
111
130
 
112
131
  <!-- contributors -->
113
132
  [jrmhaig]: https://github.com/jrmhaig
133
+ [mvz]: https://github.com/mvz
114
134
  [piotrdrag]: https://github.com/piotrdrag
115
135
  [HappyFacade]: https://github.com/HappyFacade
116
136
 
117
137
  <!-- issues and pull requests -->
138
+ [#139]: https://github.com/mvz/alexandria-book-collection-manager/pull/139
139
+ [#136]: https://github.com/mvz/alexandria-book-collection-manager/pull/136
140
+ [#134]: https://github.com/mvz/alexandria-book-collection-manager/pull/134
141
+ [#133]: https://github.com/mvz/alexandria-book-collection-manager/pull/133
142
+ [#120]: https://github.com/mvz/alexandria-book-collection-manager/pull/120
143
+ [#119]: https://github.com/mvz/alexandria-book-collection-manager/pull/119
144
+ [#118]: https://github.com/mvz/alexandria-book-collection-manager/pull/118
145
+ [#115]: https://github.com/mvz/alexandria-book-collection-manager/pull/115
146
+ [#112]: https://github.com/mvz/alexandria-book-collection-manager/pull/112
118
147
  [#88]: https://github.com/mvz/alexandria-book-collection-manager/pull/88
119
148
  [#83]: https://github.com/mvz/alexandria-book-collection-manager/pull/83
120
149
  [#64]: https://github.com/mvz/alexandria-book-collection-manager/pull/64
data/ChangeLog.0 CHANGED
@@ -98,7 +98,7 @@
98
98
  - test of provider MCU: added test that bugs [#2533] and [#2518]
99
99
  are fixed
100
100
  - added test of SBN, LOC and BL, and grouped together tests of
101
- providers depending on optional libraries
101
+ providers depending on optional libraries
102
102
 
103
103
  * z3950.rb:
104
104
  - refactored
@@ -595,22 +595,22 @@
595
595
 
596
596
  2005-10-13 Laurent Sansonetti <lrz@gnome.org>
597
597
 
598
- * lib/alexandria/macui/Icons.rb,
599
- lib/alexandria/macui/ImportController.rb,
600
- lib/alexandria/macui/MainController.rb,
601
- lib/alexandria/macui/TableView.rb,
602
- lib/alexandria/macui/MainWindow.nib/info.nib,
603
- lib/alexandria/macui/MainWindow.nib/keyedobjects.nib:
604
-
605
- - Fixed the end of the import action ;
606
- - Double click on a row in the libraries table view will edit ;
607
- - Added ellipsis after action names in some popup menus ;
608
- - Set the vertical scrollbar as autohide in the libraries table view ;
609
- - Double click outside a row in the libraries table view will create a
610
- new library ;
611
- - Double click outside a row in the books table view or a cell in the
612
- books matrix will open the add book sheet ;
613
- - Some cleaning.
598
+ * lib/alexandria/macui/Icons.rb,
599
+ lib/alexandria/macui/ImportController.rb,
600
+ lib/alexandria/macui/MainController.rb,
601
+ lib/alexandria/macui/TableView.rb,
602
+ lib/alexandria/macui/MainWindow.nib/info.nib,
603
+ lib/alexandria/macui/MainWindow.nib/keyedobjects.nib:
604
+
605
+ - Fixed the end of the import action ;
606
+ - Double click on a row in the libraries table view will edit ;
607
+ - Added ellipsis after action names in some popup menus ;
608
+ - Set the vertical scrollbar as autohide in the libraries table view ;
609
+ - Double click outside a row in the libraries table view will create a
610
+ new library ;
611
+ - Double click outside a row in the books table view or a cell in the
612
+ books matrix will open the add book sheet ;
613
+ - Some cleaning.
614
614
 
615
615
  2005-10-02 Laurent Sansonetti <lrz@gnome.org>
616
616
 
@@ -642,7 +642,7 @@
642
642
 
643
643
  - Removed all scanning stuff ;
644
644
  - The libraries popup menu now display a "New Library" item that
645
- automatically generates a library then adds the books in it ;
645
+ automatically generates a library then adds the books in it ;
646
646
  - Fixed the help error transcient window.
647
647
 
648
648
  * lib/alexandria/library.rb:
@@ -3242,7 +3242,7 @@
3242
3242
  Use the 'clicked' signal instead of 'pressed' for
3243
3243
  Gtk::Button's.
3244
3244
 
3245
- * data/alexandria/glade/preferences_dialog.glade,
3245
+ * data/alexandria/glade/preferences_dialog.glade,
3246
3246
  lib/alexandria/ui/preferences_dialog.rb:
3247
3247
 
3248
3248
  - Removed the network proxy tab ;
data/INSTALL.md CHANGED
@@ -23,12 +23,10 @@ You should have GTK+ 3, and use Ruby-GNOME2 `~> 3.1.0`.
23
23
  is required for the internationalisation of the user interface.
24
24
  Requires version `~> 3.1`.
25
25
 
26
- ### Hpricot
26
+ ### Nokogiri
27
27
 
28
- Alexandria uses [hpricot](https://github.com/hpricot/hpricot) to
29
- parse the HTML from web pages for providers such as Siciliano.
30
- It is also used to parse the XML for the Amazon web
31
- service.
28
+ Alexandria uses [nokogiri](https://nokogiri.org/) to parse the HTML from web
29
+ pages for web-based providers.
32
30
 
33
31
  ## HTMLEntities
34
32
 
data/README.md CHANGED
@@ -41,11 +41,6 @@ keep track of books which are on loan.
41
41
 
42
42
  * retrieves and displays book information (sometimes with cover
43
43
  pictures) from several online libraries and bookshops, such as
44
- - Amazon
45
- - Proxis
46
- - AdLibris
47
- - Spanish Ministry of Culture
48
- - Livraria Siciliano
49
44
  - WorldCat
50
45
  - US Library of Congress
51
46
  - British Library
data/Rakefile CHANGED
@@ -30,25 +30,25 @@ end
30
30
 
31
31
  OmfGenerateTask.new(PROJECT) do |o|
32
32
  o.gnome_helpfiles_dir = "#{SHARE}/gnome/help"
33
- o.generate_omf("data/omf/alexandria", "share/omf/alexandria/*.in")
33
+ o.generate_omf("share/omf/alexandria", "share/omf/alexandria/*.in")
34
34
  end
35
35
 
36
- SHARE_FILE_GLOBS = ["data/alexandria/**/*", "data/gnome/**/*.*",
37
- "data/locale/**/*.mo", "data/omf/**/*.omf",
38
- "data/sounds/**/*.ogg"].freeze # , 'data/menu/*']
36
+ SHARE_FILE_GLOBS = ["share/alexandria/**/*", "share/gnome/**/*.*",
37
+ "share/locale/**/*.mo", "share/omf/**/*.omf",
38
+ "share/sounds/**/*.ogg"].freeze # , 'share/menu/*']
39
39
 
40
- ICON_FILE_GLOBS = ["data/app-icon/**/*.png",
41
- "data/app-icon/scalable/*.svg"].freeze
40
+ ICON_FILE_GLOBS = ["share/app-icon/**/*.png",
41
+ "share/app-icon/scalable/*.svg"].freeze
42
42
 
43
- PIXMAP_GLOBS = "data/app-icon/32x32/*.xpm"
43
+ PIXMAP_GLOBS = "share/app-icon/32x32/*.xpm"
44
44
 
45
45
  def install_common(install_task)
46
46
  install_task.install_exe("bin", "bin/*", "#{PREFIX}/bin")
47
47
  install_task.install("lib", "lib/**/*.rb", install_task.rubylib)
48
48
 
49
- install_task.install("data", SHARE_FILE_GLOBS, SHARE)
49
+ install_task.install("share", SHARE_FILE_GLOBS, SHARE)
50
50
  install_task.install_icons(ICON_FILE_GLOBS, "#{SHARE}/icons")
51
- install_task.install("data/app-icon/32x32", PIXMAP_GLOBS, "#{SHARE}/pixmaps")
51
+ install_task.install("share/app-icon/32x32", PIXMAP_GLOBS, "#{SHARE}/pixmaps")
52
52
 
53
53
  install_task.install("", "schemas/alexandria.schemas", "#{SHARE}/gconf")
54
54
  install_task.install("", "alexandria.desktop", "#{SHARE}/applications")
@@ -123,7 +123,7 @@ file "lib/alexandria/default_preferences.rb" => ["Rakefile", SCHEMA_PATH] do |f|
123
123
  require "rexml/document"
124
124
  generated_lines = []
125
125
 
126
- doc = REXML::Document.new(IO.read(SCHEMA_PATH))
126
+ doc = REXML::Document.new(File.read(SCHEMA_PATH))
127
127
  doc.elements.each("gconfschemafile/schemalist/schema") do |element|
128
128
  default = element.elements["default"].text
129
129
 
@@ -202,7 +202,7 @@ Rake::PackageTask.new(PROJECT, Alexandria::DISPLAY_VERSION) do |p|
202
202
  "Rakefile", "util/**/*",
203
203
  "TODO.md", "alexandria.desktop",
204
204
  "alexandria.desktop.in",
205
- "bin/**/*", "data/**/*", "misc/**/*",
205
+ "bin/**/*", "share/**/*", "misc/**/*",
206
206
  "doc/**/*", "lib/**/*", "po/**/*",
207
207
  "schemas/**/*", "spec/**/*")
208
208
  end
@@ -2,14 +2,10 @@
2
2
 
3
3
  require_relative "lib/alexandria/version"
4
4
 
5
- Gem::Specification.new do |s|
6
- s.name = "alexandria-book-collection-manager"
7
- s.version = Alexandria::VERSION
8
-
9
- s.summary = "GNOME application for managing collections of books"
10
- s.required_ruby_version = ">= 2.5.0"
11
-
12
- s.authors = [
5
+ Gem::Specification.new do |spec|
6
+ spec.name = "alexandria-book-collection-manager"
7
+ spec.version = Alexandria::VERSION
8
+ spec.authors = [
13
9
  "Alexander McCormmach",
14
10
  "Aymeric Nys",
15
11
  "Cathal Mc Ginley",
@@ -32,37 +28,42 @@ Gem::Specification.new do |s|
32
28
  "Timothy Malone",
33
29
  "Zachary P. Landau"
34
30
  ]
35
- s.email = ["matijs@matijs.net"]
36
- s.homepage = "http://www.github.com/mvz/alexandria-book-collection-manager"
31
+ spec.email = ["matijs@matijs.net"]
37
32
 
38
- s.license = "GPL-2"
33
+ spec.summary = "GNOME application for managing collections of books"
39
34
 
40
- s.files = `git ls-files -z`.split("\0") |
41
- ["lib/alexandria/default_preferences.rb"]
35
+ spec.homepage = "http://www.github.com/mvz/alexandria-book-collection-manager"
36
+ spec.license = "GPL-2.0+"
42
37
 
43
- s.executables = ["alexandria"]
38
+ spec.required_ruby_version = ">= 2.6.0"
39
+
40
+ spec.metadata["rubygems_mfa_required"] = "true"
41
+
42
+ spec.files = `git ls-files -z`.split("\0") |
43
+ ["lib/alexandria/default_preferences.rb"]
44
44
 
45
- s.rdoc_options = ["--main", "README.md"]
45
+ spec.executables = ["alexandria"]
46
46
 
47
- s.add_runtime_dependency("gettext", ["~> 3.1"])
48
- s.add_runtime_dependency("gstreamer", ["~> 3.4.3"])
49
- s.add_runtime_dependency("gtk3", ["~> 3.4.3"])
50
- s.add_runtime_dependency("hpricot", ["~> 0.8.5"])
51
- s.add_runtime_dependency("htmlentities", ["~> 4.3"])
52
- s.add_runtime_dependency("image_size", ["~> 2.0"])
53
- s.add_runtime_dependency("marc", ["~> 1.0.0"])
54
- s.add_runtime_dependency("psych", ["~> 3.2.0"])
55
- s.add_runtime_dependency("zoom", ["~> 0.5.0"])
47
+ spec.require_paths = ["lib"]
48
+ spec.rdoc_options = ["--main", "README.md"]
56
49
 
57
- s.add_development_dependency("gnome_app_driver", "~> 0.3.0")
58
- s.add_development_dependency("minitest", ["~> 5.0"])
59
- s.add_development_dependency("rake", ["~> 13.0"])
60
- s.add_development_dependency("rspec", ["~> 3.0"])
61
- s.add_development_dependency("rubocop", "~> 0.93.1")
62
- s.add_development_dependency("rubocop-i18n", ["~> 2.0.2"])
63
- s.add_development_dependency("rubocop-performance", "~> 1.9.0")
64
- s.add_development_dependency("rubocop-rspec", "~> 1.44.1")
65
- s.add_development_dependency("webmock", "~> 3.9")
50
+ spec.add_runtime_dependency("gettext", ["~> 3.1"])
51
+ spec.add_runtime_dependency("gstreamer", ["~> 3.5.0"])
52
+ spec.add_runtime_dependency("gtk3", ["~> 3.5.0"])
53
+ spec.add_runtime_dependency("htmlentities", ["~> 4.3"])
54
+ spec.add_runtime_dependency("image_size", ["~> 3.0"])
55
+ spec.add_runtime_dependency("marc", ">= 1.0", "< 1.2")
56
+ spec.add_runtime_dependency("nokogiri", ["~> 1.11"])
57
+ spec.add_runtime_dependency("psych", ">= 3.2", "< 4.1")
58
+ spec.add_runtime_dependency("zoom", ["~> 0.5.0"])
66
59
 
67
- s.require_paths = ["lib"]
60
+ spec.add_development_dependency("gnome_app_driver", "~> 0.3.0")
61
+ spec.add_development_dependency("rake", ["~> 13.0"])
62
+ spec.add_development_dependency("rspec", ["~> 3.0"])
63
+ spec.add_development_dependency("rubocop", "~> 1.25")
64
+ spec.add_development_dependency("rubocop-i18n", ["~> 3.0"])
65
+ spec.add_development_dependency("rubocop-performance", "~> 1.13")
66
+ spec.add_development_dependency("rubocop-rake", "~> 0.6.0")
67
+ spec.add_development_dependency("rubocop-rspec", "~> 2.7")
68
+ spec.add_development_dependency("webmock", "~> 3.9")
68
69
  end
data/doc/FAQ CHANGED
@@ -291,8 +291,8 @@ of "Name Surname".
291
291
 
292
292
  Answer: Alexandria relies on what the providers say:
293
293
  some providers report "Surname Name": Webster.it, Ibs.it,
294
- some "Name Surname": Bn, Thalia, Bol.it, Adlibris, L Siciliano, Worldcat,
295
- and some without any rule: Amazon, Proxis.
294
+ some "Name Surname": Bn, Thalia, Bol.it, Worldcat,
295
+ and some without any rule: Amazon.
296
296
  You can change, in the preferences, the order in which the providers are
297
297
  queried.
298
298
 
@@ -26,7 +26,7 @@ module Alexandria
26
26
  bindtextdomain(Alexandria::TEXTDOMAIN, charset: "UTF-8")
27
27
  DESCRIPTION = _("A program to help you manage your book collection.")
28
28
  COPYRIGHT = "Copyright (C) 2004-2006 Laurent Sansonetti\n" \
29
- "Copyright (C) 2007-2010,2014,2015 Alexandria Contributors"
29
+ "Copyright (C) 2007-2010,2014,2015 Alexandria Contributors"
30
30
  AUTHORS = [
31
31
  "Alexander McCormmach <alexander@tunicate.org>",
32
32
  "Aymeric Nys <aymeric@nnx.com>",