alexandria-book-collection-manager 0.6.9.pre1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +10 -0
- data/.rubocop.yml +68 -0
- data/.rubocop_todo.yml +200 -0
- data/CHANGELOG.md +23 -0
- data/COPYING +339 -0
- data/ChangeLog.0 +3598 -0
- data/Gemfile +9 -0
- data/INSTALL.rdoc +156 -0
- data/PACKAGING +36 -0
- data/README.md +88 -0
- data/RELEASE_CHECKLIST +18 -0
- data/Rakefile +264 -0
- data/TODO +24 -0
- data/alexandria-book-collection-manager.gemspec +35 -0
- data/alexandria.desktop.in +10 -0
- data/bin/alexandria +82 -0
- data/doc/AUTHORS +60 -0
- data/doc/BUGS +31 -0
- data/doc/FAQ +369 -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/lib/alexandria.rb +85 -0
- data/lib/alexandria/about.rb +82 -0
- data/lib/alexandria/book_providers.rb +411 -0
- data/lib/alexandria/book_providers/adlibris.rb +235 -0
- data/lib/alexandria/book_providers/amazon_aws.rb +261 -0
- data/lib/alexandria/book_providers/amazon_ecs_util.rb +405 -0
- data/lib/alexandria/book_providers/barnes_and_noble.rb +229 -0
- data/lib/alexandria/book_providers/bol_it.rb +162 -0
- data/lib/alexandria/book_providers/deastore.rb +277 -0
- data/lib/alexandria/book_providers/douban.rb +135 -0
- data/lib/alexandria/book_providers/ibs_it.rb +149 -0
- data/lib/alexandria/book_providers/mcu.rb +177 -0
- data/lib/alexandria/book_providers/proxis.rb +205 -0
- data/lib/alexandria/book_providers/pseudomarc.rb +185 -0
- data/lib/alexandria/book_providers/renaud.rb +142 -0
- data/lib/alexandria/book_providers/siciliano.rb +271 -0
- data/lib/alexandria/book_providers/thalia.rb +197 -0
- data/lib/alexandria/book_providers/web.rb +59 -0
- data/lib/alexandria/book_providers/webster_it.rb +173 -0
- data/lib/alexandria/book_providers/worldcat.rb +251 -0
- data/lib/alexandria/book_providers/z3950.rb +422 -0
- data/lib/alexandria/config.rb +8 -0
- data/lib/alexandria/console.rb +31 -0
- data/lib/alexandria/execution_queue.rb +96 -0
- data/lib/alexandria/export_library.rb +536 -0
- data/lib/alexandria/import_library.rb +316 -0
- data/lib/alexandria/import_library_csv.rb +270 -0
- data/lib/alexandria/logging.rb +159 -0
- data/lib/alexandria/models/book.rb +72 -0
- data/lib/alexandria/models/library.rb +714 -0
- data/lib/alexandria/net.rb +53 -0
- data/lib/alexandria/preferences.rb +324 -0
- data/lib/alexandria/scanners.rb +42 -0
- data/lib/alexandria/scanners/cuecat.rb +118 -0
- data/lib/alexandria/scanners/keyboard.rb +57 -0
- data/lib/alexandria/smart_library.rb +525 -0
- data/lib/alexandria/ui.rb +53 -0
- data/lib/alexandria/ui/builder_base.rb +43 -0
- data/lib/alexandria/ui/callbacks.rb +389 -0
- data/lib/alexandria/ui/completion_models.rb +228 -0
- data/lib/alexandria/ui/dialogs/about_dialog.rb +59 -0
- data/lib/alexandria/ui/dialogs/acquire_dialog.rb +640 -0
- data/lib/alexandria/ui/dialogs/alert_dialog.rb +68 -0
- data/lib/alexandria/ui/dialogs/bad_isbns_dialog.rb +43 -0
- data/lib/alexandria/ui/dialogs/barcode_animation.rb +159 -0
- data/lib/alexandria/ui/dialogs/book_properties_dialog.rb +210 -0
- data/lib/alexandria/ui/dialogs/book_properties_dialog_base.rb +432 -0
- data/lib/alexandria/ui/dialogs/export_dialog.rb +172 -0
- data/lib/alexandria/ui/dialogs/import_dialog.rb +205 -0
- data/lib/alexandria/ui/dialogs/misc_dialogs.rb +85 -0
- data/lib/alexandria/ui/dialogs/new_book_dialog.rb +639 -0
- data/lib/alexandria/ui/dialogs/new_book_dialog_manual.rb +153 -0
- data/lib/alexandria/ui/dialogs/new_smart_library_dialog.rb +67 -0
- data/lib/alexandria/ui/dialogs/preferences_dialog.rb +587 -0
- data/lib/alexandria/ui/dialogs/smart_library_properties_dialog.rb +56 -0
- data/lib/alexandria/ui/dialogs/smart_library_properties_dialog_base.rb +432 -0
- data/lib/alexandria/ui/dndable.rb +81 -0
- data/lib/alexandria/ui/gtk_thread_help.rb +88 -0
- data/lib/alexandria/ui/icons.rb +100 -0
- data/lib/alexandria/ui/iconview.rb +91 -0
- data/lib/alexandria/ui/iconview_tooltips.rb +162 -0
- data/lib/alexandria/ui/init.rb +93 -0
- data/lib/alexandria/ui/libraries_combo.rb +75 -0
- data/lib/alexandria/ui/listview.rb +310 -0
- data/lib/alexandria/ui/main_app.rb +67 -0
- data/lib/alexandria/ui/multi_drag_treeview.rb +150 -0
- data/lib/alexandria/ui/sidepane.rb +194 -0
- data/lib/alexandria/ui/sound.rb +107 -0
- data/lib/alexandria/ui/ui_manager.rb +1308 -0
- data/lib/alexandria/undo_manager.rb +78 -0
- data/lib/alexandria/utils.rb +30 -0
- data/lib/alexandria/version.rb +24 -0
- data/lib/alexandria/web_themes.rb +75 -0
- data/misc/sounds/README +15 -0
- data/misc/sounds/bad_scan.csd +62 -0
- data/misc/sounds/good_scan.csd +61 -0
- data/misc/sounds/scanning.csd +46 -0
- data/po/ChangeLog +488 -0
- data/po/Makefile +44 -0
- data/po/README +29 -0
- data/po/commit-po +72 -0
- data/po/cs.po +1437 -0
- data/po/cy.po +1521 -0
- data/po/de.po +1400 -0
- data/po/el.po +1379 -0
- data/po/es.po +1376 -0
- data/po/fr.po +1420 -0
- data/po/ga.po +1359 -0
- data/po/gl.po +1397 -0
- data/po/it.po +1406 -0
- data/po/ja.po +1355 -0
- data/po/mk.po +1373 -0
- data/po/nb.po +1386 -0
- data/po/nl.po +1405 -0
- data/po/pl.po +1373 -0
- data/po/pt.po +1398 -0
- data/po/pt_BR.po +1409 -0
- data/po/ru.po +1372 -0
- data/po/sk.po +1380 -0
- data/po/sv.po +1402 -0
- data/po/uk.po +1423 -0
- data/po/zh_TW.po +1394 -0
- data/schemas/alexandria.schemas +300 -0
- data/share/alexandria/glade/acquire_dialog__builder.glade +201 -0
- data/share/alexandria/glade/book_properties_dialog__builder.glade +910 -0
- data/share/alexandria/glade/main_app__builder.glade +229 -0
- data/share/alexandria/glade/new_book_dialog__builder.glade +379 -0
- data/share/alexandria/glade/preferences_dialog__builder.glade +733 -0
- data/share/alexandria/icons/alexandria.png +0 -0
- data/share/alexandria/icons/alexandria_small.png +0 -0
- data/share/alexandria/icons/book.png +0 -0
- data/share/alexandria/icons/book_icon.png +0 -0
- data/share/alexandria/icons/book_small.png +0 -0
- data/share/alexandria/icons/cuecat.png +0 -0
- data/share/alexandria/icons/cuecat_inactive.png +0 -0
- data/share/alexandria/icons/favorite_tag.png +0 -0
- data/share/alexandria/icons/less.png +0 -0
- data/share/alexandria/icons/library.png +0 -0
- data/share/alexandria/icons/library_small.png +0 -0
- data/share/alexandria/icons/lookup.png +0 -0
- data/share/alexandria/icons/more.png +0 -0
- data/share/alexandria/icons/no_cover.png +0 -0
- data/share/alexandria/icons/smart_library.png +0 -0
- data/share/alexandria/icons/smart_library_small.png +0 -0
- data/share/alexandria/icons/star_set.png +0 -0
- data/share/alexandria/icons/star_unset.png +0 -0
- data/share/alexandria/icons/view_as_icons.png +0 -0
- data/share/alexandria/icons/view_as_list.png +0 -0
- data/share/alexandria/ui/menus.xml +91 -0
- data/share/alexandria/ui/popups.xml +91 -0
- data/share/alexandria/web-themes/clean/clean.css +85 -0
- data/share/alexandria/web-themes/clean/preview.jpg +0 -0
- data/share/alexandria/web-themes/list/list.css +105 -0
- data/share/alexandria/web-themes/list/preview.jpg +0 -0
- data/share/app-icon/16x16/alexandria.png +0 -0
- data/share/app-icon/16x16/alexandria.svg +263 -0
- data/share/app-icon/22x22/alexandria.png +0 -0
- data/share/app-icon/22x22/alexandria.svg +465 -0
- data/share/app-icon/24x24/alexandria.png +0 -0
- data/share/app-icon/32x32/alexandria.png +0 -0
- data/share/app-icon/32x32/alexandria.svg +813 -0
- data/share/app-icon/32x32/alexandria.xpm +241 -0
- data/share/app-icon/48x48/alexandria.png +0 -0
- data/share/app-icon/scalable/alexandria.svg +700 -0
- data/share/gnome/help/alexandria/C/about.xml +44 -0
- data/share/gnome/help/alexandria/C/adding-books.xml +339 -0
- data/share/gnome/help/alexandria/C/alexandria.xml +185 -0
- data/share/gnome/help/alexandria/C/bugs.xml +18 -0
- data/share/gnome/help/alexandria/C/editing-book-properties.xml +124 -0
- data/share/gnome/help/alexandria/C/exporting.xml +81 -0
- data/share/gnome/help/alexandria/C/figures/adding_books_acquire_from_scanner_process.png +0 -0
- data/share/gnome/help/alexandria/C/figures/adding_books_add_by_isbn.png +0 -0
- data/share/gnome/help/alexandria/C/figures/adding_books_isbn_import.png +0 -0
- data/share/gnome/help/alexandria/C/figures/adding_books_manual_details.png +0 -0
- data/share/gnome/help/alexandria/C/figures/adding_books_rename_library_after_import.png +0 -0
- data/share/gnome/help/alexandria/C/figures/adding_books_search_results.png +0 -0
- data/share/gnome/help/alexandria/C/figures/editing_book_properties_info.png +0 -0
- data/share/gnome/help/alexandria/C/figures/editing_book_properties_loaning.png +0 -0
- data/share/gnome/help/alexandria/C/figures/exporting_information_html.png +0 -0
- data/share/gnome/help/alexandria/C/figures/getting_started_first_launched.png +0 -0
- data/share/gnome/help/alexandria/C/figures/searching_filtering_views_list_view.png +0 -0
- data/share/gnome/help/alexandria/C/figures/searching_filtering_views_list_view_search.png +0 -0
- data/share/gnome/help/alexandria/C/figures/settings_providers_new_z3950.png +0 -0
- data/share/gnome/help/alexandria/C/figures/smart_libraries_new_smart_library.png +0 -0
- data/share/gnome/help/alexandria/C/figures/working_with_libraries_library_pane.png +0 -0
- data/share/gnome/help/alexandria/C/getting-started.xml +154 -0
- data/share/gnome/help/alexandria/C/gnu-fdl-1.2.xml +543 -0
- data/share/gnome/help/alexandria/C/introduction.xml +142 -0
- data/share/gnome/help/alexandria/C/searching.xml +90 -0
- data/share/gnome/help/alexandria/C/settings.xml +140 -0
- data/share/gnome/help/alexandria/C/smart-libraries.xml +160 -0
- data/share/gnome/help/alexandria/C/working-with-libraries.xml +76 -0
- data/share/gnome/help/alexandria/ChangeLog +99 -0
- data/share/gnome/help/alexandria/fr/alexandria.xml +2292 -0
- data/share/gnome/help/alexandria/fr/figures/alexandria_add_button.png +0 -0
- data/share/gnome/help/alexandria/fr/figures/alexandria_add_by_isbn_1.png +0 -0
- data/share/gnome/help/alexandria/fr/figures/alexandria_add_by_search_1.png +0 -0
- data/share/gnome/help/alexandria/fr/figures/alexandria_add_manually.png +0 -0
- data/share/gnome/help/alexandria/fr/figures/alexandria_add_z3950.png +0 -0
- data/share/gnome/help/alexandria/fr/figures/alexandria_close_button.png +0 -0
- data/share/gnome/help/alexandria/fr/figures/alexandria_edit_info.png +0 -0
- data/share/gnome/help/alexandria/fr/figures/alexandria_export_web_page.png +0 -0
- data/share/gnome/help/alexandria/fr/figures/alexandria_importing.png +0 -0
- data/share/gnome/help/alexandria/fr/figures/alexandria_library_pane.png +0 -0
- data/share/gnome/help/alexandria/fr/figures/alexandria_list_view.png +0 -0
- data/share/gnome/help/alexandria/fr/figures/alexandria_list_view_search.png +0 -0
- data/share/gnome/help/alexandria/fr/figures/alexandria_loaning.png +0 -0
- data/share/gnome/help/alexandria/fr/figures/alexandria_main_window.png +0 -0
- data/share/gnome/help/alexandria/fr/figures/alexandria_remove_button.png +0 -0
- data/share/gnome/help/alexandria/ja/about.xml +33 -0
- data/share/gnome/help/alexandria/ja/adding-books.xml +314 -0
- data/share/gnome/help/alexandria/ja/alexandria.xml +172 -0
- data/share/gnome/help/alexandria/ja/bugs.xml +11 -0
- data/share/gnome/help/alexandria/ja/editing-book-properties.xml +100 -0
- data/share/gnome/help/alexandria/ja/exporting.xml +98 -0
- data/share/gnome/help/alexandria/ja/figures/adding_books_acquire_from_scanner_process.png +0 -0
- data/share/gnome/help/alexandria/ja/figures/adding_books_add_by_isbn.png +0 -0
- data/share/gnome/help/alexandria/ja/figures/adding_books_isbn_import.png +0 -0
- data/share/gnome/help/alexandria/ja/figures/adding_books_manual_details.png +0 -0
- data/share/gnome/help/alexandria/ja/figures/adding_books_rename_library_after_import.png +0 -0
- data/share/gnome/help/alexandria/ja/figures/adding_books_search_results.png +0 -0
- data/share/gnome/help/alexandria/ja/figures/editing_book_properties_info.png +0 -0
- data/share/gnome/help/alexandria/ja/figures/editing_book_properties_loaning.png +0 -0
- data/share/gnome/help/alexandria/ja/figures/exporting_information_html.png +0 -0
- data/share/gnome/help/alexandria/ja/figures/getting_started_first_launched.png +0 -0
- data/share/gnome/help/alexandria/ja/figures/searching_filtering_views_list_view.png +0 -0
- data/share/gnome/help/alexandria/ja/figures/searching_filtering_views_list_view_search.png +0 -0
- data/share/gnome/help/alexandria/ja/figures/settings_providers_new_z3950.png +0 -0
- data/share/gnome/help/alexandria/ja/figures/smart_libraries_new_smart_library.png +0 -0
- data/share/gnome/help/alexandria/ja/figures/working_with_libraries_library_pane.png +0 -0
- data/share/gnome/help/alexandria/ja/getting-started.xml +144 -0
- data/share/gnome/help/alexandria/ja/gnu-fdl-1.2.xml +541 -0
- data/share/gnome/help/alexandria/ja/introduction.xml +134 -0
- data/share/gnome/help/alexandria/ja/searching.xml +104 -0
- data/share/gnome/help/alexandria/ja/settings.xml +129 -0
- data/share/gnome/help/alexandria/ja/smart-libraries.xml +140 -0
- data/share/gnome/help/alexandria/ja/working-with-libraries.xml +88 -0
- data/share/menu/alexandria +7 -0
- data/share/omf/alexandria/alexandria-C.omf.in +27 -0
- data/share/omf/alexandria/alexandria-fr.omf.in +30 -0
- data/share/sounds/alexandria/bad_scan.ogg +0 -0
- data/share/sounds/alexandria/bad_scan.wav +0 -0
- data/share/sounds/alexandria/good_scan.ogg +0 -0
- data/share/sounds/alexandria/good_scan.wav +0 -0
- data/share/sounds/alexandria/scanning.ogg +0 -0
- data/share/sounds/alexandria/scanning.wav +0 -0
- data/spec/alexandria/library_spec.rb +205 -0
- data/spec/alexandria/preferences_spec.rb +22 -0
- data/spec/alexandria/scanners/cuecat_spec.rb +68 -0
- data/spec/alexandria/smart_library_spec.rb +22 -0
- data/spec/alexandria/ui/dialogs_spec.rb +90 -0
- data/spec/alexandria/ui/iconview_spec.rb +27 -0
- data/spec/alexandria/ui/listview_spec.rb +28 -0
- data/spec/alexandria/ui/main_app_spec.rb +48 -0
- data/spec/alexandria/ui/sidepane_spec.rb +27 -0
- data/spec/alexandria/ui/ui_manager_spec.rb +26 -0
- data/spec/alexandria/ui/ui_utilities_spec.rb +60 -0
- data/spec/alexandria/utilities_spec.rb +50 -0
- data/spec/data/libraries/0.6.1-noisbn/My Library/0201398257.yaml +10 -0
- data/spec/data/libraries/0.6.1-noisbn/My Library/1565920007.yaml +10 -0
- data/spec/data/libraries/0.6.1/My Library/0192812173.yaml +9 -0
- data/spec/data/libraries/0.6.1/My Library/0201398257.cover +0 -0
- data/spec/data/libraries/0.6.1/My Library/0201398257.yaml +10 -0
- data/spec/data/libraries/0.6.1/My Library/1565920007.yaml +10 -0
- data/spec/data/libraries/0.6.2/My Library/9780140266146.cover +0 -0
- data/spec/data/libraries/0.6.2/My Library/9780140266146.yaml +16 -0
- data/spec/data/libraries/0.6.2/My Library/9780140278781.cover +0 -0
- data/spec/data/libraries/0.6.2/My Library/9780140278781.yaml +21 -0
- data/spec/data/libraries/0.6.2/My Library/9780571147168.cover +0 -0
- data/spec/data/libraries/0.6.2/My Library/9780571147168.yaml +20 -0
- data/spec/data/libraries/0.6.2/My Library/9780575079038.cover +0 -0
- data/spec/data/libraries/0.6.2/My Library/9780575079038.yaml +20 -0
- data/spec/data/libraries/0.6.2/My Library/9780755322800.cover +0 -0
- data/spec/data/libraries/0.6.2/My Library/9780755322800.yaml +20 -0
- data/spec/spec_helper.rb +46 -0
- data/tasks/rdoc.rake +6 -0
- data/tasks/setup.rb +30 -0
- data/tasks/spec.rake +29 -0
- data/tasks/test.rake +38 -0
- data/test/application_test.rb +39 -0
- data/test/book_test.rb +34 -0
- data/test/data/isbns.txt +3 -0
- data/test/isbn_test.rb +68 -0
- data/test/providers_test.rb +254 -0
- data/test/test_helper.rb +42 -0
- data/util/rake/fileinstall.rb +313 -0
- data/util/rake/gettextgenerate.rb +158 -0
- data/util/rake/omfgenerate.rb +79 -0
- metadata +452 -0
data/TODO
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
Alexandria's TODO list
|
2
|
+
======================
|
3
|
+
|
4
|
+
For the next release:
|
5
|
+
|
6
|
+
[X] Drag-and-drop books within libraries
|
7
|
+
[X] Infinite Undo/Redo
|
8
|
+
[X] Smart libraries
|
9
|
+
[X] CueCat userland support
|
10
|
+
[ ] Threading of all operations
|
11
|
+
|
12
|
+
Future releases:
|
13
|
+
|
14
|
+
[ ] Sort providers meaningfully according to the current locale
|
15
|
+
[ ] ONIX import
|
16
|
+
[ ] Import/export via GNOME-DB
|
17
|
+
[ ] Zoom in the current view, giving more or less details
|
18
|
+
[ ] PDA support
|
19
|
+
[ ] Win32 MinGW port
|
20
|
+
[ ] Show more details about books, like number of pages, price, topic, a
|
21
|
+
user defined field
|
22
|
+
[ ] Printing
|
23
|
+
[ ] Editable views; for icons, renaming their title, for list, editing each
|
24
|
+
field
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
require_relative 'lib/alexandria/version'
|
3
|
+
|
4
|
+
Gem::Specification.new do |s|
|
5
|
+
s.name = 'alexandria-book-collection-manager'
|
6
|
+
s.version = Alexandria::VERSION
|
7
|
+
|
8
|
+
s.summary = 'GNOME application for managing collections of books'
|
9
|
+
s.required_ruby_version = '>= 1.9.3'
|
10
|
+
|
11
|
+
s.authors = ['Matijs van Zuijlen']
|
12
|
+
s.email = ['matijs@matijs.net']
|
13
|
+
s.homepage = 'http://www.github.com/mvz/alexandria-book-collection-manager'
|
14
|
+
|
15
|
+
s.license = 'GPL-2'
|
16
|
+
|
17
|
+
s.files = `git ls-files -z`.split("\0") |
|
18
|
+
['lib/alexandria/default_preferences.rb']
|
19
|
+
|
20
|
+
s.executables = s.files.grep(%r{^bin/}).map { |path| File.basename(path) }
|
21
|
+
|
22
|
+
s.rdoc_options = ['--main', 'README.md']
|
23
|
+
|
24
|
+
s.add_runtime_dependency('gettext', ['~> 3.1'])
|
25
|
+
s.add_runtime_dependency('hpricot', ['~> 0.8.5'])
|
26
|
+
s.add_runtime_dependency('htmlentities', ['~> 4.3'])
|
27
|
+
s.add_runtime_dependency('gtk2', ['~> 2.2'])
|
28
|
+
s.add_runtime_dependency('gstreamer', ['~> 2.2'])
|
29
|
+
|
30
|
+
s.add_development_dependency('minitest', ['~> 5.0'])
|
31
|
+
s.add_development_dependency('rake', ['~> 10.0'])
|
32
|
+
s.add_development_dependency('rspec', ['~> 3.0'])
|
33
|
+
|
34
|
+
s.require_paths = ['lib']
|
35
|
+
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
[Desktop Entry]
|
2
|
+
Version=1.0
|
3
|
+
Type=Application
|
4
|
+
_Name=Alexandria Book Collection Manager
|
5
|
+
_GenericName=Book Collection Manager
|
6
|
+
_Comment=Manage your book collection
|
7
|
+
Exec=/usr/bin/alexandria
|
8
|
+
Terminal=false
|
9
|
+
Categories=GNOME;GTK;Office;Database;
|
10
|
+
Icon=alexandria
|
data/bin/alexandria
ADDED
@@ -0,0 +1,82 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# Copyright (C) 2004-2006 Laurent Sansonetti
|
4
|
+
# Copyright (C) 2007, 2008 Joseph Method
|
5
|
+
# Copyright (C) 2007, 2009 Cathal Mc Ginley
|
6
|
+
# Copyright (C) 2014 Matijs van Zuijlen
|
7
|
+
#
|
8
|
+
# Alexandria is free software; you can redistribute it and/or
|
9
|
+
# modify it under the terms of the GNU General Public License as
|
10
|
+
# published by the Free Software Foundation; either version 2 of the
|
11
|
+
# License, or (at your option) any later version.
|
12
|
+
#
|
13
|
+
# Alexandria is distributed in the hope that it will be useful,
|
14
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
15
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
16
|
+
# General Public License for more details.
|
17
|
+
#
|
18
|
+
# You should have received a copy of the GNU General Public
|
19
|
+
# License along with Alexandria; see the file COPYING. If not,
|
20
|
+
# write to the Free Software Foundation, Inc., 51 Franklin Street,
|
21
|
+
# Fifth Floor, Boston, MA 02110-1301 USA.
|
22
|
+
|
23
|
+
begin
|
24
|
+
require 'gettext'
|
25
|
+
rescue LoadError
|
26
|
+
require 'rubygems'
|
27
|
+
require 'gettext'
|
28
|
+
end
|
29
|
+
require 'alexandria'
|
30
|
+
require 'optparse'
|
31
|
+
require 'ostruct'
|
32
|
+
|
33
|
+
# options = OpenStruct.new
|
34
|
+
OptionParser.new do |opts|
|
35
|
+
opts.banner = 'Usage: alexandria [options]'
|
36
|
+
opts.on('-l', '--list', 'List libraries in numbered format') do
|
37
|
+
puts Alexandria.list_books_on_console
|
38
|
+
exit
|
39
|
+
end
|
40
|
+
# opts.on("--output FORMAT",
|
41
|
+
# "Output library as FORMAT: csv|xml|yaml; use with --library or omit for ALL") do |val|
|
42
|
+
# options.format = val
|
43
|
+
# exit
|
44
|
+
# end
|
45
|
+
# opts.on("--library LIBRARY",
|
46
|
+
# "Used with --output to pick a library to output") do |val|
|
47
|
+
# options.library = val
|
48
|
+
# exit
|
49
|
+
# end
|
50
|
+
opts.on('-d', '--debug', 'Run in debug mode') do
|
51
|
+
$DEBUG = true
|
52
|
+
end
|
53
|
+
opts.on('-h', '--help', 'Show help options') do
|
54
|
+
puts opts
|
55
|
+
exit
|
56
|
+
end
|
57
|
+
opts.on('-v', '--version', 'Get version number') do
|
58
|
+
puts Alexandria::VERSION
|
59
|
+
exit
|
60
|
+
end
|
61
|
+
end.parse!
|
62
|
+
|
63
|
+
begin
|
64
|
+
Alexandria.main
|
65
|
+
rescue => e
|
66
|
+
$stderr.puts <<EOS
|
67
|
+
-----------------------
|
68
|
+
Alexandria just crashed
|
69
|
+
-----------------------
|
70
|
+
Timestamp: #{Time.now}
|
71
|
+
Message: #{e.message}
|
72
|
+
Backtrace:
|
73
|
+
#{e.backtrace.join("\n")}
|
74
|
+
Release: #{Alexandria::VERSION}(#{Alexandria::DISPLAY_VERSION})
|
75
|
+
Uname -a: #{`uname -a`.chomp}
|
76
|
+
--
|
77
|
+
Please report this dump to '#{Alexandria::LIST}' with some additional
|
78
|
+
information, such as the description of the crash and the steps to reproduce it
|
79
|
+
(if it's possible).
|
80
|
+
EOS
|
81
|
+
exit 1
|
82
|
+
end
|
data/doc/AUTHORS
ADDED
@@ -0,0 +1,60 @@
|
|
1
|
+
Maintainer:
|
2
|
+
Joseph Method <tristil@gmail.com>
|
3
|
+
|
4
|
+
Contributors:
|
5
|
+
Alexander McCormmach <alexander@tunicate.org>
|
6
|
+
Aymeric Nys <aymeric@nnx.com>
|
7
|
+
Cathal Mc Ginley <cathal.alexandria@gnostai.org>
|
8
|
+
Claudio Belotti <bel8@lilik.it>
|
9
|
+
Constantine Evans <cevans@costinet.org>
|
10
|
+
Dafydd Harries <daf@muse.19inch.net>
|
11
|
+
Javier Fernandez-Sanguino Pena <jfs@debian.org>
|
12
|
+
Kevin Schultz <schultkl@ieee.org>
|
13
|
+
Laurent Sansonetti <lrz@gnome.org>
|
14
|
+
Marco Costantini <costanti@science.unitn.it>
|
15
|
+
Mathieu Leduc-Hamel <arrak@arrak.org>
|
16
|
+
Owain Evans <o.evans@gmail.com>
|
17
|
+
Pascal Terjan <pterjan@linuxfr.org>
|
18
|
+
Rene Samselnig <sandman@sdm-net.org>
|
19
|
+
Robby Stephenson <robby@periapsis.org>
|
20
|
+
Sun Ning <classicning@gmail.com>
|
21
|
+
Takayuki Kusano <AE5T-KSN@asahi-net.or.jp>
|
22
|
+
Timothy Malone <timothy.malone@gmail.com>
|
23
|
+
Zachary P. Landau <kapheine@hypa.net>
|
24
|
+
|
25
|
+
Documentors:
|
26
|
+
Cathal Mc Ginley <cathal.alexandria@gnostai.org>
|
27
|
+
Liam Davison <registrations@liamjdavison.info>
|
28
|
+
|
29
|
+
Artists:
|
30
|
+
Andreas Nilsson <nisses.mail@home.se>
|
31
|
+
Stefanie Dijoux <stefanie.dijoux@gmail.com>
|
32
|
+
|
33
|
+
Translators:
|
34
|
+
Adrián Chaves Fernández <adriyetichaves@gmail.com> (gl)
|
35
|
+
Cathal Mc Ginley <cathal.alexandria@gnostai.org> (ga)
|
36
|
+
CHIKAMA Masaki <masaki.chikama@gmail.com> (ja)
|
37
|
+
Dafydd Harries <daf@muse.19inch.net> (cy)
|
38
|
+
Damjan Dimitrioski <damjandimitrioski@gmail.com> (mk)
|
39
|
+
Giacomo Margarito <giacomomargarito@gmail.com> (it)
|
40
|
+
Jack Myrseh <jack@enkom.no> (nb)
|
41
|
+
Joachim Breitner <mail@joachim-breitner.de> (de)
|
42
|
+
José Ling <jlgdot369@gmail.com> (zh_TW)
|
43
|
+
Lennart Karssen <lennart@karssen.org> (nl)
|
44
|
+
Lígia Moreira <ligia.moreira@netvisao.pt> (fr, pt, pt_BR)
|
45
|
+
Martin Karlsson <martinkarlsson81@hotmail.com> (sv)
|
46
|
+
Michael Kotsarinis <mkotsari1@pre.forthnet.gr> (el)
|
47
|
+
Miguel Ángel García <magmax@ieee.org> (es)
|
48
|
+
Peter Kováč <kovac.peter@fotopriestor.sk> (sk)
|
49
|
+
Petr Vanek <vanous@penguin.cz> (cs)
|
50
|
+
Piotr Drąg <piotrdrag@gmail.com> (pl)
|
51
|
+
Serhij Dubyk <dubyk@library.lviv.ua> (uk)
|
52
|
+
|
53
|
+
Former translators:
|
54
|
+
David Weinehall <tao@debian.org> (sv)
|
55
|
+
Jiří Pejchal <jiri.pejchal@gmail.com> (cs)
|
56
|
+
Laurent Sansonetti <lrz@gnome.org> (fr)
|
57
|
+
Lucas Rocha <lucasr@im.ufba.br> (pt_BR)
|
58
|
+
Marco Costantini <costanti@science.unitn.it> (it)
|
59
|
+
Masao Mutoh <mutoh@highway.ne.jp> (ja)
|
60
|
+
Mirko Maischberger <mirko@lilik.it> (it)
|
data/doc/BUGS
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
= Bugs and Shortcomings
|
2
|
+
|
3
|
+
There are a couple of well known, long-standing issues with
|
4
|
+
Alexandria. These issues will, hopefully, be addressed in upcoming
|
5
|
+
releases. There are also specific bugs tracked on RubyForge:
|
6
|
+
<http://rubyforge.org/tracker/?group_id=205>
|
7
|
+
|
8
|
+
== Icon Display Spacing
|
9
|
+
|
10
|
+
While the list view of books is naturally neat, the default icon view
|
11
|
+
suffers from problematic icon spacing; often the book covers appear to
|
12
|
+
be randomly scattered. They cannot even be adjusted afterwards. This
|
13
|
+
is just an aesthetic concern, but a frustrating one.
|
14
|
+
|
15
|
+
It is probable that this is due to inconsistent use of the GTK+ thread
|
16
|
+
dispatcher is at the root of these problems. Hopefully future
|
17
|
+
development can clean up the code in this regard.
|
18
|
+
|
19
|
+
== Multiple Copies of Books
|
20
|
+
|
21
|
+
The limited expressiveness of Alexandria's domain model means that it
|
22
|
+
is not possible to keep a record of more than one copy of a given book
|
23
|
+
in a single library.
|
24
|
+
|
25
|
+
== Large Collections
|
26
|
+
|
27
|
+
The user-interface becomes slow and unresponsive when dealing with
|
28
|
+
libraries over about 100 books. This is quite a low threshold on
|
29
|
+
scalability. The simple solution is to make a couple of new libraries
|
30
|
+
to hold a hundred books each; a common approach is to split them up
|
31
|
+
according to broad subject area.
|
data/doc/FAQ
ADDED
@@ -0,0 +1,369 @@
|
|
1
|
+
Copyright (C) 2007 Marco Costantini
|
2
|
+
|
3
|
+
########################################################################
|
4
|
+
|
5
|
+
Question: I have a ( Bug | Support Request | Patch | Feature Request ).
|
6
|
+
|
7
|
+
Answer: You are welcome to report it. Please use the tracker at
|
8
|
+
http://rubyforge.org/tracker/?group_id=205
|
9
|
+
|
10
|
+
It may be helpful to read the text "How to Report Bugs Effectively", at
|
11
|
+
http://www.chiark.greenend.org.uk/~sgtatham/bugs.html
|
12
|
+
|
13
|
+
Please, one bug per report, and one report per bug.
|
14
|
+
|
15
|
+
Please use a meaningful and specific summary.
|
16
|
+
|
17
|
+
In order to let us investigate the bug and fix it for you, we need a clear
|
18
|
+
and specific information about how to replicate it. For instance: report
|
19
|
+
the ISBN of the book for which the bug happens; report the book provider
|
20
|
+
used if relevant; copy and paste the error message. You may also start
|
21
|
+
Alexandria in terminal window, and copy and paste the output on that
|
22
|
+
window.
|
23
|
+
|
24
|
+
In the past we got the bug report [#6767] saying:
|
25
|
+
"Entering a valid ISBN number (many different) is rejected by the
|
26
|
+
program. Stating to be an invalid ISBN."
|
27
|
+
This user didn't report any single non-working ISBN; and didn't explain
|
28
|
+
"rejected" enough. Hence, even if further work has been done on this
|
29
|
+
topic, we can't know whether this bug was a real one, and whether it has
|
30
|
+
been already solved or not.
|
31
|
+
|
32
|
+
If you report only the backtrace without saying how to replicate the
|
33
|
+
bug, it is usually impossible to understand and fix the bug.
|
34
|
+
|
35
|
+
Please have a look at the already reported bugs or feature request:
|
36
|
+
it is useless to report again an already reported one.
|
37
|
+
If you have more information, please add it at the already reported bug,
|
38
|
+
instead of opening a new one.
|
39
|
+
|
40
|
+
Your bug could be a bug already solved in the development version of
|
41
|
+
Alexandria. You can get the development version at
|
42
|
+
http://rubyforge.org/scm/?group_id=205
|
43
|
+
|
44
|
+
|
45
|
+
########################################################################
|
46
|
+
|
47
|
+
|
48
|
+
Question: Where are the Z39.50 stuff, the providers US Library of
|
49
|
+
Congress and British Library, the advanced options, and the window for
|
50
|
+
adding new providers? I can't install Ruby/ZOOM.
|
51
|
+
|
52
|
+
Answer: All these things require that the library Ruby/ZOOM,
|
53
|
+
version >= 0.2.0 is installed and working. You can get it at
|
54
|
+
http://ruby-zoom.rubyforge.org/ Install it according to its
|
55
|
+
documentation.
|
56
|
+
|
57
|
+
Ruby/ZOOM requires YAZ, http://www.indexdata.dk/yaz/ , compiled with
|
58
|
+
passing the --enable-shared option to the configure script:
|
59
|
+
|
60
|
+
./configure --enable-shared
|
61
|
+
|
62
|
+
before building YAZ with make.
|
63
|
+
|
64
|
+
The following works for me with Ubuntu
|
65
|
+
|
66
|
+
sudo apt-get -y install libyaz-dev ruby ruby1.8-dev make gcc
|
67
|
+
wget http://rubyforge.org/frs/download.php/6940/ruby-zoom-0.2.2.tar.gz
|
68
|
+
tar xfz ruby-zoom-0.2.2.tar.gz
|
69
|
+
cd ruby-zoom-0.2.2/
|
70
|
+
ruby extconf.rb
|
71
|
+
make
|
72
|
+
sudo make install
|
73
|
+
|
74
|
+
|
75
|
+
|
76
|
+
List of Z39.50 server are at
|
77
|
+
http://www.webclarity.info/registry/browse
|
78
|
+
http://targettest.indexdata.com/
|
79
|
+
|
80
|
+
|
81
|
+
When adding new Z39.50 providers, you must choose the record syntax.
|
82
|
+
Currently (March 2007), these are offered: "USMARC", "SUTRS", "UNIMARC".
|
83
|
+
|
84
|
+
"USMARC" works, "UNIMARC" works very limited, "SUTRS" doesn't work.
|
85
|
+
Choose a provider that supports "USMARC", or if none is available, one
|
86
|
+
that supports "UNIMARC".
|
87
|
+
MARC21 is the same as USMARC (at least for Alexandria).
|
88
|
+
|
89
|
+
You must choose also the charset encoding. Some are
|
90
|
+
|
91
|
+
UTF-8
|
92
|
+
ISO-8859-1 (also known as Latin-1, Western Europe)
|
93
|
+
ISO-8859-15
|
94
|
+
ISO_6937-2 (also known as Ala, Ansel)
|
95
|
+
|
96
|
+
The list of all possible charset encoding could be at
|
97
|
+
/usr/lib/gconv/gconv-modules
|
98
|
+
|
99
|
+
|
100
|
+
There is a plan to replace in future the provider British Library with
|
101
|
+
Copac, which includes British Library and others; see
|
102
|
+
http://copac.ac.uk/libraries/
|
103
|
+
http://en.wikipedia.org/wiki/Copac
|
104
|
+
|
105
|
+
|
106
|
+
########################################################################
|
107
|
+
|
108
|
+
|
109
|
+
Question: A provider is not working, or only partial information it
|
110
|
+
retrieved from it, or there are books on the providers for which
|
111
|
+
Alexandria fails to retrieve information.
|
112
|
+
|
113
|
+
Answer: Yes, the provider may have changed the structure of its
|
114
|
+
web pages, and hence it is necessary to update the file for that
|
115
|
+
provider; this file is in the directory
|
116
|
+
/<something>/alexandria/book_providers/
|
117
|
+
|
118
|
+
It is also possible that the file handles only the "simple" cases, and the
|
119
|
+
case of your book is a "complex" one.
|
120
|
+
|
121
|
+
Try to get the development version at http://rubyforge.org/scm/?group_id=205
|
122
|
+
because the problem could be already fixed there.
|
123
|
+
|
124
|
+
Try to fix by yourself, and thereafter send us a patch.
|
125
|
+
Otherwise, report the bug, saying for which ISBN this problem happens.
|
126
|
+
|
127
|
+
|
128
|
+
########################################################################
|
129
|
+
|
130
|
+
|
131
|
+
Question: I know another book provider
|
132
|
+
|
133
|
+
Answer: There are many other providers, see
|
134
|
+
http://en.wikipedia.org/wiki/Wikipedia:Book_sources
|
135
|
+
That page contains also links to the pages for book providers in other
|
136
|
+
languages.
|
137
|
+
If you now other providers, please add them to that lists.
|
138
|
+
|
139
|
+
|
140
|
+
########################################################################
|
141
|
+
|
142
|
+
|
143
|
+
Question: Please add a new provider
|
144
|
+
|
145
|
+
Answer: First, choose wisely which provider(s) to ask. Do a
|
146
|
+
search on Internet of the various existing providers for your language
|
147
|
+
(see also, but not only, the previous question).
|
148
|
+
|
149
|
+
You may prefer providers that list also out-of-prints, instead of
|
150
|
+
providers that list only available books. It is also preferable a
|
151
|
+
provider that lists not only the books of your country, but also the
|
152
|
+
books of the neighbor countries.
|
153
|
+
|
154
|
+
Check whether the provider supports the Z39.50 protocol. This is probable
|
155
|
+
for public libraries, and very unlikely for commercial booksellers.
|
156
|
+
(If the Z39.50 protocol is supported, just go to "Preferences",
|
157
|
+
"Providers", "Advanced Settings", and add the provider there.)
|
158
|
+
|
159
|
+
It is useful if you choose a provider that allows to specify the ISBN in
|
160
|
+
the address, such as
|
161
|
+
http://www.internetbookshop.it/ame/ser/serdsp.asp?e=0060748222&shop=1
|
162
|
+
or
|
163
|
+
http://www.deastore.com/product.asp?isbn=9780060748227
|
164
|
+
|
165
|
+
It is necessary that the HTML page of each provider is easily parsable,
|
166
|
+
that is, that the computer can easily find title, author(s), ISBN,
|
167
|
+
publisher, year of publication, binding.
|
168
|
+
For instance, the following piece of HTML page is easily parsable.
|
169
|
+
|
170
|
+
<span class="BDtitoloLibro">The Krusty Book</span>
|
171
|
+
<span class="BDauthLibro">by: Matt
|
172
|
+
Groening </span><span class="BDformatoLibro"><span
|
173
|
+
class="BDEticLibro">Format: </span>paperback</span><span
|
174
|
+
class="BDEticLibro">Publication date: </span><span
|
175
|
+
class="BDdataPubbLibro">10/23/2006</span><span
|
176
|
+
class="BDEticLibro">Publisher: </span><span
|
177
|
+
class="BDeditoreLibro">HarperCollins Publishers (Australia) Pty
|
178
|
+
Ltd</span><br /><span class="BDEticLibro">ISBN: </span><span
|
179
|
+
class="isbn">0-06-074822-2</span><br /><span class="BDEticLibro">ISBN
|
180
|
+
13: </span><span class="isbn">978-0-06-074822-7</span></div>
|
181
|
+
|
182
|
+
It is not necessary that the provider reports for each book all the
|
183
|
+
information: title, author(s), ISBN, publisher, year of publication,
|
184
|
+
binding. In case that one of these is missing, Alexandria will not get
|
185
|
+
it.
|
186
|
+
|
187
|
+
It is easier, if the provider doesn't use cookies (however, provider
|
188
|
+
Deastore uses cookies and has been implemented).
|
189
|
+
|
190
|
+
After the choice of the provider, try by yourself to modify the file for
|
191
|
+
an already implemented provider. Probably it may be only required that
|
192
|
+
you modify some regular expressions. Please send us the patch.
|
193
|
+
If you can program already, learning Ruby may require 20 minutes, see
|
194
|
+
http://www.ruby-lang.org/en/documentation/quickstart/
|
195
|
+
|
196
|
+
If you can't implement the new provider by yourself, write a 'feature
|
197
|
+
request' at http://rubyforge.org/tracker/?group_id=205
|
198
|
+
Please report some ISBNs of books that your provider knows and no other
|
199
|
+
provider implemented by Alexandria knows. Report also how are the words
|
200
|
+
title, author(s), ISBN, publisher, year of publication, binding in the
|
201
|
+
language used by the site. Report any other relevant information.
|
202
|
+
|
203
|
+
|
204
|
+
########################################################################
|
205
|
+
|
206
|
+
|
207
|
+
Question: What are the ISBN, the ISBN-13, and the EAN?
|
208
|
+
|
209
|
+
Answer: For more information about ISBN, ISBN-13, EAN, see
|
210
|
+
http://en.wikipedia.org/wiki/International_Standard_Book_Number
|
211
|
+
|
212
|
+
|
213
|
+
########################################################################
|
214
|
+
|
215
|
+
|
216
|
+
Question: Does Alexandria support the ISBN-13? Do I need to enter the
|
217
|
+
ISBN with or without dashes?
|
218
|
+
|
219
|
+
Answer: Alexandria support both the 10-digit and 13-digit ISBN, and the
|
220
|
+
dashes entered with the ISBN are ignored. Hence you can enter the book
|
221
|
+
in any of these equivalent forms:
|
222
|
+
|
223
|
+
88-06-14930-X
|
224
|
+
880614930X
|
225
|
+
88-06-14930-x
|
226
|
+
880614930x
|
227
|
+
978-88-06-14930-7
|
228
|
+
9788806149307
|
229
|
+
|
230
|
+
|
231
|
+
########################################################################
|
232
|
+
|
233
|
+
|
234
|
+
Question: I entered the ISBN exactly as it shows on the book, and
|
235
|
+
Alexandria says that it is invalid.
|
236
|
+
|
237
|
+
Answer: You can check whether an ISBN is valid with
|
238
|
+
http://www.isbn-check.com/
|
239
|
+
Sometimes the ISBN reported on the book is wrong. Try to use the
|
240
|
+
13-digit one, or to use the ISBN reported on the back of the title page,
|
241
|
+
or to search by title/author on a book provider, in order to find the
|
242
|
+
correct ISBN.
|
243
|
+
|
244
|
+
|
245
|
+
########################################################################
|
246
|
+
|
247
|
+
|
248
|
+
Question: Where is stored the data about the books?
|
249
|
+
|
250
|
+
Answer: In the files ~/.alexandria/<library_name>/<ISBN>.yaml
|
251
|
+
These files are in YAML ( http://www.yaml.org/ ) format, and you can
|
252
|
+
edit them manually. The covers are in the files
|
253
|
+
~/.alexandria/<library_name>/<ISBN>.cover
|
254
|
+
These files persist if you install or deinstall Alexandria.
|
255
|
+
|
256
|
+
|
257
|
+
########################################################################
|
258
|
+
|
259
|
+
|
260
|
+
Question: I was enjoying Alexandria a lot and now it doesn't work any
|
261
|
+
more, I can't enter other books, or crashes when it starts.
|
262
|
+
|
263
|
+
Answer: This usually happens when there is some invalid data in one of
|
264
|
+
the .yaml files (see the question above). For one or more of the
|
265
|
+
latest books that you have entered, a bug happened, and now the data
|
266
|
+
stored is invalid and causes trouble. Try to find which book it was,
|
267
|
+
(please send also a bug report), and to delete or to move to another
|
268
|
+
directory that .yaml file or the whole ~/.alexandria directory.
|
269
|
+
|
270
|
+
This kind of problem may show only with the manual entered books, and
|
271
|
+
not with the books searched by ISBN.
|
272
|
+
|
273
|
+
|
274
|
+
########################################################################
|
275
|
+
|
276
|
+
|
277
|
+
Question: can I catalog other objects?
|
278
|
+
|
279
|
+
Answer: Yes. Some kinds of object, such as illustrated calendars, or
|
280
|
+
geographical maps, have the ISBN, and can be treated as books.
|
281
|
+
|
282
|
+
For other objects, insert the EAN or bar-code number as ISBN. Provider
|
283
|
+
Thalia knows about music CDs, video DVDs, games and software, and can be
|
284
|
+
used to retrieve information about them. Other providers may be added in
|
285
|
+
future (possibly by you). Otherwise, the other objects may be added
|
286
|
+
manually.
|
287
|
+
|
288
|
+
|
289
|
+
########################################################################
|
290
|
+
|
291
|
+
|
292
|
+
Question: I prefer to have the field "Author" as "Surname, Name" instead
|
293
|
+
of "Name Surname".
|
294
|
+
|
295
|
+
Answer: Alexandria relies on what the providers say:
|
296
|
+
some providers report "Surname, Name": Deastore, Renaud, Mcu,
|
297
|
+
some "Surname Name": Webster.it, Ibs.it,
|
298
|
+
some "Name Surname": Bn, Thalia, Bol.it, Adlibris, L Siciliano, Worldcat,
|
299
|
+
and some without any rule: Amazon, Proxis.
|
300
|
+
You can change, in the preferences, the order in which the providers are
|
301
|
+
queried.
|
302
|
+
|
303
|
+
If Alexandria reports "Name Surname" with one provider, and in the HTML
|
304
|
+
page of that provider there is also (in a parsable way) "Surname, Name",
|
305
|
+
then this is a bug to be reported. In some of these cases, it would be
|
306
|
+
possible to get "Surname, Name", but the code would be complicated and
|
307
|
+
unreliable.
|
308
|
+
|
309
|
+
There is no algorithm that can decide, given the Author as a string,
|
310
|
+
which part of the string is the name and which part is the surname.
|
311
|
+
For instance, the name or the surname can be composed by more than one
|
312
|
+
word, or the author may be a collective author, or be a title or a
|
313
|
+
pseudonym, or in the author's country they may use that the surname is
|
314
|
+
the first word and the name is the second, or there may be the
|
315
|
+
patronymic, and so on.
|
316
|
+
|
317
|
+
For one provider, for books with more that one author, it's non-trivial
|
318
|
+
even to split the string of all the authors into strings "Name Surname" for
|
319
|
+
each author.
|
320
|
+
|
321
|
+
The only possibility to convert "Name Surname" to "Surname, Name" is to do
|
322
|
+
that by hand.
|
323
|
+
|
324
|
+
If you still believe that it is possible for a software to convert "Name
|
325
|
+
Surname" into "Surname, Name" in a reliable way, here are some cases of
|
326
|
+
real authors for you to try. (Some accented letters have been replaced by
|
327
|
+
the non accented ones.)
|
328
|
+
|
329
|
+
"Agente Italiano"
|
330
|
+
"Albert Sydney Hornby"
|
331
|
+
"Alexandre Dumas fils"
|
332
|
+
"Antoine de Saint-Exupery"
|
333
|
+
"Boston Women's Health Book Collective"
|
334
|
+
"Camilla"
|
335
|
+
"Central Intelligence Agency"
|
336
|
+
"Christiane F."
|
337
|
+
"Dario De Toffoli"
|
338
|
+
"Elaine St. James"
|
339
|
+
"Ernesto Che Guevara"
|
340
|
+
"Francois-Marie Arouet de Voltaire"
|
341
|
+
"Gaius Caesar Octavianus Augustus"
|
342
|
+
"Geographers A-Z Map Company"
|
343
|
+
"Gian Antonio Stella"
|
344
|
+
"H G Wells"
|
345
|
+
"John Paul II" (the surname is "Wojtyla")
|
346
|
+
"Jose Ortega y Gasset"
|
347
|
+
"Joseph K. von Eichendorff"
|
348
|
+
"Leonardo da Vinci" (he had no surname, "da Vinci" means "from the village
|
349
|
+
'Vinci'")
|
350
|
+
"Leone Stella" (this only is fictional, from a comic movie, whose main
|
351
|
+
characters are some "Leone Stella" and a "Stella Leone"
|
352
|
+
"Levi Strauss"
|
353
|
+
"Lewis Carroll" ("Lewis" may be both name and surname, and here the
|
354
|
+
surname is "Dodgson")
|
355
|
+
"Lorenzo il Magnifico"
|
356
|
+
"Lucio Lombado Radice"
|
357
|
+
"Luigi Luca Cavalli-Sforza"
|
358
|
+
"Malcolm X"
|
359
|
+
"Mao Zedong"
|
360
|
+
"Martin Luther"
|
361
|
+
"Martin Luther King Jr."
|
362
|
+
"Mihail Sergeevic Gorbacev"
|
363
|
+
"Robert Van der Plas"
|
364
|
+
"Saint Augustine"
|
365
|
+
"Scuola di Barbiana"
|
366
|
+
"Subcomandante Insurgente Marcos"
|
367
|
+
"Vladimir Lenin" (the surname is "Ulyanov")
|
368
|
+
|
369
|
+
########################################################################
|