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.
- checksums.yaml +4 -4
- data/.github/workflows/ruby.yml +45 -50
- data/.rubocop.yml +18 -5
- data/.rubocop_todo.yml +29 -22
- data/CHANGELOG.md +29 -0
- data/ChangeLog.0 +19 -19
- data/INSTALL.md +3 -5
- data/README.md +0 -5
- data/Rakefile +11 -11
- data/alexandria-book-collection-manager.gemspec +35 -34
- data/doc/FAQ +2 -2
- data/lib/alexandria/about.rb +1 -1
- data/lib/alexandria/book_providers/bl_provider.rb +88 -0
- data/lib/alexandria/book_providers/loc_provider.rb +38 -0
- data/lib/alexandria/book_providers/pseudomarc.rb +1 -1
- data/lib/alexandria/book_providers/sbn_provider.rb +108 -0
- data/lib/alexandria/book_providers/thalia_provider.rb +1 -1
- data/lib/alexandria/book_providers/web.rb +2 -2
- data/lib/alexandria/book_providers/worldcat.rb +9 -7
- data/lib/alexandria/book_providers/z3950_provider.rb +199 -0
- data/lib/alexandria/book_providers.rb +10 -25
- data/lib/alexandria/default_preferences.rb +1 -1
- data/lib/alexandria/export_library.rb +10 -10
- data/lib/alexandria/image_fetcher.rb +25 -0
- data/lib/alexandria/import_library.rb +9 -9
- data/lib/alexandria/library_store.rb +3 -4
- data/lib/alexandria/models/book.rb +13 -0
- data/lib/alexandria/models/library.rb +13 -21
- data/lib/alexandria/preferences.rb +4 -6
- data/lib/alexandria/scanners/cue_cat.rb +1 -1
- data/lib/alexandria/ui/about_dialog.rb +1 -1
- data/lib/alexandria/ui/acquire_dialog.rb +6 -9
- data/lib/alexandria/ui/barcode_animation.rb +1 -1
- data/lib/alexandria/ui/book_properties_dialog_base.rb +2 -6
- data/lib/alexandria/ui/completion_models.rb +1 -5
- data/lib/alexandria/ui/conflict_while_copying_dialog.rb +1 -1
- data/lib/alexandria/ui/listview.rb +1 -1
- data/lib/alexandria/ui/multi_drag_treeview.rb +1 -1
- data/lib/alexandria/ui/new_book_dialog.rb +11 -13
- data/lib/alexandria/ui/new_book_dialog_manual.rb +1 -1
- data/lib/alexandria/ui/preferences_dialog.rb +2 -2
- data/lib/alexandria/ui/provider_preferences_base_dialog.rb +1 -1
- data/lib/alexandria/ui/really_delete_dialog.rb +1 -1
- data/lib/alexandria/ui/ui_manager.rb +14 -22
- data/lib/alexandria/version.rb +1 -1
- data/po/cs.po +90 -125
- data/po/cy.po +87 -125
- data/po/de.po +96 -125
- data/po/el.po +96 -125
- data/po/es.po +96 -125
- data/po/fr.po +90 -125
- data/po/ga.po +83 -124
- data/po/gl.po +90 -125
- data/po/it.po +90 -125
- data/po/ja.po +90 -125
- data/po/mk.po +96 -125
- data/po/nb.po +90 -125
- data/po/nl.po +107 -124
- data/po/pl.po +113 -124
- data/po/pt.po +90 -125
- data/po/pt_BR.po +90 -125
- data/po/ru.po +92 -124
- data/po/sk.po +90 -125
- data/po/sv.po +90 -125
- data/po/uk.po +90 -125
- data/po/zh_TW.po +90 -125
- data/schemas/alexandria.schemas +1 -1
- data/share/gnome/help/alexandria/C/adding-books.xml +3 -4
- data/share/gnome/help/alexandria/C/introduction.xml +0 -16
- data/share/gnome/help/alexandria/C/searching.xml +1 -4
- data/share/gnome/help/alexandria/C/settings.xml +0 -30
- data/share/gnome/help/alexandria/fr/alexandria.xml +4 -159
- data/share/gnome/help/alexandria/ja/adding-books.xml +1 -1
- data/share/gnome/help/alexandria/ja/introduction.xml +0 -15
- data/share/gnome/help/alexandria/ja/searching.xml +3 -7
- data/share/gnome/help/alexandria/ja/settings.xml +0 -27
- data/spec/alexandria/book_providers/bl_provider_spec.rb +13 -0
- data/spec/alexandria/book_providers/loc_provider_spec.rb +17 -0
- data/spec/alexandria/book_providers/sbn_provider_spec.rb +13 -0
- data/spec/alexandria/book_providers_spec.rb +0 -81
- data/spec/alexandria/library_spec.rb +20 -2
- data/spec/alexandria/ui/import_dialog_spec.rb +1 -1
- data/spec/alexandria/ui/new_smart_library_dialog_spec.rb +1 -1
- data/spec/alexandria/ui/preferences_dialog_spec.rb +1 -1
- data/spec/alexandria/ui/ui_manager_spec.rb +78 -2
- data/spec/data/libraries/0.6.2/My Library/9780571147168.yaml +2 -0
- data/util/rake/fileinstall.rb +4 -4
- data/util/rake/omfgenerate.rb +1 -1
- metadata +69 -55
- data/lib/alexandria/book_providers/adlibris.rb +0 -191
- data/lib/alexandria/book_providers/amazon_aws.rb +0 -239
- data/lib/alexandria/book_providers/amazon_ecs_util.rb +0 -373
- data/lib/alexandria/book_providers/barnes_and_noble.rb +0 -209
- data/lib/alexandria/book_providers/proxis.rb +0 -176
- data/lib/alexandria/book_providers/siciliano.rb +0 -256
- data/lib/alexandria/book_providers/z3950.rb +0 -408
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 680cc4d6ee5efa35b819f163452593c352c9323efcd06baad69458e46ac16dfc
|
4
|
+
data.tar.gz: a1153041ada7d8641d84d5b118209c05247d9651bcddc5f92164745f62f7289c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c7b860e3c6726fcda6877d44a84d88a62daebdc768a4d4acc6756f2a712257b1eebc783a9a1f7d3ad81219c85f2b4c4a4a84d6e8cc4126bb6847109fa9da7020
|
7
|
+
data.tar.gz: 99e777a212dcad283f0e9722b2836b41c51442cb6153b5f76a0cd03ec87977733112bffc73899ca1c8081e32f68da50bace883b5c7eb0410174b8a0e05e2a6fe
|
data/.github/workflows/ruby.yml
CHANGED
@@ -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:
|
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.
|
22
|
+
ruby: [2.6, 2.7, "3.0", "3.1"]
|
21
23
|
|
22
24
|
steps:
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
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
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
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
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
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.
|
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
|
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:
|
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
|
-
#
|
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:
|
30
|
+
Max: 991
|
25
31
|
|
26
32
|
# Configuration parameters: IgnoredMethods.
|
27
33
|
Metrics/CyclomaticComplexity:
|
28
|
-
Max:
|
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
|
-
|
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
|
-
|
599
|
-
|
600
|
-
|
601
|
-
|
602
|
-
|
603
|
-
|
604
|
-
|
605
|
-
|
606
|
-
|
607
|
-
|
608
|
-
|
609
|
-
|
610
|
-
|
611
|
-
|
612
|
-
|
613
|
-
|
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
|
-
|
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
|
-
|
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
|
-
###
|
26
|
+
### Nokogiri
|
27
27
|
|
28
|
-
Alexandria uses [
|
29
|
-
|
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("
|
33
|
+
o.generate_omf("share/omf/alexandria", "share/omf/alexandria/*.in")
|
34
34
|
end
|
35
35
|
|
36
|
-
SHARE_FILE_GLOBS = ["
|
37
|
-
"
|
38
|
-
"
|
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 = ["
|
41
|
-
"
|
40
|
+
ICON_FILE_GLOBS = ["share/app-icon/**/*.png",
|
41
|
+
"share/app-icon/scalable/*.svg"].freeze
|
42
42
|
|
43
|
-
PIXMAP_GLOBS = "
|
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("
|
49
|
+
install_task.install("share", SHARE_FILE_GLOBS, SHARE)
|
50
50
|
install_task.install_icons(ICON_FILE_GLOBS, "#{SHARE}/icons")
|
51
|
-
install_task.install("
|
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(
|
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/**/*", "
|
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 |
|
6
|
-
|
7
|
-
|
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
|
-
|
36
|
-
s.homepage = "http://www.github.com/mvz/alexandria-book-collection-manager"
|
31
|
+
spec.email = ["matijs@matijs.net"]
|
37
32
|
|
38
|
-
|
33
|
+
spec.summary = "GNOME application for managing collections of books"
|
39
34
|
|
40
|
-
|
41
|
-
|
35
|
+
spec.homepage = "http://www.github.com/mvz/alexandria-book-collection-manager"
|
36
|
+
spec.license = "GPL-2.0+"
|
42
37
|
|
43
|
-
|
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
|
-
|
45
|
+
spec.executables = ["alexandria"]
|
46
46
|
|
47
|
-
|
48
|
-
|
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
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
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
|
-
|
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,
|
295
|
-
and some without any rule: Amazon
|
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
|
|
data/lib/alexandria/about.rb
CHANGED
@@ -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
|
-
|
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>",
|