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.
Files changed (115) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.hound.yml +2 -0
  4. data/.rubocop.yml +4 -4
  5. data/.rubocop_todo.yml +55 -82
  6. data/CHANGELOG.md +17 -0
  7. data/INSTALL.md +3 -3
  8. data/README.md +1 -2
  9. data/Rakefile +14 -33
  10. data/TODO.md +9 -1
  11. data/alexandria-book-collection-manager.gemspec +4 -3
  12. data/bin/alexandria +21 -34
  13. data/doc/FAQ +2 -5
  14. data/lib/alexandria.rb +4 -16
  15. data/lib/alexandria/book_providers.rb +5 -7
  16. data/lib/alexandria/book_providers/adlibris.rb +5 -3
  17. data/lib/alexandria/book_providers/amazon_aws.rb +3 -1
  18. data/lib/alexandria/book_providers/amazon_ecs_util.rb +8 -0
  19. data/lib/alexandria/book_providers/barnes_and_noble.rb +7 -4
  20. data/lib/alexandria/book_providers/douban.rb +1 -1
  21. data/lib/alexandria/book_providers/proxis.rb +11 -27
  22. data/lib/alexandria/book_providers/renaud.rb +9 -3
  23. data/lib/alexandria/book_providers/siciliano.rb +7 -4
  24. data/lib/alexandria/book_providers/thalia.rb +5 -3
  25. data/lib/alexandria/book_providers/web.rb +11 -29
  26. data/lib/alexandria/book_providers/worldcat.rb +7 -5
  27. data/lib/alexandria/book_providers/z3950.rb +10 -7
  28. data/lib/alexandria/console.rb +5 -18
  29. data/lib/alexandria/execution_queue.rb +2 -1
  30. data/lib/alexandria/export_format.rb +47 -0
  31. data/lib/alexandria/export_library.rb +72 -180
  32. data/lib/alexandria/import_library.rb +14 -23
  33. data/lib/alexandria/import_library_csv.rb +3 -6
  34. data/lib/alexandria/library_collection.rb +78 -0
  35. data/lib/alexandria/library_sort_order.rb +43 -0
  36. data/lib/alexandria/library_store.rb +222 -0
  37. data/lib/alexandria/logging.rb +2 -0
  38. data/lib/alexandria/models/book.rb +8 -16
  39. data/lib/alexandria/models/library.rb +26 -308
  40. data/lib/alexandria/preferences.rb +7 -24
  41. data/lib/alexandria/scanners/cuecat.rb +3 -1
  42. data/lib/alexandria/smart_library.rb +32 -67
  43. data/lib/alexandria/ui/builder_base.rb +6 -26
  44. data/lib/alexandria/ui/callbacks.rb +8 -34
  45. data/lib/alexandria/ui/completion_models.rb +2 -1
  46. data/lib/alexandria/ui/dialogs/about_dialog.rb +35 -47
  47. data/lib/alexandria/ui/dialogs/acquire_dialog.rb +14 -30
  48. data/lib/alexandria/ui/dialogs/alert_dialog.rb +8 -17
  49. data/lib/alexandria/ui/dialogs/bad_isbns_dialog.rb +10 -24
  50. data/lib/alexandria/ui/dialogs/book_properties_dialog.rb +17 -18
  51. data/lib/alexandria/ui/dialogs/book_properties_dialog_base.rb +25 -41
  52. data/lib/alexandria/ui/dialogs/export_dialog.rb +48 -56
  53. data/lib/alexandria/ui/dialogs/import_dialog.rb +31 -51
  54. data/lib/alexandria/ui/dialogs/keep_bad_isbn_dialog.rb +33 -0
  55. data/lib/alexandria/ui/dialogs/misc_dialogs.rb +12 -25
  56. data/lib/alexandria/ui/dialogs/new_book_dialog.rb +57 -94
  57. data/lib/alexandria/ui/dialogs/new_book_dialog_manual.rb +24 -42
  58. data/lib/alexandria/ui/dialogs/new_smart_library_dialog.rb +9 -21
  59. data/lib/alexandria/ui/dialogs/preferences_dialog.rb +27 -32
  60. data/lib/alexandria/ui/dialogs/smart_library_properties_dialog.rb +5 -3
  61. data/lib/alexandria/ui/dialogs/smart_library_properties_dialog_base.rb +15 -12
  62. data/lib/alexandria/ui/icons.rb +11 -22
  63. data/lib/alexandria/ui/init.rb +3 -3
  64. data/lib/alexandria/ui/libraries_combo.rb +1 -0
  65. data/lib/alexandria/ui/listview.rb +5 -21
  66. data/lib/alexandria/ui/multi_drag_treeview.rb +20 -32
  67. data/lib/alexandria/ui/sidepane.rb +9 -24
  68. data/lib/alexandria/ui/ui_manager.rb +36 -60
  69. data/lib/alexandria/undo_manager.rb +1 -0
  70. data/lib/alexandria/version.rb +2 -2
  71. data/lib/alexandria/web_themes.rb +1 -0
  72. data/po/cs.po +0 -4
  73. data/po/cy.po +0 -4
  74. data/po/de.po +0 -4
  75. data/po/el.po +0 -4
  76. data/po/es.po +0 -4
  77. data/po/fr.po +0 -4
  78. data/po/ga.po +0 -4
  79. data/po/gl.po +0 -4
  80. data/po/it.po +0 -4
  81. data/po/ja.po +0 -4
  82. data/po/mk.po +0 -4
  83. data/po/nb.po +0 -4
  84. data/po/nl.po +0 -4
  85. data/po/pl.po +0 -4
  86. data/po/pt.po +0 -4
  87. data/po/pt_BR.po +0 -4
  88. data/po/ru.po +0 -4
  89. data/po/sk.po +0 -4
  90. data/po/sv.po +0 -4
  91. data/po/uk.po +0 -4
  92. data/po/zh_TW.po +0 -4
  93. data/schemas/alexandria.schemas +1 -1
  94. data/share/alexandria/glade/acquire_dialog__builder.glade +14 -11
  95. data/share/alexandria/glade/book_properties_dialog__builder.glade +170 -298
  96. data/share/alexandria/glade/main_app__builder.glade +22 -16
  97. data/share/alexandria/glade/new_book_dialog__builder.glade +26 -58
  98. data/share/alexandria/glade/preferences_dialog__builder.glade +249 -289
  99. data/share/gnome/help/alexandria/C/introduction.xml +0 -4
  100. data/share/gnome/help/alexandria/ja/introduction.xml +0 -4
  101. data/spec/alexandria/book_providers_spec.rb +1 -20
  102. data/spec/alexandria/console_spec.rb +32 -0
  103. data/spec/alexandria/export_library_spec.rb +141 -0
  104. data/spec/alexandria/library_spec.rb +24 -80
  105. data/spec/alexandria/library_store_spec.rb +37 -0
  106. data/spec/alexandria/smart_library_spec.rb +27 -22
  107. data/spec/alexandria/ui/dialogs/new_book_dialog_spec.rb +22 -0
  108. data/spec/alexandria/ui/dialogs_spec.rb +104 -38
  109. data/spec/end_to_end/basic_run_spec.rb +69 -0
  110. data/spec/spec_helper.rb +13 -25
  111. data/tasks/spec.rake +15 -2
  112. data/util/rake/fileinstall.rb +1 -0
  113. metadata +38 -16
  114. data/lib/alexandria/book_providers/deastore.rb +0 -265
  115. data/lib/alexandria/book_providers/mcu.rb +0 -182
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 68616d81acb2df9a9457285c4393b569a4d217c9e5b25371ad0e2addf3e24d93
4
- data.tar.gz: 2f3f920293bfc91c7d23cb380c2b0a9806ca0eecf3112639ff859db8fee10faf
3
+ metadata.gz: c5ce199935fd434ee40793e79cf4f8ad31c4f140e26844ae0bad7f6d111d5486
4
+ data.tar.gz: 76f857b281f0b11c6485d4196b2f47e3980eb4ff8ea7fe89797e7321388f0cf2
5
5
  SHA512:
6
- metadata.gz: e80f5e730a5d0e81e776968853974043cd672abf8e9aaffd568a9ae82c80c70c5a6ff86a6306072809690743e96fb473b32c292a09f2fc349b6a5b60abdbf07c
7
- data.tar.gz: a7a037e7ac5cb5c91cf2f707fa77a34996fd1935cce22113fd0555868d146e47da892d64206bc61f065a3c853e4603d6e80c1e117be347d378e0ee9c989a4f32
6
+ metadata.gz: 4f49799facc13291bac2d34f82af36fc2cd9461eddf21b0f2cb30fa089517f4f5f2ed41713cba354c72a9143df5273059614969257834836ea604213fe05f47a
7
+ data.tar.gz: 89ab1a4b55b5df6b1ae9c2ec5f0ebcf82ad79e10208c6ff51572f59ccfa59ebeed51dfecac96b15e4442ffe081c5f717b2491478d3cad870aa1ae9be0012572e
data/.gitignore CHANGED
@@ -12,3 +12,4 @@ pkg/
12
12
  coverage/
13
13
  tmp/
14
14
  *.gem
15
+ *.glade~
@@ -0,0 +1,2 @@
1
+ ruby:
2
+ config_file: .rubocop.yml
@@ -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
@@ -1,41 +1,17 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config`
3
- # on 2018-03-18 12:56:55 +0100 using RuboCop version 0.53.0.
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: 22
30
+ # Offense count: 21
61
31
  # Configuration parameters: CountComments, ExcludedMethods.
32
+ # ExcludedMethods: refine
62
33
  Metrics/BlockLength:
63
- Max: 67
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: 994
44
+ Max: 985
74
45
 
75
- # Offense count: 68
46
+ # Offense count: 65
76
47
  Metrics/CyclomaticComplexity:
77
- Max: 28
48
+ Max: 22
78
49
 
79
- # Offense count: 219
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: 2
55
+ # Offense count: 1
85
56
  # Configuration parameters: CountComments.
86
57
  Metrics/ModuleLength:
87
- Max: 348
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: 69
65
+ # Offense count: 62
95
66
  Metrics/PerceivedComplexity:
96
- Max: 29
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: 15
79
+ # Offense count: 13
109
80
  # Configuration parameters: Blacklist.
110
- # Blacklist: END, (?-mix:EO[A-Z]{1})
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: 12
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: 118
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: 4
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: 4
215
- Style/IfInsideElse:
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/MethodMissing:
206
+ Style/MissingRespondToMissing:
224
207
  Exclude:
225
208
  - 'lib/alexandria/book_providers.rb'
226
209
  - 'lib/alexandria/preferences.rb'
227
210
 
228
- # Offense count: 1
229
- Style/MultilineTernaryOperator:
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
- - 'lib/alexandria/ui/listview.rb'
217
+ - 'spec/alexandria/library_spec.rb'
218
+ - 'spec/alexandria/library_store_spec.rb'
232
219
 
233
- # Offense count: 23
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/models/library.rb'
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'
@@ -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 DeaStore and
30
- Siciliano. It is also used to parse the XML for the Amazon web
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 except MCU.
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-2016 Alexandria Contributors
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
- # Permission is hereby granted, free of charge, to any person obtaining
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
- <<EOS
177
- module Alexandria
178
- class Preferences
179
- DEFAULT_VALUES = {
180
- #{generated_lines.join(",\n ")}
181
- }
182
- end
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