alexandria-book-collection-manager 0.7.8 → 0.7.10
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 +48 -53
- data/.rubocop.yml +18 -5
- data/.rubocop_todo.yml +31 -37
- data/.simplecov +2 -2
- data/CHANGELOG.md +37 -0
- data/ChangeLog.0 +19 -19
- data/INSTALL.md +3 -5
- data/README.md +0 -5
- data/Rakefile +14 -14
- 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/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/console.rb +2 -2
- data/lib/alexandria/default_preferences.rb +1 -1
- data/lib/alexandria/export_library.rb +14 -14
- data/lib/alexandria/image_fetcher.rb +25 -0
- data/lib/alexandria/import_library.rb +10 -10
- data/lib/alexandria/library_store.rb +4 -5
- data/lib/alexandria/models/book.rb +13 -0
- data/lib/alexandria/models/library.rb +15 -23
- data/lib/alexandria/preferences.rb +4 -6
- data/lib/alexandria/{book_providers/pseudomarc.rb → pseudo_marc_parser.rb} +2 -2
- data/lib/alexandria/scanners/cue_cat.rb +1 -1
- data/lib/alexandria/smart_library.rb +2 -2
- data/lib/alexandria/ui/about_dialog.rb +1 -1
- data/lib/alexandria/ui/acquire_dialog.rb +6 -9
- data/lib/alexandria/ui/alert_dialog.rb +2 -2
- data/lib/alexandria/ui/barcode_animation.rb +1 -1
- data/lib/alexandria/ui/book_properties_dialog_base.rb +5 -9
- data/lib/alexandria/ui/completion_models.rb +1 -5
- data/lib/alexandria/ui/conflict_while_copying_dialog.rb +1 -1
- data/lib/alexandria/ui/icons.rb +2 -2
- data/lib/alexandria/ui/init.rb +10 -4
- 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 +17 -25
- data/lib/alexandria/version.rb +1 -1
- data/lib/alexandria/web_themes.rb +1 -1
- data/lib/alexandria.rb +6 -5
- 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/thalia_provider_spec.rb +1 -1
- data/spec/alexandria/book_providers/world_cat_provider_spec.rb +22 -10
- data/spec/alexandria/book_providers_spec.rb +0 -81
- data/spec/alexandria/book_spec.rb +5 -3
- data/spec/alexandria/export_library_spec.rb +8 -8
- data/spec/alexandria/library_spec.rb +83 -51
- data/spec/alexandria/library_store_spec.rb +1 -1
- data/spec/alexandria/preferences_spec.rb +7 -7
- data/spec/alexandria/pseudo_marc_parser_spec.rb +71 -0
- data/spec/alexandria/scanners/cue_cat_spec.rb +11 -4
- data/spec/alexandria/smart_library_spec.rb +7 -5
- data/spec/alexandria/ui/about_dialog_spec.rb +1 -1
- data/spec/alexandria/ui/acquire_dialog_spec.rb +1 -1
- data/spec/alexandria/ui/alert_dialog_spec.rb +5 -3
- data/spec/alexandria/ui/bad_isbns_dialog_spec.rb +1 -1
- data/spec/alexandria/ui/book_properties_dialog_spec.rb +4 -4
- data/spec/alexandria/ui/confirm_erase_dialog_spec.rb +18 -2
- data/spec/alexandria/ui/conflict_while_copying_dialog_spec.rb +1 -1
- data/spec/alexandria/ui/error_dialog_spec.rb +13 -2
- data/spec/alexandria/ui/export_dialog_spec.rb +3 -3
- data/spec/alexandria/ui/iconview_spec.rb +1 -1
- data/spec/alexandria/ui/import_dialog_spec.rb +3 -3
- data/spec/alexandria/ui/keep_bad_isbn_dialog_spec.rb +1 -1
- data/spec/alexandria/ui/new_book_dialog_manual_spec.rb +4 -4
- data/spec/alexandria/ui/new_book_dialog_spec.rb +2 -2
- data/spec/alexandria/ui/new_provider_dialog_spec.rb +3 -3
- data/spec/alexandria/ui/new_smart_library_dialog_spec.rb +9 -7
- data/spec/alexandria/ui/preferences_dialog_spec.rb +1 -1
- data/spec/alexandria/ui/provider_preferences_dialog_spec.rb +2 -2
- data/spec/alexandria/ui/really_delete_dialog_spec.rb +1 -1
- data/spec/alexandria/ui/sidepane_manager_spec.rb +1 -1
- data/spec/alexandria/ui/skip_entry_dialog_spec.rb +18 -2
- data/spec/alexandria/ui/smart_library_properties_dialog_spec.rb +2 -2
- data/spec/alexandria/ui/ui_manager_spec.rb +83 -5
- data/spec/data/libraries/0.6.2/My Library/9780571147168.yaml +2 -0
- data/spec/spec_helper.rb +23 -32
- data/util/rake/fileinstall.rb +12 -12
- data/util/rake/gettextgenerate.rb +1 -1
- data/util/rake/omfgenerate.rb +1 -1
- metadata +73 -58
- 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: 829e1e63ffab2d61ef2a83a75ac56bf393e503f45ef4ba6d7914ce1c5a38e845
|
4
|
+
data.tar.gz: 5732456488a3f7ad93a3ec2d35c0011a2155f32496397740f3262bfb7dadd463
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 128ded6fe79d486802a8790f557cd0a94cd32f6345a996827b7acd8171067be0146f5bdeec10c015c331b2e6b73cfdff877295c3dbfde60d726b53c6241d941c
|
7
|
+
data.tar.gz: 87675903b9ef31770693a072e832b798d4512d5f0ce9aac59d0dab3421f8974919d1ce4b67673f2fa5841da8e35d665ea83c04928befaa6b7b305a102c89e917
|
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
|
-
on:
|
7
|
+
"on":
|
8
8
|
push:
|
9
|
-
branches: [
|
9
|
+
branches: [master]
|
10
10
|
pull_request:
|
11
|
-
branches: [
|
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", "3.2.0-preview2"]
|
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@v3
|
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@v3
|
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.36.0.
|
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: AllowedMethods, AllowedPatterns, IgnoredMethods, CountRepeatedAttributes.
|
10
16
|
Metrics/AbcSize:
|
11
|
-
Max:
|
17
|
+
Max: 109
|
12
18
|
|
13
|
-
# Configuration parameters: CountComments, CountAsOne, ExcludedMethods.
|
14
|
-
#
|
19
|
+
# Configuration parameters: CountComments, CountAsOne, ExcludedMethods, AllowedMethods, AllowedPatterns, IgnoredMethods, inherit_mode.
|
20
|
+
# AllowedMethods: 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
|
-
# Configuration parameters: IgnoredMethods.
|
32
|
+
# Configuration parameters: AllowedMethods, AllowedPatterns, IgnoredMethods.
|
27
33
|
Metrics/CyclomaticComplexity:
|
28
|
-
Max:
|
34
|
+
Max: 21
|
29
35
|
|
30
|
-
# Configuration parameters: CountComments, CountAsOne, ExcludedMethods.
|
36
|
+
# Configuration parameters: CountComments, CountAsOne, ExcludedMethods, AllowedMethods, AllowedPatterns, IgnoredMethods.
|
31
37
|
Metrics/MethodLength:
|
32
38
|
Max: 98
|
33
39
|
|
@@ -35,18 +41,14 @@ 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
|
|
42
|
-
# Configuration parameters: IgnoredMethods.
|
48
|
+
# Configuration parameters: AllowedMethods, AllowedPatterns, IgnoredMethods.
|
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,31 +65,28 @@ 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
|
|
77
|
-
|
78
|
-
|
79
|
+
# This cop supports safe autocorrection (--autocorrect).
|
80
|
+
Rake/Desc:
|
81
|
+
Exclude:
|
82
|
+
- 'Rakefile'
|
83
|
+
- 'tasks/spec.rake'
|
79
84
|
|
80
|
-
|
81
|
-
# Configuration parameters: Strict, EnforcedStyle, AllowedExplicitMatchers.
|
82
|
-
# SupportedStyles: inflected, explicit
|
83
|
-
RSpec/PredicateMatcher:
|
85
|
+
Rake/DuplicateTask:
|
84
86
|
Exclude:
|
85
|
-
- '
|
86
|
-
- 'spec/alexandria/library_spec.rb'
|
87
|
-
- 'spec/alexandria/library_store_spec.rb'
|
88
|
-
- 'spec/alexandria/scanners/cue_cat_spec.rb'
|
87
|
+
- 'Rakefile'
|
89
88
|
|
90
|
-
#
|
89
|
+
# This cop supports unsafe autocorrection (--autocorrect-all).
|
91
90
|
# Configuration parameters: EnforcedStyle.
|
92
91
|
# SupportedStyles: nested, compact
|
93
92
|
Style/ClassAndModuleChildren:
|
@@ -97,7 +96,6 @@ Style/ClassAndModuleChildren:
|
|
97
96
|
|
98
97
|
Style/ClassVars:
|
99
98
|
Exclude:
|
100
|
-
- 'lib/alexandria/book_providers/amazon_ecs_util.rb'
|
101
99
|
- 'lib/alexandria/execution_queue.rb'
|
102
100
|
- 'lib/alexandria/logging.rb'
|
103
101
|
- 'lib/alexandria/models/library.rb'
|
@@ -106,16 +104,15 @@ Style/ClassVars:
|
|
106
104
|
- 'lib/alexandria/ui/book_properties_dialog_base.rb'
|
107
105
|
- 'lib/alexandria/ui/new_book_dialog.rb'
|
108
106
|
|
107
|
+
# Configuration parameters: AllowedConstants.
|
109
108
|
Style/Documentation:
|
110
109
|
Enabled: false
|
111
110
|
|
112
|
-
#
|
111
|
+
# This cop supports safe autocorrection (--autocorrect).
|
112
|
+
# Configuration parameters: EnforcedStyle, MaxUnannotatedPlaceholdersAllowed, AllowedMethods, AllowedPatterns, IgnoredMethods.
|
113
113
|
# SupportedStyles: annotated, template, unannotated
|
114
114
|
Style/FormatStringToken:
|
115
115
|
Exclude:
|
116
|
-
- 'lib/alexandria/ui/acquire_dialog.rb'
|
117
|
-
- 'lib/alexandria/ui/dndable.rb'
|
118
|
-
- 'lib/alexandria/ui/listview.rb'
|
119
116
|
- 'lib/alexandria/ui/new_book_dialog.rb'
|
120
117
|
|
121
118
|
# Configuration parameters: AllowedMethods.
|
@@ -123,10 +120,7 @@ Style/FormatStringToken:
|
|
123
120
|
Style/OptionalBooleanParameter:
|
124
121
|
Exclude:
|
125
122
|
- 'lib/alexandria/book_providers.rb'
|
126
|
-
- 'lib/alexandria/book_providers/barnes_and_noble.rb'
|
127
|
-
- 'lib/alexandria/book_providers/siciliano.rb'
|
128
123
|
- 'lib/alexandria/book_providers/worldcat.rb'
|
129
|
-
- 'lib/alexandria/console.rb'
|
130
124
|
- 'lib/alexandria/execution_queue.rb'
|
131
125
|
- 'lib/alexandria/export_format.rb'
|
132
126
|
- 'lib/alexandria/library_sort_order.rb'
|
data/.simplecov
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,31 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## 0.7.10 / 2022-10-14
|
4
|
+
|
5
|
+
* Loosen dependency on the marc gem
|
6
|
+
* Update dependency on the gtk3 and gstreamer gems
|
7
|
+
* Make Alexandria's own MARC parser handle nil records ([#198] by [mvz])
|
8
|
+
* Support upcoming Ruby 3.2
|
9
|
+
|
10
|
+
## 0.7.9 / 2022-02-04
|
11
|
+
|
12
|
+
* Drop support for Ruby 2.5
|
13
|
+
* Support up to Ruby 3.1
|
14
|
+
* Fix crash when renaming a Library ([#112] by [mvz])
|
15
|
+
* Remove broken book data providers: Siciliano, AdLibris, Proxis and Barnes and
|
16
|
+
Noble ([#115] by [mvz])
|
17
|
+
* Remove Amazon provider ([#118] by [mvz])
|
18
|
+
* Remove references to obsolete MCE (Spanish Ministry of Culture) provider from
|
19
|
+
documentation ([#119] by [mvz])
|
20
|
+
* Use nokogiri instead of hpricot, which is no longer being maintained ([#120]
|
21
|
+
by [mvz])
|
22
|
+
* Filter out Library objects when loading Book from yaml ([#133] by [mvz])
|
23
|
+
* Fix selection update when added book does not match current filter ([#134] by
|
24
|
+
[mvz])
|
25
|
+
* Recognize negative integers in GConf settings (#136] by [mvz])
|
26
|
+
* Fix source for shared items to install ([#139] by [mvz])
|
27
|
+
* Various dependency updates
|
28
|
+
|
3
29
|
## 0.7.8 / 2020-11-29
|
4
30
|
|
5
31
|
* Fix ThaliaProvider
|
@@ -111,10 +137,21 @@
|
|
111
137
|
|
112
138
|
<!-- contributors -->
|
113
139
|
[jrmhaig]: https://github.com/jrmhaig
|
140
|
+
[mvz]: https://github.com/mvz
|
114
141
|
[piotrdrag]: https://github.com/piotrdrag
|
115
142
|
[HappyFacade]: https://github.com/HappyFacade
|
116
143
|
|
117
144
|
<!-- issues and pull requests -->
|
145
|
+
[#198]: https://github.com/mvz/alexandria-book-collection-manager/pull/198
|
146
|
+
[#139]: https://github.com/mvz/alexandria-book-collection-manager/pull/139
|
147
|
+
[#136]: https://github.com/mvz/alexandria-book-collection-manager/pull/136
|
148
|
+
[#134]: https://github.com/mvz/alexandria-book-collection-manager/pull/134
|
149
|
+
[#133]: https://github.com/mvz/alexandria-book-collection-manager/pull/133
|
150
|
+
[#120]: https://github.com/mvz/alexandria-book-collection-manager/pull/120
|
151
|
+
[#119]: https://github.com/mvz/alexandria-book-collection-manager/pull/119
|
152
|
+
[#118]: https://github.com/mvz/alexandria-book-collection-manager/pull/118
|
153
|
+
[#115]: https://github.com/mvz/alexandria-book-collection-manager/pull/115
|
154
|
+
[#112]: https://github.com/mvz/alexandria-book-collection-manager/pull/112
|
118
155
|
[#88]: https://github.com/mvz/alexandria-book-collection-manager/pull/88
|
119
156
|
[#83]: https://github.com/mvz/alexandria-book-collection-manager/pull/83
|
120
157
|
[#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
@@ -15,12 +15,12 @@ require "omfgenerate"
|
|
15
15
|
|
16
16
|
require_relative "lib/alexandria/version"
|
17
17
|
|
18
|
-
stage_dir = ENV
|
19
|
-
prefix_dir = ENV
|
18
|
+
stage_dir = ENV.fetch("DESTDIR", "tmp")
|
19
|
+
prefix_dir = ENV.fetch("PREFIX", "/usr")
|
20
20
|
|
21
21
|
PROJECT = "alexandria"
|
22
22
|
PREFIX = prefix_dir
|
23
|
-
share_dir = ENV
|
23
|
+
share_dir = ENV.fetch("SHARE", "#{PREFIX}/share")
|
24
24
|
SHARE = share_dir
|
25
25
|
|
26
26
|
GettextGenerateTask.new(PROJECT) do |g|
|
@@ -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
|