alexandria-book-collection-manager 0.7.1 → 0.7.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (210) hide show
  1. checksums.yaml +5 -5
  2. data/.github/dependabot.yml +9 -0
  3. data/.gitignore +5 -2
  4. data/.hound.yml +2 -0
  5. data/.rubocop.yml +113 -45
  6. data/.rubocop_todo.yml +82 -170
  7. data/.simplecov +5 -1
  8. data/.travis.yml +45 -0
  9. data/.yardopts +1 -1
  10. data/CHANGELOG.md +60 -0
  11. data/ChangeLog.0 +33 -35
  12. data/Gemfile +6 -5
  13. data/INSTALL.md +164 -0
  14. data/README.md +52 -42
  15. data/Rakefile +95 -109
  16. data/TODO.md +9 -1
  17. data/alexandria-book-collection-manager.gemspec +52 -45
  18. data/bin/alexandria +31 -53
  19. data/doc/AUTHORS +61 -0
  20. data/doc/BUGS +31 -0
  21. data/doc/FAQ +365 -0
  22. data/doc/HACKING +19 -0
  23. data/doc/NEWS +341 -0
  24. data/doc/alexandria.1 +120 -0
  25. data/doc/cuecat_support.rdoc +67 -0
  26. data/doc/dependency_decisions.yml +80 -0
  27. data/lib/alexandria.rb +29 -37
  28. data/lib/alexandria/about.rb +52 -51
  29. data/lib/alexandria/book_providers.rb +94 -101
  30. data/lib/alexandria/book_providers/adlibris.rb +45 -85
  31. data/lib/alexandria/book_providers/amazon_aws.rb +105 -113
  32. data/lib/alexandria/book_providers/amazon_ecs_util.rb +293 -324
  33. data/lib/alexandria/book_providers/barnes_and_noble.rb +54 -53
  34. data/lib/alexandria/book_providers/douban.rb +29 -51
  35. data/lib/alexandria/book_providers/proxis.rb +42 -59
  36. data/lib/alexandria/book_providers/pseudomarc.rb +79 -99
  37. data/lib/alexandria/book_providers/siciliano.rb +68 -70
  38. data/lib/alexandria/book_providers/thalia.rb +46 -45
  39. data/lib/alexandria/book_providers/web.rb +17 -33
  40. data/lib/alexandria/book_providers/worldcat.rb +74 -102
  41. data/lib/alexandria/book_providers/z3950.rb +170 -174
  42. data/lib/alexandria/config.rb +5 -3
  43. data/lib/alexandria/console.rb +10 -21
  44. data/lib/alexandria/default_preferences.rb +37 -0
  45. data/lib/alexandria/execution_queue.rb +17 -15
  46. data/lib/alexandria/export_format.rb +47 -0
  47. data/lib/alexandria/export_library.rb +188 -302
  48. data/lib/alexandria/import_library.rb +114 -155
  49. data/lib/alexandria/import_library_csv.rb +46 -96
  50. data/lib/alexandria/library_collection.rb +79 -0
  51. data/lib/alexandria/library_sort_order.rb +45 -0
  52. data/lib/alexandria/library_store.rb +233 -0
  53. data/lib/alexandria/logging.rb +15 -19
  54. data/lib/alexandria/models/book.rb +15 -20
  55. data/lib/alexandria/models/library.rb +81 -363
  56. data/lib/alexandria/net.rb +7 -6
  57. data/lib/alexandria/preferences.rb +73 -91
  58. data/lib/alexandria/scanners.rb +4 -2
  59. data/lib/alexandria/scanners/{cuecat.rb → cue_cat.rb} +24 -20
  60. data/lib/alexandria/scanners/keyboard.rb +10 -8
  61. data/lib/alexandria/smart_library.rb +135 -171
  62. data/lib/alexandria/ui.rb +17 -15
  63. data/lib/alexandria/ui/about_dialog.rb +49 -0
  64. data/lib/alexandria/ui/{dialogs/acquire_dialog.rb → acquire_dialog.rb} +129 -152
  65. data/lib/alexandria/ui/alert_dialog.rb +64 -0
  66. data/lib/alexandria/ui/bad_isbns_dialog.rb +41 -0
  67. data/lib/alexandria/ui/{dialogs/barcode_animation.rb → barcode_animation.rb} +18 -15
  68. data/lib/alexandria/ui/{dialogs/book_properties_dialog.rb → book_properties_dialog.rb} +44 -61
  69. data/lib/alexandria/ui/{dialogs/book_properties_dialog_base.rb → book_properties_dialog_base.rb} +84 -89
  70. data/lib/alexandria/ui/builder_base.rb +9 -27
  71. data/lib/alexandria/ui/callbacks.rb +188 -186
  72. data/lib/alexandria/ui/columns.rb +2 -0
  73. data/lib/alexandria/ui/completion_models.rb +12 -23
  74. data/lib/alexandria/ui/confirm_erase_dialog.rb +33 -0
  75. data/lib/alexandria/ui/conflict_while_copying_dialog.rb +34 -0
  76. data/lib/alexandria/ui/dndable.rb +10 -8
  77. data/lib/alexandria/ui/error_dialog.rb +25 -0
  78. data/lib/alexandria/ui/export_dialog.rb +139 -0
  79. data/lib/alexandria/ui/icons.rb +49 -65
  80. data/lib/alexandria/ui/iconview.rb +15 -13
  81. data/lib/alexandria/ui/iconview_tooltips.rb +43 -58
  82. data/lib/alexandria/ui/import_dialog.rb +157 -0
  83. data/lib/alexandria/ui/init.rb +23 -33
  84. data/lib/alexandria/ui/keep_bad_isbn_dialog.rb +36 -0
  85. data/lib/alexandria/ui/libraries_combo.rb +18 -14
  86. data/lib/alexandria/ui/listview.rb +77 -88
  87. data/lib/alexandria/ui/main_app.rb +26 -26
  88. data/lib/alexandria/ui/misc_dialogs.rb +10 -0
  89. data/lib/alexandria/ui/multi_drag_treeview.rb +30 -41
  90. data/lib/alexandria/ui/{dialogs/new_book_dialog.rb → new_book_dialog.rb} +168 -215
  91. data/lib/alexandria/ui/new_book_dialog_manual.rb +139 -0
  92. data/lib/alexandria/ui/new_provider_dialog.rb +100 -0
  93. data/lib/alexandria/ui/new_smart_library_dialog.rb +74 -0
  94. data/lib/alexandria/ui/preferences_dialog.rb +313 -0
  95. data/lib/alexandria/ui/provider_preferences_base_dialog.rb +95 -0
  96. data/lib/alexandria/ui/provider_preferences_dialog.rb +35 -0
  97. data/lib/alexandria/ui/really_delete_dialog.rb +53 -0
  98. data/lib/alexandria/ui/{sidepane.rb → sidepane_manager.rb} +62 -72
  99. data/lib/alexandria/ui/skip_entry_dialog.rb +33 -0
  100. data/lib/alexandria/ui/smart_library_properties_dialog.rb +60 -0
  101. data/lib/alexandria/ui/{dialogs/smart_library_properties_dialog_base.rb → smart_library_properties_dialog_base.rb} +96 -172
  102. data/lib/alexandria/ui/smart_library_rule_box.rb +119 -0
  103. data/lib/alexandria/ui/sound.rb +13 -13
  104. data/lib/alexandria/ui/ui_manager.rb +262 -283
  105. data/lib/alexandria/undo_manager.rb +3 -0
  106. data/lib/alexandria/version.rb +6 -19
  107. data/lib/alexandria/web_themes.rb +24 -21
  108. data/po/Makefile +2 -2
  109. data/po/cs.po +993 -880
  110. data/po/cy.po +957 -874
  111. data/po/de.po +990 -869
  112. data/po/el.po +989 -869
  113. data/po/es.po +985 -865
  114. data/po/fr.po +986 -870
  115. data/po/ga.po +907 -823
  116. data/po/gl.po +981 -865
  117. data/po/it.po +986 -868
  118. data/po/ja.po +969 -853
  119. data/po/mk.po +983 -863
  120. data/po/nb.po +979 -863
  121. data/po/nl.po +983 -864
  122. data/po/pl.po +1020 -969
  123. data/po/pt.po +988 -861
  124. data/po/pt_BR.po +984 -868
  125. data/po/ru.po +992 -873
  126. data/po/sk.po +987 -869
  127. data/po/sv.po +977 -861
  128. data/po/uk.po +975 -865
  129. data/po/zh_TW.po +976 -860
  130. data/schemas/alexandria.schemas +25 -3
  131. data/share/alexandria/glade/acquire_dialog__builder.glade +15 -12
  132. data/share/alexandria/glade/book_properties_dialog__builder.glade +171 -299
  133. data/share/alexandria/glade/main_app__builder.glade +24 -33
  134. data/share/alexandria/glade/new_book_dialog__builder.glade +27 -59
  135. data/share/alexandria/glade/preferences_dialog__builder.glade +250 -290
  136. data/share/gnome/help/alexandria/C/introduction.xml +0 -8
  137. data/share/gnome/help/alexandria/C/searching.xml +1 -1
  138. data/share/gnome/help/alexandria/C/smart-libraries.xml +2 -2
  139. data/share/gnome/help/alexandria/C/working-with-libraries.xml +1 -1
  140. data/share/gnome/help/alexandria/fr/alexandria.xml +1 -1
  141. data/share/gnome/help/alexandria/ja/introduction.xml +0 -8
  142. data/share/gnome/help/alexandria/ja/smart-libraries.xml +1 -1
  143. data/spec/alexandria/book_providers/world_cat_provider_spec.rb +160 -0
  144. data/spec/alexandria/book_providers_spec.rb +77 -210
  145. data/spec/alexandria/book_spec.rb +16 -12
  146. data/spec/alexandria/console_spec.rb +27 -0
  147. data/spec/alexandria/export_library_spec.rb +130 -0
  148. data/spec/alexandria/library_spec.rb +130 -172
  149. data/spec/alexandria/library_store_spec.rb +37 -0
  150. data/spec/alexandria/preferences_spec.rb +46 -17
  151. data/spec/alexandria/scanners/cue_cat_spec.rb +52 -0
  152. data/spec/alexandria/smart_library_spec.rb +32 -25
  153. data/spec/alexandria/ui/about_dialog_spec.rb +14 -0
  154. data/spec/alexandria/ui/acquire_dialog_spec.rb +14 -0
  155. data/spec/alexandria/ui/alert_dialog_spec.rb +16 -0
  156. data/spec/alexandria/ui/bad_isbns_dialog_spec.rb +14 -0
  157. data/spec/alexandria/ui/book_properties_dialog_spec.rb +17 -0
  158. data/spec/alexandria/ui/confirm_erase_dialog_spec.rb +14 -0
  159. data/spec/alexandria/ui/conflict_while_copying_dialog_spec.rb +16 -0
  160. data/spec/alexandria/ui/error_dialog_spec.rb +14 -0
  161. data/spec/alexandria/ui/export_dialog_spec.rb +15 -0
  162. data/spec/alexandria/ui/icons_spec.rb +26 -0
  163. data/spec/alexandria/ui/iconview_spec.rb +9 -21
  164. data/spec/alexandria/ui/import_dialog_spec.rb +41 -0
  165. data/spec/alexandria/ui/keep_bad_isbn_dialog_spec.rb +17 -0
  166. data/spec/alexandria/ui/main_app_spec.rb +8 -33
  167. data/spec/alexandria/ui/new_book_dialog_manual_spec.rb +15 -0
  168. data/spec/alexandria/ui/new_book_dialog_spec.rb +22 -0
  169. data/spec/alexandria/ui/new_provider_dialog_spec.rb +30 -0
  170. data/spec/alexandria/ui/new_smart_library_dialog_spec.rb +39 -0
  171. data/spec/alexandria/ui/preferences_dialog_spec.rb +14 -0
  172. data/spec/alexandria/ui/provider_preferences_dialog_spec.rb +34 -0
  173. data/spec/alexandria/ui/really_delete_dialog_spec.rb +16 -0
  174. data/spec/alexandria/ui/sidepane_manager_spec.rb +15 -0
  175. data/spec/alexandria/ui/skip_entry_dialog_spec.rb +14 -0
  176. data/spec/alexandria/ui/smart_library_properties_dialog_spec.rb +32 -0
  177. data/spec/alexandria/ui/sound_spec.rb +4 -2
  178. data/spec/alexandria/ui/ui_manager_spec.rb +45 -20
  179. data/spec/end_to_end/basic_run_spec.rb +57 -0
  180. data/spec/spec_helper.rb +66 -33
  181. data/tasks/setup.rb +5 -3
  182. data/tasks/spec.rake +18 -3
  183. data/util/rake/fileinstall.rb +38 -40
  184. data/util/rake/gettextgenerate.rb +15 -70
  185. data/util/rake/omfgenerate.rb +10 -10
  186. metadata +176 -60
  187. data/INSTALL.rdoc +0 -148
  188. data/dogtail/basic_run_test.py +0 -9
  189. data/lib/alexandria/book_providers/bol_it.rb +0 -160
  190. data/lib/alexandria/book_providers/deastore.rb +0 -273
  191. data/lib/alexandria/book_providers/ibs_it.rb +0 -147
  192. data/lib/alexandria/book_providers/mcu.rb +0 -169
  193. data/lib/alexandria/book_providers/renaud.rb +0 -140
  194. data/lib/alexandria/book_providers/webster_it.rb +0 -167
  195. data/lib/alexandria/ui/dialogs/about_dialog.rb +0 -59
  196. data/lib/alexandria/ui/dialogs/alert_dialog.rb +0 -70
  197. data/lib/alexandria/ui/dialogs/bad_isbns_dialog.rb +0 -43
  198. data/lib/alexandria/ui/dialogs/export_dialog.rb +0 -171
  199. data/lib/alexandria/ui/dialogs/import_dialog.rb +0 -196
  200. data/lib/alexandria/ui/dialogs/misc_dialogs.rb +0 -85
  201. data/lib/alexandria/ui/dialogs/new_book_dialog_manual.rb +0 -154
  202. data/lib/alexandria/ui/dialogs/new_smart_library_dialog.rb +0 -74
  203. data/lib/alexandria/ui/dialogs/preferences_dialog.rb +0 -578
  204. data/lib/alexandria/ui/dialogs/smart_library_properties_dialog.rb +0 -57
  205. data/spec/alexandria/scanners/cuecat_spec.rb +0 -65
  206. data/spec/alexandria/ui/dialogs_spec.rb +0 -94
  207. data/spec/alexandria/ui/sidepane_spec.rb +0 -27
  208. data/spec/alexandria/ui/ui_utilities_spec.rb +0 -60
  209. data/spec/alexandria/utilities_spec.rb +0 -50
  210. data/tasks/dogtail.rake +0 -4
data/.simplecov CHANGED
@@ -1,3 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  SimpleCov.start do
2
- track_files 'lib/**/*.rb'
4
+ add_group "Main", "lib"
5
+ add_group "Specs", "spec"
6
+ enable_coverage :branch
3
7
  end
@@ -0,0 +1,45 @@
1
+ language: ruby
2
+
3
+ dist: xenial
4
+
5
+ services:
6
+ - xvfb
7
+
8
+ before_install:
9
+ - sudo apt-get update
10
+ # Needed for gtk3 gem
11
+ - sudo apt-get install libgtk-3-dev
12
+ # Needed for gstreamer gem
13
+ - sudo apt-get install libgstreamer1.0-dev
14
+ # Needed for GooCanvas::Canvas widget
15
+ - sudo apt-get install libgoocanvas-2.0-dev
16
+ # Needed for zoom gem
17
+ - sudo apt-get install libyaz-dev
18
+ # Needed for intltool-merge executable
19
+ - sudo apt-get install intltool
20
+ # Needed for gconftool-2 executable
21
+ - sudo apt-get install gconf2
22
+ # Needed to provide A11y dbus service to silence warnings
23
+ - sudo apt-get install at-spi2-core
24
+ # Needed to set up sound player pipeline
25
+ - sudo apt-get install gstreamer1.0-plugins-good
26
+ # Needed to play sound
27
+ - sudo apt-get install pulseaudio
28
+
29
+ cache:
30
+ bundler: true
31
+
32
+ script: bundle exec rake
33
+
34
+ jobs:
35
+ include:
36
+ - rvm: 2.5
37
+ - rvm: 2.6
38
+ - rvm: 2.7
39
+ - rvm: 2.7.1
40
+ name: "RuboCop"
41
+ script: bundle exec rubocop
42
+
43
+ branches:
44
+ only:
45
+ - master
data/.yardopts CHANGED
@@ -1 +1 @@
1
- - INSTALL.rdoc
1
+ - INSTALL.md
@@ -1,5 +1,53 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.7.6 / 2020-11-01
4
+
5
+ * Make more strings translatable with help from rubocop-i18n
6
+ * Code quality and testing infrastructure improvements
7
+ * Update Polish translation ([#51] and [#64], by [Piotr Drąg][piotrdrag])
8
+ * Update Dutch translation
9
+ * Make several dialogs that stopped appearing appear again
10
+ * Remove ability to enable and disable providers through a pop-up menu
11
+ * Fix New Library functionality
12
+ * Update dependencies on gtk3, gstreamer, and psych
13
+ * Fix issues in preferences, smart library dialog, and book selection
14
+ * Improve installation instructions
15
+ * Improve README ([#83] by [Happy][HappyFacade])
16
+
17
+ ## 0.7.5 / 2020-05-11
18
+
19
+ * Avoid crash when opening Import dialog
20
+ * Avoid crash during export
21
+ * Add support for Ruby 2.7
22
+ * Drop support for Ruby 2.4
23
+ * Remove broken Renaud provider
24
+
25
+ ## 0.7.4 / 2019-10-24
26
+
27
+ * Drop support for Ruby 2.3
28
+ * Avoid passing nil to Gtk method #visible=, which expects a boolean
29
+ ([#22], by [Joseph Haig][jrmhaig])
30
+ * Update dependencies on gtk3 and gstreamer to 3.4.1
31
+ * Fix WorldCat provider to use https
32
+
33
+ ## 0.7.3 / 2019-02-27
34
+
35
+ * Remove DeaStore provider since the site is no longer online
36
+ * Remove MCU provider since the site is no longer online
37
+ * Various code cleanups
38
+ * Update dependencies on `gstreamer`, `gtk3` and `image_size`
39
+ * Call `#set_active` with `false` instead of `nil` (Fixes [#19])
40
+ * Spec and fix export functionality
41
+ * Do not hard-code storage location
42
+ * Silence some Gtk+ warnings
43
+ * Fix setup of default scanner when no scanner is configured
44
+ * Update `YAML.safe_load` calls to new API, silencing deprecation warnings
45
+
46
+ ## 0.7.2 / 2018-03-18
47
+
48
+ * Update dependencies
49
+ * Various code cleanups
50
+
3
51
  ## 0.7.1 / 2016-12-13
4
52
 
5
53
  * Various code cleanups
@@ -45,3 +93,15 @@
45
93
  * Amazon queries now use a Associate Tag, a new requirement of
46
94
  Amazon's Product Advertising API. Thanks to Stephen McCamant for
47
95
  providing the patch.
96
+
97
+ <!-- contributors -->
98
+ [jrmhaig]: https://github.com/jrmhaig
99
+ [piotrdrag]: https://github.com/piotrdrag
100
+ [HappyFacade]: https://github.com/HappyFacade
101
+
102
+ <!-- issues and pull requests -->
103
+ [#83]: https://github.com/mvz/alexandria-book-collection-manager/pull/83
104
+ [#64]: https://github.com/mvz/alexandria-book-collection-manager/pull/64
105
+ [#51]: https://github.com/mvz/alexandria-book-collection-manager/pull/51
106
+ [#23]: https://github.com/mvz/alexandria-book-collection-manager/pull/23
107
+ [#19]: https://github.com/mvz/alexandria-book-collection-manager/issues/19
@@ -1,38 +1,36 @@
1
- alexandria (0.6.2) unstable; urgency=low
2
-
3
- * Revision of the Italian translation
4
- * Added anonymous patch
5
- * [#11170] cuecat userland support:
6
- - http://rubyforge.org/tracker/index.php?func=detail&aid=11170&group_id=205&atid=865
7
- - I don't have a cuecat, and I don't know whether this patch is OK.
8
-
9
- -- Marco Costantini <costanti@science.unitn.it> Mon, 18 Jun 2007 18:28:55 -0400
10
-
11
- * Updated providers Worldcat and bol.it
12
-
13
- -- Marco Costantini <costanti@science.unitn.it> Fri, 27 Apr
14
-
15
-
16
- * CSV list export:
17
- - the file has extension "csv"
18
- - fixed in case that authors is [] or elements are missing
19
- * ONIX export:
20
- - removed an unnecessary .to_s
21
- - removed use of CGI.escapeHTML, whch is unnecessary
22
- - fixed in case that ISBN is missing
23
- * BibTeX export:
24
- - fixed in case that authors is [] or elements are missing
25
- - exported also book.publishing_year
26
- * HTML export:
27
- - added meta "Author", "Description", "Keywords"
28
- * Tellico export:
29
- - added info on wether the book has been read or loaned
30
- * Tellico import:
31
- - imported notes
32
-
33
- -- 2007-04-06 Marco Costantini <costanti@science.unitn.it>
34
-
35
- 2007-02-24 to 2007-04-02 Marco Costantini <costanti@science.unitn.it>
1
+ 2007-06-18 Marco Costantini <costanti@science.unitn.it>
2
+
3
+ * Revision of the Italian translation
4
+ * Added anonymous patch
5
+ * [#11170] cuecat userland support
6
+ http://rubyforge.org/tracker/index.php?func=detail&aid=11170&group_id=205&atid=865
7
+ I don't have a cuecat, and I don't know whether this patch is OK.
8
+
9
+ 2007-04-27 Marco Costantini <costanti@science.unitn.it>
10
+
11
+ * Updated providers Worldcat and bol.it
12
+
13
+ 2007-04-06 Marco Costantini <costanti@science.unitn.it>
14
+
15
+ * CSV list export:
16
+ - the file has extension "csv"
17
+ - fixed in case that authors is [] or elements are missing
18
+ * ONIX export:
19
+ - removed an unnecessary .to_s
20
+ - removed use of CGI.escapeHTML, whch is unnecessary
21
+ - fixed in case that ISBN is missing
22
+ * BibTeX export:
23
+ - fixed in case that authors is [] or elements are missing
24
+ - exported also book.publishing_year
25
+ * HTML export:
26
+ - added meta "Author", "Description", "Keywords"
27
+ * Tellico export:
28
+ - added info on wether the book has been read or loaned
29
+ * Tellico import:
30
+ - imported notes
31
+
32
+
33
+ 2007-02-24 to 2007-04-02 Marco Costantini <costanti@science.unitn.it>
36
34
 
37
35
  * added new Z39.50 provider "Servizio Bibliotecario Nazionale (Italy)"
38
36
  * added the FAQ
data/Gemfile CHANGED
@@ -1,11 +1,12 @@
1
- source 'https://rubygems.org'
1
+ # frozen_string_literal: true
2
+
3
+ source "https://rubygems.org"
2
4
 
3
5
  # The gem's dependencies are specified in the gemspec
4
6
  gemspec
5
7
 
6
8
  group :development, :test do
7
- gem 'pry'
8
- gem 'rubocop', '~> 0.46.0'
9
- gem 'simplecov'
10
- gem 'yard', '~> 0.9.5'
9
+ gem "pry"
10
+ gem "simplecov"
11
+ gem "yard", "~> 0.9.5"
11
12
  end
@@ -0,0 +1,164 @@
1
+ # Installing Alexandria
2
+
3
+ Alexandria is written in Ruby with a GTK+3/GNOME user-interface. It
4
+ currently only runs on UNIX-style systems, such as GNU/Linux.
5
+
6
+ Alexandria is not an easy project to build from scratch. Apart from
7
+ Ruby and GNOME, it has a lot of dependencies. Once the dependencies have been
8
+ installed, however, building and installing Alexandria is relatively
9
+ straightforward.
10
+
11
+ ## Dependencies
12
+
13
+ The [Ruby-GNOME2](http://ruby-gnome2.sourceforge.jp/) user-interface
14
+ involves a number of packages:
15
+
16
+ * `gtk3`
17
+ * `gio2`
18
+ * `gstreamer`
19
+
20
+ You should have GTK+ 3, and use Ruby-GNOME2 `~> 3.1.0`.
21
+
22
+ [`ruby-gettext`](http://ruby-gettext.github.io/)
23
+ is required for the internationalisation of the user interface.
24
+ Requires version `~> 3.1`.
25
+
26
+ ### Hpricot
27
+
28
+ Alexandria uses [hpricot](https://github.com/hpricot/hpricot) to
29
+ parse the HTML from web pages for providers such as Siciliano.
30
+ It is also used to parse the XML for the Amazon web
31
+ service.
32
+
33
+ ## HTMLEntities
34
+
35
+ This is used by all website-based providers.
36
+ [htmlentities](https://github.com/threedaymonk/htmlentities) is used to
37
+ provide more flexible HTML parsing.
38
+
39
+ ## Build Dependencies
40
+
41
+ ### Ruby Dependencies
42
+
43
+ [`rake`](https://github.com/ruby/rake) is required to build Alexandria from
44
+ the project `Rakefile`.
45
+
46
+ You also need [`rubygems`](http://www.rubygems.org/) and
47
+ [`rspec`](http://rspec.rubyforge.org/) to run the RSpec test suite.
48
+
49
+ ### Native Dependencies
50
+
51
+ The [`gettext`](http://www.gnu.org/software/gettext) package is needed
52
+ to generate the binary `mo` files used by `ruby-gettext` at
53
+ runtime. You also need the
54
+ [`intltool`](http://www.freedesktop.org/wiki/Software/intltool) package
55
+ to merge translations into generated files (and to extract
56
+ translatable string from xml files during development).
57
+
58
+ Note that these files are pre-generated in tar.gz releases, so you'll
59
+ only need them if you're building from the Git version, or want to
60
+ change the translations.
61
+
62
+ For support of the Z38.50 protocol you will need the
63
+ [`yaz`](http://www.indexdata.dk/yaz) package.
64
+
65
+ Alexandria also uses the outdate gconf2 configuration storage system, so you'll
66
+ need to install `gconf2`.
67
+
68
+ On Debian/Ubuntu systems, you can install the needed dependencies by running
69
+
70
+ ```
71
+ apt-get install gettext intltool libyaz-dev gconf2
72
+ ```
73
+
74
+ ### Ruby/ZOOM and Yaz
75
+
76
+ For Z39.50 support and the *Library of Congress* and *British Library* book
77
+ providers you will need [`ruby-zoom`](http://ruby-zoom.rubyforge.org), which in
78
+ turn requires the non-Ruby package [`yaz`](http://www.indexdata.dk/yaz) (see
79
+ Native Dependencies above).
80
+
81
+ Note that if you install the recent Ruby/ZOOM as the `zoom` gem, you will also
82
+ need to install the `marc` gem. (Older implementations of ruby-zoom contained
83
+ their own implementation of MARC.)
84
+
85
+ The Z39.50 Object-Orientation Model (ZOOM) is an international standard for
86
+ communication between computer systems, particularly libraries and
87
+ information-related systems.
88
+
89
+ ### image_size
90
+
91
+ You will need
92
+ [`image_size`](https://github.com/toy/image_size) for
93
+ optimizing the cover images in exported libraries.
94
+
95
+ ## Installing Alexandria
96
+
97
+ After installing all the non-Ruby dependencies, you should be able to install alexandria using
98
+
99
+ gem install alexandria-book-collection-manager
100
+
101
+ ## Installing from Source
102
+
103
+ **These instructions are outdated and you should for now install alexandria as a gem**
104
+
105
+ To build Alexandria from a git checkout, go to the base project
106
+ directory (where the Rakefile and this INSTALL file are located) and
107
+ issue the command
108
+
109
+ rake build
110
+
111
+ If you have downloaded a source package, this step will not usually be
112
+ necessary.
113
+
114
+ You must have root priveledges to install, so use `su`
115
+ su -c 'rake install'
116
+ or `sudo`
117
+ sudo rake install
118
+
119
+ Now you can check the version of the installed Alexandria
120
+ alexandria --version
121
+
122
+ To launch Alexandria, simply use
123
+ alexandria
124
+
125
+ If you wish to see more output on the console, you can use
126
+ alexandria --debug
127
+
128
+ ### Staged installation for making packages
129
+
130
+ When building a binary package (such as a deb or rpm) you will want to
131
+ "install" Alexandria into a specified directory instead of the root
132
+ filesystem. You should specify this as the DESTDIR environment variable
133
+ and use the `install_package_staging` task instead of `install`
134
+
135
+ DESTDIR=debian/alexandria rake install_package_staging
136
+
137
+ If your distribution uses a specific directory to install Ruby
138
+ packages, you should also set the RUBYLIBDIR.
139
+
140
+ ### Installing in the home directory
141
+
142
+ If you want to install Alexandria in your home directory, you should
143
+ specify the PREFIX, SHARE and RUBYLIBDIR envrionment variables, and
144
+ use the `install_package` task instead of `install`.
145
+
146
+ PREFIX=$HOME SHARE=$HOME/.share RUBYLIBDIR=$HOME/.rubylib rake install_package
147
+
148
+ This will install the `alexandria` program into `$HOME/bin` (which you
149
+ should add to your `PATH`), and the ruby files to your
150
+ `$HOME/.rubylib` which you should add to your `RUBYLIBDIR` environment
151
+ variable.
152
+
153
+ ### Uninstalling
154
+
155
+ To uninstall, simply run
156
+
157
+ sudo rake uninstall
158
+
159
+ (or `rake uninstall_package` if you installed in your home directory).
160
+
161
+ If you specified any of the environment variables PREFIX, SHARE,
162
+ RUBYLIBDIR and DESTDIR during the installation, you should use the
163
+ same variables during uninstallation (or rake won't know where to look
164
+ for the files it has to remove).
data/README.md CHANGED
@@ -4,7 +4,7 @@ Alexandria is a GNOME application for managing collections of books.
4
4
 
5
5
  Alexandria is written in Ruby, and is free software, distributed under
6
6
  the terms of the GNU General Public License, version 2 or later. See
7
- the file COPYING for more information.
7
+ the file [COPYING](COPYING) for more information.
8
8
 
9
9
  What is Alexandria?
10
10
  ===================
@@ -39,50 +39,50 @@ Alexandria is a simple program designed to allow individuals to keep a
39
39
  catalogue of their book collection. In addition, it enables users to
40
40
  keep track of books which are on loan.
41
41
 
42
- * retrieves and displays book information (sometimes with cover
43
- pictures) from several online libraries and bookshops, such as
44
- o Amazon
45
- o Proxis
46
- o DeaStore
47
- o AdLibris
48
- o Spanish Ministry of Culture
49
- o Livraria Siciliano
50
- o WorldCat
51
- o US Library of Congress
52
- o British Library
53
- * allows books to be added and updated by hand
54
- * enables searches either by ISBN, title, author or keyword
55
- * supports the Z39.50 standard and allow you to manage your own
56
- sources (e.g. university libraries)
57
- * saves data using the plain-text YAML format
58
- * can import and export data into ONIX, Tellico, ISBN-list
59
- and GoodReads CSV formats
60
- * can export XHTML web pages of your libraries, themable with CSS
61
- * allows marking your books as loaned, each with the loan-date and
62
- the name of the person who has borrowed them
63
- * features a HIG-compliant user interface
64
- * shows books in different views (standard list or icons list),
65
- that can be filtered and/or sorted
66
- * handles book rating and notes
67
- * supports CueCat and standard "keyboard wedge" barcode readers
68
- * includes translations for several languages
69
- * is documented in a complete manual (at the moment only in
70
- English and Japanese)
71
-
72
- Alexandria is not without problems. See doc/BUGS for a summary of issues.
42
+ * retrieves and displays book information (sometimes with cover
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
+ - WorldCat
50
+ - US Library of Congress
51
+ - British Library
52
+ * allows books to be added and updated by hand
53
+ * enables searches either by ISBN, title, author or keyword
54
+ * supports the Z39.50 standard and allow you to manage your own
55
+ sources (e.g. university libraries)
56
+ * saves data using the plain-text YAML format
57
+ * can import and export data into ONIX, Tellico, ISBN-list
58
+ and GoodReads CSV formats
59
+ * can export XHTML web pages of your libraries, themable with CSS
60
+ * allows marking your books as loaned, each with the loan-date and
61
+ the name of the person who has borrowed them
62
+ * features a HIG-compliant user interface
63
+ * shows books in different views (standard list or icons list),
64
+ that can be filtered and/or sorted
65
+ * handles book rating and notes
66
+ * supports CueCat and standard "keyboard wedge" barcode readers
67
+ * includes translations for several languages
68
+ * is documented in a complete manual (at the moment only in
69
+ English and Japanese)
70
+
71
+ Alexandria is not without problems. See [doc/BUGS](doc/BUGS) for a
72
+ summary of issues.
73
73
 
74
74
  ## Installation
75
75
 
76
76
  There are full instructions for installing Alexandria from source in the
77
- file INSTALL, including information about all the dependencies.
77
+ file [INSTALL](INSTALL), including information about all the dependencies.
78
78
 
79
79
  If you are installing on a Debian-based system, things should be
80
80
  easier as the dependencies can be handled automatically.
81
81
 
82
82
  To run the program, just type
83
- alexandria
83
+ `alexandria`
84
84
  or, to get verbose debugging information,
85
- alexandria --debug
85
+ `alexandria --debug`
86
86
 
87
87
  If you are running GNOME, Alexandria should appear under the
88
88
  'Applications > Office' menu.
@@ -100,6 +100,7 @@ The following people have contributed to Alexandria over the years:
100
100
  * Constantine Evans <cevans@costinet.org>
101
101
  * Dafydd Harries <daf@muse.19inch.net>
102
102
  * Javier Fernandez-Sanguino Pena <jfs@debian.org>
103
+ * Joseph Haig <josephhaig@gmail.com>
103
104
  * Joseph Method <tristil@gmail.com>
104
105
  * Kevin Schultz <schultkl@ieee.org>
105
106
  * Laurent Sansonetti <lrz@gnome.org>
@@ -120,6 +121,11 @@ The following people have contributed to Alexandria over the years:
120
121
  * Cathal Mc Ginley <cathal.alexandria@gnostai.org>
121
122
  * Liam Davison <registrations@liamjdavison.info>
122
123
 
124
+ ### Artists
125
+
126
+ * Andreas Nilsson <nisses.mail@home.se>
127
+ * Stefanie Dijoux <stefanie.dijoux@gmail.com>
128
+
123
129
  ### Translators
124
130
 
125
131
  * Adrián Chaves Fernández <adriyetichaves@gmail.com> (gl)
@@ -141,20 +147,24 @@ The following people have contributed to Alexandria over the years:
141
147
  * Piotr Drąg <piotrdrag@gmail.com> (pl)
142
148
  * Serhij Dubyk <dubyk@library.lviv.ua> (uk)
143
149
 
144
- ### Artists
145
-
146
- * Andreas Nilsson <nisses.mail@home.se>
147
- * Stefanie Dijoux <stefanie.dijoux@gmail.com>
150
+ ### Former translators
151
+ * David Weinehall <tao@debian.org> (sv)
152
+ * Jiří Pejchal <jiri.pejchal@gmail.com> (cs)
153
+ * Laurent Sansonetti <lrz@gnome.org> (fr)
154
+ * Lucas Rocha <lucasr@im.ufba.br> (pt_BR)
155
+ * Marco Costantini <costanti@science.unitn.it> (it)
156
+ * Masao Mutoh <mutoh@highway.ne.jp> (ja)
157
+ * Mirko Maischberger <mirko@lilik.it> (it)
148
158
 
149
159
  ## License
150
160
 
151
161
  Unless otherwise noted, the following license applies to all files that are
152
162
  part of Alexandria:
153
163
 
154
- Copyright (C) 2004-2006 Laurent Sansonetti
155
- Copyright (C) 2007-2010,2014-2016 Alexandria Contributors
164
+ Copyright (C) 2004 Laurent Sansonetti
165
+ Copyright (C) 2005-2010,2014-2020 Alexandria Contributors
156
166
 
157
167
  Alexandria is free software; you can redistribute it and/or modify it under the
158
168
  terms of the GNU General Public License as published by the Free Software
159
169
  Foundation; either version 2 of the License, or (at your option) any later
160
- version. See the file COPYING for details.
170
+ version. See the file [COPYING](COPYING) for details.