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.
- checksums.yaml +5 -5
- data/.github/dependabot.yml +9 -0
- data/.gitignore +5 -2
- data/.hound.yml +2 -0
- data/.rubocop.yml +113 -45
- data/.rubocop_todo.yml +82 -170
- data/.simplecov +5 -1
- data/.travis.yml +45 -0
- data/.yardopts +1 -1
- data/CHANGELOG.md +60 -0
- data/ChangeLog.0 +33 -35
- data/Gemfile +6 -5
- data/INSTALL.md +164 -0
- data/README.md +52 -42
- data/Rakefile +95 -109
- data/TODO.md +9 -1
- data/alexandria-book-collection-manager.gemspec +52 -45
- data/bin/alexandria +31 -53
- data/doc/AUTHORS +61 -0
- data/doc/BUGS +31 -0
- data/doc/FAQ +365 -0
- data/doc/HACKING +19 -0
- data/doc/NEWS +341 -0
- data/doc/alexandria.1 +120 -0
- data/doc/cuecat_support.rdoc +67 -0
- data/doc/dependency_decisions.yml +80 -0
- data/lib/alexandria.rb +29 -37
- data/lib/alexandria/about.rb +52 -51
- data/lib/alexandria/book_providers.rb +94 -101
- data/lib/alexandria/book_providers/adlibris.rb +45 -85
- data/lib/alexandria/book_providers/amazon_aws.rb +105 -113
- data/lib/alexandria/book_providers/amazon_ecs_util.rb +293 -324
- data/lib/alexandria/book_providers/barnes_and_noble.rb +54 -53
- data/lib/alexandria/book_providers/douban.rb +29 -51
- data/lib/alexandria/book_providers/proxis.rb +42 -59
- data/lib/alexandria/book_providers/pseudomarc.rb +79 -99
- data/lib/alexandria/book_providers/siciliano.rb +68 -70
- data/lib/alexandria/book_providers/thalia.rb +46 -45
- data/lib/alexandria/book_providers/web.rb +17 -33
- data/lib/alexandria/book_providers/worldcat.rb +74 -102
- data/lib/alexandria/book_providers/z3950.rb +170 -174
- data/lib/alexandria/config.rb +5 -3
- data/lib/alexandria/console.rb +10 -21
- data/lib/alexandria/default_preferences.rb +37 -0
- data/lib/alexandria/execution_queue.rb +17 -15
- data/lib/alexandria/export_format.rb +47 -0
- data/lib/alexandria/export_library.rb +188 -302
- data/lib/alexandria/import_library.rb +114 -155
- data/lib/alexandria/import_library_csv.rb +46 -96
- data/lib/alexandria/library_collection.rb +79 -0
- data/lib/alexandria/library_sort_order.rb +45 -0
- data/lib/alexandria/library_store.rb +233 -0
- data/lib/alexandria/logging.rb +15 -19
- data/lib/alexandria/models/book.rb +15 -20
- data/lib/alexandria/models/library.rb +81 -363
- data/lib/alexandria/net.rb +7 -6
- data/lib/alexandria/preferences.rb +73 -91
- data/lib/alexandria/scanners.rb +4 -2
- data/lib/alexandria/scanners/{cuecat.rb → cue_cat.rb} +24 -20
- data/lib/alexandria/scanners/keyboard.rb +10 -8
- data/lib/alexandria/smart_library.rb +135 -171
- data/lib/alexandria/ui.rb +17 -15
- data/lib/alexandria/ui/about_dialog.rb +49 -0
- data/lib/alexandria/ui/{dialogs/acquire_dialog.rb → acquire_dialog.rb} +129 -152
- data/lib/alexandria/ui/alert_dialog.rb +64 -0
- data/lib/alexandria/ui/bad_isbns_dialog.rb +41 -0
- data/lib/alexandria/ui/{dialogs/barcode_animation.rb → barcode_animation.rb} +18 -15
- data/lib/alexandria/ui/{dialogs/book_properties_dialog.rb → book_properties_dialog.rb} +44 -61
- data/lib/alexandria/ui/{dialogs/book_properties_dialog_base.rb → book_properties_dialog_base.rb} +84 -89
- data/lib/alexandria/ui/builder_base.rb +9 -27
- data/lib/alexandria/ui/callbacks.rb +188 -186
- data/lib/alexandria/ui/columns.rb +2 -0
- data/lib/alexandria/ui/completion_models.rb +12 -23
- data/lib/alexandria/ui/confirm_erase_dialog.rb +33 -0
- data/lib/alexandria/ui/conflict_while_copying_dialog.rb +34 -0
- data/lib/alexandria/ui/dndable.rb +10 -8
- data/lib/alexandria/ui/error_dialog.rb +25 -0
- data/lib/alexandria/ui/export_dialog.rb +139 -0
- data/lib/alexandria/ui/icons.rb +49 -65
- data/lib/alexandria/ui/iconview.rb +15 -13
- data/lib/alexandria/ui/iconview_tooltips.rb +43 -58
- data/lib/alexandria/ui/import_dialog.rb +157 -0
- data/lib/alexandria/ui/init.rb +23 -33
- data/lib/alexandria/ui/keep_bad_isbn_dialog.rb +36 -0
- data/lib/alexandria/ui/libraries_combo.rb +18 -14
- data/lib/alexandria/ui/listview.rb +77 -88
- data/lib/alexandria/ui/main_app.rb +26 -26
- data/lib/alexandria/ui/misc_dialogs.rb +10 -0
- data/lib/alexandria/ui/multi_drag_treeview.rb +30 -41
- data/lib/alexandria/ui/{dialogs/new_book_dialog.rb → new_book_dialog.rb} +168 -215
- data/lib/alexandria/ui/new_book_dialog_manual.rb +139 -0
- data/lib/alexandria/ui/new_provider_dialog.rb +100 -0
- data/lib/alexandria/ui/new_smart_library_dialog.rb +74 -0
- data/lib/alexandria/ui/preferences_dialog.rb +313 -0
- data/lib/alexandria/ui/provider_preferences_base_dialog.rb +95 -0
- data/lib/alexandria/ui/provider_preferences_dialog.rb +35 -0
- data/lib/alexandria/ui/really_delete_dialog.rb +53 -0
- data/lib/alexandria/ui/{sidepane.rb → sidepane_manager.rb} +62 -72
- data/lib/alexandria/ui/skip_entry_dialog.rb +33 -0
- data/lib/alexandria/ui/smart_library_properties_dialog.rb +60 -0
- data/lib/alexandria/ui/{dialogs/smart_library_properties_dialog_base.rb → smart_library_properties_dialog_base.rb} +96 -172
- data/lib/alexandria/ui/smart_library_rule_box.rb +119 -0
- data/lib/alexandria/ui/sound.rb +13 -13
- data/lib/alexandria/ui/ui_manager.rb +262 -283
- data/lib/alexandria/undo_manager.rb +3 -0
- data/lib/alexandria/version.rb +6 -19
- data/lib/alexandria/web_themes.rb +24 -21
- data/po/Makefile +2 -2
- data/po/cs.po +993 -880
- data/po/cy.po +957 -874
- data/po/de.po +990 -869
- data/po/el.po +989 -869
- data/po/es.po +985 -865
- data/po/fr.po +986 -870
- data/po/ga.po +907 -823
- data/po/gl.po +981 -865
- data/po/it.po +986 -868
- data/po/ja.po +969 -853
- data/po/mk.po +983 -863
- data/po/nb.po +979 -863
- data/po/nl.po +983 -864
- data/po/pl.po +1020 -969
- data/po/pt.po +988 -861
- data/po/pt_BR.po +984 -868
- data/po/ru.po +992 -873
- data/po/sk.po +987 -869
- data/po/sv.po +977 -861
- data/po/uk.po +975 -865
- data/po/zh_TW.po +976 -860
- data/schemas/alexandria.schemas +25 -3
- data/share/alexandria/glade/acquire_dialog__builder.glade +15 -12
- data/share/alexandria/glade/book_properties_dialog__builder.glade +171 -299
- data/share/alexandria/glade/main_app__builder.glade +24 -33
- data/share/alexandria/glade/new_book_dialog__builder.glade +27 -59
- data/share/alexandria/glade/preferences_dialog__builder.glade +250 -290
- data/share/gnome/help/alexandria/C/introduction.xml +0 -8
- data/share/gnome/help/alexandria/C/searching.xml +1 -1
- data/share/gnome/help/alexandria/C/smart-libraries.xml +2 -2
- data/share/gnome/help/alexandria/C/working-with-libraries.xml +1 -1
- data/share/gnome/help/alexandria/fr/alexandria.xml +1 -1
- data/share/gnome/help/alexandria/ja/introduction.xml +0 -8
- data/share/gnome/help/alexandria/ja/smart-libraries.xml +1 -1
- data/spec/alexandria/book_providers/world_cat_provider_spec.rb +160 -0
- data/spec/alexandria/book_providers_spec.rb +77 -210
- data/spec/alexandria/book_spec.rb +16 -12
- data/spec/alexandria/console_spec.rb +27 -0
- data/spec/alexandria/export_library_spec.rb +130 -0
- data/spec/alexandria/library_spec.rb +130 -172
- data/spec/alexandria/library_store_spec.rb +37 -0
- data/spec/alexandria/preferences_spec.rb +46 -17
- data/spec/alexandria/scanners/cue_cat_spec.rb +52 -0
- data/spec/alexandria/smart_library_spec.rb +32 -25
- data/spec/alexandria/ui/about_dialog_spec.rb +14 -0
- data/spec/alexandria/ui/acquire_dialog_spec.rb +14 -0
- data/spec/alexandria/ui/alert_dialog_spec.rb +16 -0
- data/spec/alexandria/ui/bad_isbns_dialog_spec.rb +14 -0
- data/spec/alexandria/ui/book_properties_dialog_spec.rb +17 -0
- data/spec/alexandria/ui/confirm_erase_dialog_spec.rb +14 -0
- data/spec/alexandria/ui/conflict_while_copying_dialog_spec.rb +16 -0
- data/spec/alexandria/ui/error_dialog_spec.rb +14 -0
- data/spec/alexandria/ui/export_dialog_spec.rb +15 -0
- data/spec/alexandria/ui/icons_spec.rb +26 -0
- data/spec/alexandria/ui/iconview_spec.rb +9 -21
- data/spec/alexandria/ui/import_dialog_spec.rb +41 -0
- data/spec/alexandria/ui/keep_bad_isbn_dialog_spec.rb +17 -0
- data/spec/alexandria/ui/main_app_spec.rb +8 -33
- data/spec/alexandria/ui/new_book_dialog_manual_spec.rb +15 -0
- data/spec/alexandria/ui/new_book_dialog_spec.rb +22 -0
- data/spec/alexandria/ui/new_provider_dialog_spec.rb +30 -0
- data/spec/alexandria/ui/new_smart_library_dialog_spec.rb +39 -0
- data/spec/alexandria/ui/preferences_dialog_spec.rb +14 -0
- data/spec/alexandria/ui/provider_preferences_dialog_spec.rb +34 -0
- data/spec/alexandria/ui/really_delete_dialog_spec.rb +16 -0
- data/spec/alexandria/ui/sidepane_manager_spec.rb +15 -0
- data/spec/alexandria/ui/skip_entry_dialog_spec.rb +14 -0
- data/spec/alexandria/ui/smart_library_properties_dialog_spec.rb +32 -0
- data/spec/alexandria/ui/sound_spec.rb +4 -2
- data/spec/alexandria/ui/ui_manager_spec.rb +45 -20
- data/spec/end_to_end/basic_run_spec.rb +57 -0
- data/spec/spec_helper.rb +66 -33
- data/tasks/setup.rb +5 -3
- data/tasks/spec.rake +18 -3
- data/util/rake/fileinstall.rb +38 -40
- data/util/rake/gettextgenerate.rb +15 -70
- data/util/rake/omfgenerate.rb +10 -10
- metadata +176 -60
- data/INSTALL.rdoc +0 -148
- data/dogtail/basic_run_test.py +0 -9
- data/lib/alexandria/book_providers/bol_it.rb +0 -160
- data/lib/alexandria/book_providers/deastore.rb +0 -273
- data/lib/alexandria/book_providers/ibs_it.rb +0 -147
- data/lib/alexandria/book_providers/mcu.rb +0 -169
- data/lib/alexandria/book_providers/renaud.rb +0 -140
- data/lib/alexandria/book_providers/webster_it.rb +0 -167
- data/lib/alexandria/ui/dialogs/about_dialog.rb +0 -59
- data/lib/alexandria/ui/dialogs/alert_dialog.rb +0 -70
- data/lib/alexandria/ui/dialogs/bad_isbns_dialog.rb +0 -43
- data/lib/alexandria/ui/dialogs/export_dialog.rb +0 -171
- data/lib/alexandria/ui/dialogs/import_dialog.rb +0 -196
- data/lib/alexandria/ui/dialogs/misc_dialogs.rb +0 -85
- data/lib/alexandria/ui/dialogs/new_book_dialog_manual.rb +0 -154
- data/lib/alexandria/ui/dialogs/new_smart_library_dialog.rb +0 -74
- data/lib/alexandria/ui/dialogs/preferences_dialog.rb +0 -578
- data/lib/alexandria/ui/dialogs/smart_library_properties_dialog.rb +0 -57
- data/spec/alexandria/scanners/cuecat_spec.rb +0 -65
- data/spec/alexandria/ui/dialogs_spec.rb +0 -94
- data/spec/alexandria/ui/sidepane_spec.rb +0 -27
- data/spec/alexandria/ui/ui_utilities_spec.rb +0 -60
- data/spec/alexandria/utilities_spec.rb +0 -50
- data/tasks/dogtail.rake +0 -4
data/.simplecov
CHANGED
data/.travis.yml
ADDED
@@ -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.
|
1
|
+
- INSTALL.md
|
data/CHANGELOG.md
CHANGED
@@ -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
|
data/ChangeLog.0
CHANGED
@@ -1,38 +1,36 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
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
|
-
|
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
|
8
|
-
gem
|
9
|
-
gem
|
10
|
-
gem 'yard', '~> 0.9.5'
|
9
|
+
gem "pry"
|
10
|
+
gem "simplecov"
|
11
|
+
gem "yard", "~> 0.9.5"
|
11
12
|
end
|
data/INSTALL.md
ADDED
@@ -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
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
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
|
-
###
|
145
|
-
|
146
|
-
*
|
147
|
-
*
|
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
|
155
|
-
Copyright (C)
|
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.
|