alexandria-book-collection-manager 0.7.2 → 0.7.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.hound.yml +2 -0
- data/.rubocop.yml +4 -4
- data/.rubocop_todo.yml +55 -82
- data/CHANGELOG.md +17 -0
- data/INSTALL.md +3 -3
- data/README.md +1 -2
- data/Rakefile +14 -33
- data/TODO.md +9 -1
- data/alexandria-book-collection-manager.gemspec +4 -3
- data/bin/alexandria +21 -34
- data/doc/FAQ +2 -5
- data/lib/alexandria.rb +4 -16
- data/lib/alexandria/book_providers.rb +5 -7
- data/lib/alexandria/book_providers/adlibris.rb +5 -3
- data/lib/alexandria/book_providers/amazon_aws.rb +3 -1
- data/lib/alexandria/book_providers/amazon_ecs_util.rb +8 -0
- data/lib/alexandria/book_providers/barnes_and_noble.rb +7 -4
- data/lib/alexandria/book_providers/douban.rb +1 -1
- data/lib/alexandria/book_providers/proxis.rb +11 -27
- data/lib/alexandria/book_providers/renaud.rb +9 -3
- data/lib/alexandria/book_providers/siciliano.rb +7 -4
- data/lib/alexandria/book_providers/thalia.rb +5 -3
- data/lib/alexandria/book_providers/web.rb +11 -29
- data/lib/alexandria/book_providers/worldcat.rb +7 -5
- data/lib/alexandria/book_providers/z3950.rb +10 -7
- data/lib/alexandria/console.rb +5 -18
- data/lib/alexandria/execution_queue.rb +2 -1
- data/lib/alexandria/export_format.rb +47 -0
- data/lib/alexandria/export_library.rb +72 -180
- data/lib/alexandria/import_library.rb +14 -23
- data/lib/alexandria/import_library_csv.rb +3 -6
- data/lib/alexandria/library_collection.rb +78 -0
- data/lib/alexandria/library_sort_order.rb +43 -0
- data/lib/alexandria/library_store.rb +222 -0
- data/lib/alexandria/logging.rb +2 -0
- data/lib/alexandria/models/book.rb +8 -16
- data/lib/alexandria/models/library.rb +26 -308
- data/lib/alexandria/preferences.rb +7 -24
- data/lib/alexandria/scanners/cuecat.rb +3 -1
- data/lib/alexandria/smart_library.rb +32 -67
- data/lib/alexandria/ui/builder_base.rb +6 -26
- data/lib/alexandria/ui/callbacks.rb +8 -34
- data/lib/alexandria/ui/completion_models.rb +2 -1
- data/lib/alexandria/ui/dialogs/about_dialog.rb +35 -47
- data/lib/alexandria/ui/dialogs/acquire_dialog.rb +14 -30
- data/lib/alexandria/ui/dialogs/alert_dialog.rb +8 -17
- data/lib/alexandria/ui/dialogs/bad_isbns_dialog.rb +10 -24
- data/lib/alexandria/ui/dialogs/book_properties_dialog.rb +17 -18
- data/lib/alexandria/ui/dialogs/book_properties_dialog_base.rb +25 -41
- data/lib/alexandria/ui/dialogs/export_dialog.rb +48 -56
- data/lib/alexandria/ui/dialogs/import_dialog.rb +31 -51
- data/lib/alexandria/ui/dialogs/keep_bad_isbn_dialog.rb +33 -0
- data/lib/alexandria/ui/dialogs/misc_dialogs.rb +12 -25
- data/lib/alexandria/ui/dialogs/new_book_dialog.rb +57 -94
- data/lib/alexandria/ui/dialogs/new_book_dialog_manual.rb +24 -42
- data/lib/alexandria/ui/dialogs/new_smart_library_dialog.rb +9 -21
- data/lib/alexandria/ui/dialogs/preferences_dialog.rb +27 -32
- data/lib/alexandria/ui/dialogs/smart_library_properties_dialog.rb +5 -3
- data/lib/alexandria/ui/dialogs/smart_library_properties_dialog_base.rb +15 -12
- data/lib/alexandria/ui/icons.rb +11 -22
- data/lib/alexandria/ui/init.rb +3 -3
- data/lib/alexandria/ui/libraries_combo.rb +1 -0
- data/lib/alexandria/ui/listview.rb +5 -21
- data/lib/alexandria/ui/multi_drag_treeview.rb +20 -32
- data/lib/alexandria/ui/sidepane.rb +9 -24
- data/lib/alexandria/ui/ui_manager.rb +36 -60
- data/lib/alexandria/undo_manager.rb +1 -0
- data/lib/alexandria/version.rb +2 -2
- data/lib/alexandria/web_themes.rb +1 -0
- data/po/cs.po +0 -4
- data/po/cy.po +0 -4
- data/po/de.po +0 -4
- data/po/el.po +0 -4
- data/po/es.po +0 -4
- data/po/fr.po +0 -4
- data/po/ga.po +0 -4
- data/po/gl.po +0 -4
- data/po/it.po +0 -4
- data/po/ja.po +0 -4
- data/po/mk.po +0 -4
- data/po/nb.po +0 -4
- data/po/nl.po +0 -4
- data/po/pl.po +0 -4
- data/po/pt.po +0 -4
- data/po/pt_BR.po +0 -4
- data/po/ru.po +0 -4
- data/po/sk.po +0 -4
- data/po/sv.po +0 -4
- data/po/uk.po +0 -4
- data/po/zh_TW.po +0 -4
- data/schemas/alexandria.schemas +1 -1
- data/share/alexandria/glade/acquire_dialog__builder.glade +14 -11
- data/share/alexandria/glade/book_properties_dialog__builder.glade +170 -298
- data/share/alexandria/glade/main_app__builder.glade +22 -16
- data/share/alexandria/glade/new_book_dialog__builder.glade +26 -58
- data/share/alexandria/glade/preferences_dialog__builder.glade +249 -289
- data/share/gnome/help/alexandria/C/introduction.xml +0 -4
- data/share/gnome/help/alexandria/ja/introduction.xml +0 -4
- data/spec/alexandria/book_providers_spec.rb +1 -20
- data/spec/alexandria/console_spec.rb +32 -0
- data/spec/alexandria/export_library_spec.rb +141 -0
- data/spec/alexandria/library_spec.rb +24 -80
- data/spec/alexandria/library_store_spec.rb +37 -0
- data/spec/alexandria/smart_library_spec.rb +27 -22
- data/spec/alexandria/ui/dialogs/new_book_dialog_spec.rb +22 -0
- data/spec/alexandria/ui/dialogs_spec.rb +104 -38
- data/spec/end_to_end/basic_run_spec.rb +69 -0
- data/spec/spec_helper.rb +13 -25
- data/tasks/spec.rake +15 -2
- data/util/rake/fileinstall.rb +1 -0
- metadata +38 -16
- data/lib/alexandria/book_providers/deastore.rb +0 -265
- data/lib/alexandria/book_providers/mcu.rb +0 -182
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c5ce199935fd434ee40793e79cf4f8ad31c4f140e26844ae0bad7f6d111d5486
|
4
|
+
data.tar.gz: 76f857b281f0b11c6485d4196b2f47e3980eb4ff8ea7fe89797e7321388f0cf2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4f49799facc13291bac2d34f82af36fc2cd9461eddf21b0f2cb30fa089517f4f5f2ed41713cba354c72a9143df5273059614969257834836ea604213fe05f47a
|
7
|
+
data.tar.gz: 89ab1a4b55b5df6b1ae9c2ec5f0ebcf82ad79e10208c6ff51572f59ccfa59ebeed51dfecac96b15e4442ffe081c5f717b2491478d3cad870aa1ae9be0012572e
|
data/.gitignore
CHANGED
data/.hound.yml
ADDED
data/.rubocop.yml
CHANGED
@@ -25,6 +25,10 @@ Layout/MultilineMethodCallIndentation:
|
|
25
25
|
Layout/SpaceBeforeBlockBraces:
|
26
26
|
EnforcedStyleForEmptyBraces: space
|
27
27
|
|
28
|
+
Layout/AlignHash:
|
29
|
+
EnforcedColonStyle: key
|
30
|
+
EnforcedHashRocketStyle: table
|
31
|
+
|
28
32
|
# Allow if (foo = get_foo) style
|
29
33
|
Lint/AssignmentInCondition:
|
30
34
|
AllowSafeAssignment: true
|
@@ -49,10 +53,6 @@ Style/BlockDelimiters:
|
|
49
53
|
Style/AndOr:
|
50
54
|
Enabled: conditionals
|
51
55
|
|
52
|
-
# Prefer old school format strings
|
53
|
-
Style/FormatStringToken:
|
54
|
-
EnforcedStyle: unannotated
|
55
|
-
|
56
56
|
# Require at least two dependent lines before suggesting a guard clause
|
57
57
|
Style/GuardClause:
|
58
58
|
MinBodyLength: 2
|
data/.rubocop_todo.yml
CHANGED
@@ -1,41 +1,17 @@
|
|
1
1
|
# This configuration was generated by
|
2
2
|
# `rubocop --auto-gen-config`
|
3
|
-
# on
|
3
|
+
# on 2019-02-27 08:50:25 +0100 using RuboCop version 0.65.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
|
-
# Offense count: 12
|
10
|
-
# Cop supports --auto-correct.
|
11
|
-
# Configuration parameters: EnforcedStyle.
|
12
|
-
# SupportedStyles: auto_detection, squiggly, active_support, powerpack, unindent
|
13
|
-
Layout/IndentHeredoc:
|
14
|
-
Exclude:
|
15
|
-
- 'Rakefile'
|
16
|
-
- 'bin/alexandria'
|
17
|
-
- 'lib/alexandria/export_library.rb'
|
18
|
-
- 'lib/alexandria/ui/dialogs/about_dialog.rb'
|
19
|
-
|
20
|
-
# Offense count: 6
|
21
|
-
Lint/HandleExceptions:
|
22
|
-
Exclude:
|
23
|
-
- 'lib/alexandria/import_library_csv.rb'
|
24
|
-
- 'lib/alexandria/models/library.rb'
|
25
|
-
- 'lib/alexandria/ui/dialogs/book_properties_dialog.rb'
|
26
|
-
- 'lib/alexandria/ui/dialogs/import_dialog.rb'
|
27
|
-
|
28
9
|
# Offense count: 2
|
29
10
|
Lint/IneffectiveAccessModifier:
|
30
11
|
Exclude:
|
31
12
|
- 'lib/alexandria/logging.rb'
|
32
13
|
- 'lib/alexandria/web_themes.rb'
|
33
14
|
|
34
|
-
# Offense count: 1
|
35
|
-
Lint/UnreachableCode:
|
36
|
-
Exclude:
|
37
|
-
- 'lib/alexandria/ui/dialogs/export_dialog.rb'
|
38
|
-
|
39
15
|
# Offense count: 1
|
40
16
|
Lint/UriEscapeUnescape:
|
41
17
|
Exclude:
|
@@ -47,20 +23,15 @@ Lint/UselessAccessModifier:
|
|
47
23
|
Exclude:
|
48
24
|
- 'lib/alexandria/logging.rb'
|
49
25
|
|
50
|
-
# Offense count: 2
|
51
|
-
Lint/UselessAssignment:
|
52
|
-
Exclude:
|
53
|
-
- 'lib/alexandria/models/library.rb'
|
54
|
-
- 'lib/alexandria/smart_library.rb'
|
55
|
-
|
56
26
|
# Offense count: 165
|
57
27
|
Metrics/AbcSize:
|
58
28
|
Max: 161
|
59
29
|
|
60
|
-
# Offense count:
|
30
|
+
# Offense count: 21
|
61
31
|
# Configuration parameters: CountComments, ExcludedMethods.
|
32
|
+
# ExcludedMethods: refine
|
62
33
|
Metrics/BlockLength:
|
63
|
-
Max:
|
34
|
+
Max: 66
|
64
35
|
|
65
36
|
# Offense count: 13
|
66
37
|
# Configuration parameters: CountBlocks.
|
@@ -70,30 +41,30 @@ Metrics/BlockNesting:
|
|
70
41
|
# Offense count: 32
|
71
42
|
# Configuration parameters: CountComments.
|
72
43
|
Metrics/ClassLength:
|
73
|
-
Max:
|
44
|
+
Max: 985
|
74
45
|
|
75
|
-
# Offense count:
|
46
|
+
# Offense count: 65
|
76
47
|
Metrics/CyclomaticComplexity:
|
77
|
-
Max:
|
48
|
+
Max: 22
|
78
49
|
|
79
|
-
# Offense count:
|
80
|
-
# Configuration parameters: CountComments.
|
50
|
+
# Offense count: 212
|
51
|
+
# Configuration parameters: CountComments, ExcludedMethods.
|
81
52
|
Metrics/MethodLength:
|
82
53
|
Max: 109
|
83
54
|
|
84
|
-
# Offense count:
|
55
|
+
# Offense count: 1
|
85
56
|
# Configuration parameters: CountComments.
|
86
57
|
Metrics/ModuleLength:
|
87
|
-
Max:
|
58
|
+
Max: 338
|
88
59
|
|
89
60
|
# Offense count: 10
|
90
61
|
# Configuration parameters: CountKeywordArgs.
|
91
62
|
Metrics/ParameterLists:
|
92
63
|
Max: 7
|
93
64
|
|
94
|
-
# Offense count:
|
65
|
+
# Offense count: 62
|
95
66
|
Metrics/PerceivedComplexity:
|
96
|
-
Max:
|
67
|
+
Max: 23
|
97
68
|
|
98
69
|
# Offense count: 8
|
99
70
|
Naming/BinaryOperatorParameterName:
|
@@ -105,9 +76,9 @@ Naming/BinaryOperatorParameterName:
|
|
105
76
|
- 'lib/alexandria/smart_library.rb'
|
106
77
|
- 'lib/alexandria/ui/multi_drag_treeview.rb'
|
107
78
|
|
108
|
-
# Offense count:
|
79
|
+
# Offense count: 13
|
109
80
|
# Configuration parameters: Blacklist.
|
110
|
-
# Blacklist:
|
81
|
+
# Blacklist: (?-mix:(^|\s)(EO[A-Z]{1}|END)(\s|$))
|
111
82
|
Naming/HeredocDelimiterNaming:
|
112
83
|
Exclude:
|
113
84
|
- 'Rakefile'
|
@@ -116,17 +87,12 @@ Naming/HeredocDelimiterNaming:
|
|
116
87
|
- 'lib/alexandria/ui/dialogs/about_dialog.rb'
|
117
88
|
|
118
89
|
# Offense count: 2
|
90
|
+
# Configuration parameters: EnforcedStyleForLeadingUnderscores.
|
91
|
+
# SupportedStylesForLeadingUnderscores: disallowed, required, optional
|
119
92
|
Naming/MemoizedInstanceVariableName:
|
120
93
|
Exclude:
|
121
94
|
- 'lib/alexandria/logging.rb'
|
122
95
|
|
123
|
-
# Offense count: 1
|
124
|
-
# Configuration parameters: EnforcedStyle.
|
125
|
-
# SupportedStyles: snake_case, camelCase
|
126
|
-
Naming/MethodName:
|
127
|
-
Exclude:
|
128
|
-
- 'lib/alexandria/book_providers/mcu.rb'
|
129
|
-
|
130
96
|
# Offense count: 4
|
131
97
|
# Configuration parameters: NamePrefix, NamePrefixBlacklist, NameWhitelist, MethodDefinitionMacros.
|
132
98
|
# NamePrefix: is_, has_, have_
|
@@ -142,7 +108,7 @@ Naming/PredicateName:
|
|
142
108
|
|
143
109
|
# Offense count: 10
|
144
110
|
# Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames.
|
145
|
-
# AllowedNames: io, id
|
111
|
+
# AllowedNames: io, id, to, by, on, in, at, ip, db
|
146
112
|
Naming/UncommunicativeMethodParamName:
|
147
113
|
Exclude:
|
148
114
|
- 'lib/alexandria/book_providers/amazon_ecs_util.rb'
|
@@ -176,21 +142,21 @@ Style/ClassVars:
|
|
176
142
|
- 'lib/alexandria/ui/dialogs/book_properties_dialog_base.rb'
|
177
143
|
- 'lib/alexandria/ui/dialogs/new_book_dialog.rb'
|
178
144
|
|
179
|
-
# Offense count:
|
145
|
+
# Offense count: 11
|
180
146
|
Style/CommentedKeyword:
|
181
147
|
Exclude:
|
182
148
|
- 'lib/alexandria/book_providers.rb'
|
183
149
|
- 'lib/alexandria/book_providers/barnes_and_noble.rb'
|
184
150
|
- 'lib/alexandria/book_providers/worldcat.rb'
|
185
|
-
- 'lib/alexandria/ui/dialogs/book_properties_dialog_base.rb'
|
186
151
|
- 'lib/alexandria/ui/dialogs/new_book_dialog.rb'
|
187
152
|
- 'util/rake/fileinstall.rb'
|
188
153
|
|
189
|
-
# Offense count:
|
154
|
+
# Offense count: 112
|
190
155
|
Style/Documentation:
|
191
156
|
Enabled: false
|
192
157
|
|
193
158
|
# Offense count: 6
|
159
|
+
# Cop supports --auto-correct.
|
194
160
|
# Configuration parameters: EnforcedStyle.
|
195
161
|
# SupportedStyles: each, for
|
196
162
|
Style/For:
|
@@ -200,37 +166,58 @@ Style/For:
|
|
200
166
|
- 'lib/alexandria/book_providers/renaud.rb'
|
201
167
|
- 'spec/alexandria/library_spec.rb'
|
202
168
|
|
169
|
+
# Offense count: 65
|
170
|
+
# Configuration parameters: EnforcedStyle.
|
171
|
+
# SupportedStyles: annotated, template, unannotated
|
172
|
+
Style/FormatStringToken:
|
173
|
+
Exclude:
|
174
|
+
- 'lib/alexandria/book_providers.rb'
|
175
|
+
- 'lib/alexandria/ui/callbacks.rb'
|
176
|
+
- 'lib/alexandria/ui/dialogs/acquire_dialog.rb'
|
177
|
+
- 'lib/alexandria/ui/dialogs/book_properties_dialog_base.rb'
|
178
|
+
- 'lib/alexandria/ui/dialogs/export_dialog.rb'
|
179
|
+
- 'lib/alexandria/ui/dialogs/keep_bad_isbn_dialog.rb'
|
180
|
+
- 'lib/alexandria/ui/dialogs/misc_dialogs.rb'
|
181
|
+
- 'lib/alexandria/ui/dialogs/new_book_dialog.rb'
|
182
|
+
- 'lib/alexandria/ui/dialogs/new_book_dialog_manual.rb'
|
183
|
+
- 'lib/alexandria/ui/dialogs/preferences_dialog.rb'
|
184
|
+
- 'lib/alexandria/ui/dialogs/smart_library_properties_dialog.rb'
|
185
|
+
- 'lib/alexandria/ui/dndable.rb'
|
186
|
+
- 'lib/alexandria/ui/listview.rb'
|
187
|
+
- 'lib/alexandria/ui/sidepane.rb'
|
188
|
+
- 'lib/alexandria/ui/ui_manager.rb'
|
189
|
+
|
203
190
|
# Offense count: 34
|
204
191
|
# Configuration parameters: MinBodyLength.
|
205
192
|
Style/GuardClause:
|
206
193
|
Enabled: false
|
207
194
|
|
208
|
-
# Offense count:
|
195
|
+
# Offense count: 2
|
209
196
|
Style/IdenticalConditionalBranches:
|
210
197
|
Exclude:
|
211
198
|
- 'lib/alexandria/book_providers/amazon_aws.rb'
|
212
|
-
- 'lib/alexandria/ui/ui_manager.rb'
|
213
199
|
|
214
|
-
# Offense count:
|
215
|
-
Style/
|
200
|
+
# Offense count: 1
|
201
|
+
Style/MethodMissingSuper:
|
216
202
|
Exclude:
|
217
|
-
- 'lib/alexandria/book_providers/proxis.rb'
|
218
|
-
- 'lib/alexandria/book_providers/web.rb'
|
219
203
|
- 'lib/alexandria/preferences.rb'
|
220
|
-
- 'lib/alexandria/ui/ui_manager.rb'
|
221
204
|
|
222
205
|
# Offense count: 2
|
223
|
-
Style/
|
206
|
+
Style/MissingRespondToMissing:
|
224
207
|
Exclude:
|
225
208
|
- 'lib/alexandria/book_providers.rb'
|
226
209
|
- 'lib/alexandria/preferences.rb'
|
227
210
|
|
228
|
-
# Offense count:
|
229
|
-
|
211
|
+
# Offense count: 5
|
212
|
+
# Cop supports --auto-correct.
|
213
|
+
# Configuration parameters: Whitelist.
|
214
|
+
# Whitelist: be, be_a, be_an, be_between, be_falsey, be_kind_of, be_instance_of, be_truthy, be_within, eq, eql, end_with, include, match, raise_error, respond_to, start_with
|
215
|
+
Style/NestedParenthesizedCalls:
|
230
216
|
Exclude:
|
231
|
-
- '
|
217
|
+
- 'spec/alexandria/library_spec.rb'
|
218
|
+
- 'spec/alexandria/library_store_spec.rb'
|
232
219
|
|
233
|
-
# Offense count:
|
220
|
+
# Offense count: 21
|
234
221
|
# Cop supports --auto-correct.
|
235
222
|
# Configuration parameters: EnforcedStyle, AllowInnerSlashes.
|
236
223
|
# SupportedStyles: slashes, percent_r, mixed
|
@@ -239,27 +226,13 @@ Style/RegexpLiteral:
|
|
239
226
|
- 'lib/alexandria/book_providers/adlibris.rb'
|
240
227
|
- 'lib/alexandria/book_providers/amazon_ecs_util.rb'
|
241
228
|
- 'lib/alexandria/book_providers/douban.rb'
|
242
|
-
- 'lib/alexandria/book_providers/mcu.rb'
|
243
229
|
- 'lib/alexandria/book_providers/proxis.rb'
|
244
230
|
- 'lib/alexandria/book_providers/pseudomarc.rb'
|
245
231
|
- 'lib/alexandria/book_providers/renaud.rb'
|
246
232
|
- 'lib/alexandria/book_providers/siciliano.rb'
|
247
233
|
- 'lib/alexandria/book_providers/thalia.rb'
|
248
|
-
- 'lib/alexandria/
|
234
|
+
- 'lib/alexandria/library_store.rb'
|
249
235
|
- 'lib/alexandria/ui/dialogs/book_properties_dialog_base.rb'
|
250
236
|
- 'lib/alexandria/ui/sidepane.rb'
|
251
237
|
- 'util/rake/fileinstall.rb'
|
252
238
|
- 'util/rake/gettextgenerate.rb'
|
253
|
-
|
254
|
-
# Offense count: 78
|
255
|
-
# Cop supports --auto-correct.
|
256
|
-
# Configuration parameters: EnforcedStyle.
|
257
|
-
# SupportedStyles: implicit, explicit
|
258
|
-
Style/RescueStandardError:
|
259
|
-
Enabled: false
|
260
|
-
|
261
|
-
# Offense count: 3
|
262
|
-
Style/StructInheritance:
|
263
|
-
Exclude:
|
264
|
-
- 'lib/alexandria/smart_library.rb'
|
265
|
-
- 'lib/alexandria/ui/multi_drag_treeview.rb'
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,18 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## 0.7.3 / 2019-02-27
|
4
|
+
|
5
|
+
* Remove DeaStore provider since the site is no longer online
|
6
|
+
* Remove MCU provider since the site is no longer online
|
7
|
+
* Various code cleanups
|
8
|
+
* Update dependencies on `gstreamer`, `gtk3` and `image_size`
|
9
|
+
* Call `#set_active` with `false` instead of `nil` (Fixes [#19])
|
10
|
+
* Spec and fix export functionality
|
11
|
+
* Do not hard-code storage location
|
12
|
+
* Silence some Gtk+ warnings
|
13
|
+
* Fix setup of default scanner when no scanner is configured
|
14
|
+
* Update `YAML.safe_load` calls to new API, silencing deprecation warnings
|
15
|
+
|
3
16
|
## 0.7.2 / 2018-03-18
|
4
17
|
|
5
18
|
* Update dependencies
|
@@ -50,3 +63,7 @@
|
|
50
63
|
* Amazon queries now use a Associate Tag, a new requirement of
|
51
64
|
Amazon's Product Advertising API. Thanks to Stephen McCamant for
|
52
65
|
providing the patch.
|
66
|
+
|
67
|
+
<!-- references -->
|
68
|
+
|
69
|
+
[#19]: https://github.com/mvz/alexandria-book-collection-manager/issues/19
|
data/INSTALL.md
CHANGED
@@ -26,13 +26,13 @@ Requires version `~> 3.1`.
|
|
26
26
|
### Hpricot
|
27
27
|
|
28
28
|
Alexandria uses [hpricot](https://github.com/hpricot/hpricot) to
|
29
|
-
parse the HTML from web pages for providers such as
|
30
|
-
|
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
31
|
service.
|
32
32
|
|
33
33
|
## HTMLEntities
|
34
34
|
|
35
|
-
This is used by all website-based providers
|
35
|
+
This is used by all website-based providers.
|
36
36
|
[htmlentities](https://github.com/threedaymonk/htmlentities) is used to
|
37
37
|
provide more flexible HTML parsing.
|
38
38
|
|
data/README.md
CHANGED
@@ -43,7 +43,6 @@ keep track of books which are on loan.
|
|
43
43
|
pictures) from several online libraries and bookshops, such as
|
44
44
|
o Amazon
|
45
45
|
o Proxis
|
46
|
-
o DeaStore
|
47
46
|
o AdLibris
|
48
47
|
o Spanish Ministry of Culture
|
49
48
|
o Livraria Siciliano
|
@@ -152,7 +151,7 @@ Unless otherwise noted, the following license applies to all files that are
|
|
152
151
|
part of Alexandria:
|
153
152
|
|
154
153
|
Copyright (C) 2004-2006 Laurent Sansonetti
|
155
|
-
Copyright (C) 2007-2010,2014-
|
154
|
+
Copyright (C) 2007-2010,2014-2018 Alexandria Contributors
|
156
155
|
|
157
156
|
Alexandria is free software; you can redistribute it and/or modify it under the
|
158
157
|
terms of the GNU General Public License as published by the Free Software
|
data/Rakefile
CHANGED
@@ -1,31 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
# -*- ruby -*-
|
4
|
-
#--
|
5
|
-
# Copyright (C) 2009 Cathal Mc Ginley
|
6
|
-
# Copyright (C) 2011, 2014, 2016 Matijs van Zuijlen
|
7
|
-
#
|
8
3
|
# This file is part of the Alexandria build system.
|
9
4
|
#
|
10
|
-
#
|
11
|
-
# a copy of this software and associated documentation files (the
|
12
|
-
# "Software"), to deal in the Software without restriction, including
|
13
|
-
# without limitation the rights to use, copy, modify, merge, publish,
|
14
|
-
# distribute, sublicense, and/or sell copies of the Software, and to
|
15
|
-
# permit persons to whom the Software is furnished to do so, subject to
|
16
|
-
# the following conditions:
|
17
|
-
#
|
18
|
-
# The above copyright notice and this permission notice shall be
|
19
|
-
# included in all copies or substantial portions of the Software.
|
20
|
-
#
|
21
|
-
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
22
|
-
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
23
|
-
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
24
|
-
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
25
|
-
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
26
|
-
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
27
|
-
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
28
|
-
#++
|
5
|
+
# See the file README.md for authorship and licensing information.
|
29
6
|
|
30
7
|
load 'tasks/setup.rb'
|
31
8
|
|
@@ -148,17 +125,20 @@ file 'lib/alexandria/default_preferences.rb' => [SCHEMA_PATH] do |f|
|
|
148
125
|
doc.elements.each('gconfschemafile/schemalist/schema') do |element|
|
149
126
|
default = element.elements['default'].text
|
150
127
|
next unless default
|
128
|
+
|
151
129
|
varname = File.basename(element.elements['key'].text)
|
152
130
|
type = element.elements['type'].text
|
153
131
|
|
154
132
|
if (type == 'list') || (type == 'pair')
|
155
133
|
ary = default[1..-2].split(',')
|
156
134
|
next if ary.empty?
|
135
|
+
|
157
136
|
if type == 'list'
|
158
137
|
list_type = element.elements['list_type'].text
|
159
138
|
ary.map! { |x| convert_with_type(x, list_type) }
|
160
139
|
elsif type == 'pair'
|
161
140
|
next if ary.length != 2
|
141
|
+
|
162
142
|
ary[0] = convert_with_type(ary[0],
|
163
143
|
element.elements['car_type'].text)
|
164
144
|
ary[1] = convert_with_type(ary[1],
|
@@ -173,15 +153,15 @@ file 'lib/alexandria/default_preferences.rb' => [SCHEMA_PATH] do |f|
|
|
173
153
|
end
|
174
154
|
|
175
155
|
generate(f.name) do
|
176
|
-
|
177
|
-
module Alexandria
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
end
|
184
|
-
EOS
|
156
|
+
<<~EOS
|
157
|
+
module Alexandria
|
158
|
+
class Preferences
|
159
|
+
DEFAULT_VALUES = {
|
160
|
+
#{generated_lines.join(",\n ")}
|
161
|
+
}
|
162
|
+
end
|
163
|
+
end
|
164
|
+
EOS
|
185
165
|
end
|
186
166
|
end
|
187
167
|
|
@@ -237,6 +217,7 @@ task :scrollkeeper do
|
|
237
217
|
unless system('which scrollkeeper-update')
|
238
218
|
raise 'scrollkeeper-update cannot be found, is Scrollkeeper correctly installed?'
|
239
219
|
end
|
220
|
+
|
240
221
|
system('scrollkeeper-update -q') || raise('Scrollkeeper update failed')
|
241
222
|
end
|
242
223
|
|