Module: Alexandria

Extended by:
GetText
Defined in:
lib/alexandria/net.rb,
lib/alexandria.rb,
lib/alexandria/ui.rb,
lib/alexandria/about.rb,
lib/alexandria/config.rb,
lib/alexandria/console.rb,
lib/alexandria/logging.rb,
lib/alexandria/version.rb,
lib/alexandria/scanners.rb,
lib/alexandria/ui/icons.rb,
lib/alexandria/ui/sound.rb,
lib/alexandria/ui/columns.rb,
lib/alexandria/ui/dndable.rb,
lib/alexandria/web_themes.rb,
lib/alexandria/models/book.rb,
lib/alexandria/preferences.rb,
lib/alexandria/ui/iconview.rb,
lib/alexandria/ui/listview.rb,
lib/alexandria/ui/main_app.rb,
lib/alexandria/ui/callbacks.rb,
lib/alexandria/undo_manager.rb,
lib/alexandria/export_format.rb,
lib/alexandria/image_fetcher.rb,
lib/alexandria/library_store.rb,
lib/alexandria/smart_library.rb,
lib/alexandria/ui/ui_manager.rb,
lib/alexandria/book_providers.rb,
lib/alexandria/export_library.rb,
lib/alexandria/import_library.rb,
lib/alexandria/models/library.rb,
lib/alexandria/execution_queue.rb,
lib/alexandria/ui/about_dialog.rb,
lib/alexandria/ui/alert_dialog.rb,
lib/alexandria/ui/builder_base.rb,
lib/alexandria/ui/error_dialog.rb,
lib/alexandria/ui/misc_dialogs.rb,
lib/alexandria/scanners/cue_cat.rb,
lib/alexandria/ui/export_dialog.rb,
lib/alexandria/ui/import_dialog.rb,
lib/alexandria/scanners/keyboard.rb,
lib/alexandria/ui/acquire_dialog.rb,
lib/alexandria/ui/calendar_popup.rb,
lib/alexandria/book_providers/web.rb,
lib/alexandria/import_library_csv.rb,
lib/alexandria/library_collection.rb,
lib/alexandria/library_sort_order.rb,
lib/alexandria/pseudo_marc_parser.rb,
lib/alexandria/ui/libraries_combo.rb,
lib/alexandria/ui/new_book_dialog.rb,
lib/alexandria/default_preferences.rb,
lib/alexandria/ui/bad_isbns_dialog.rb,
lib/alexandria/ui/sidepane_manager.rb,
lib/alexandria/ui/barcode_animation.rb,
lib/alexandria/ui/completion_models.rb,
lib/alexandria/ui/completion_models.rb,
lib/alexandria/ui/iconview_tooltips.rb,
lib/alexandria/ui/skip_entry_dialog.rb,
lib/alexandria/book_providers/douban.rb,
lib/alexandria/ui/preferences_dialog.rb,
lib/alexandria/ui/multi_drag_treeview.rb,
lib/alexandria/ui/new_provider_dialog.rb,
lib/alexandria/book_providers/worldcat.rb,
lib/alexandria/ui/confirm_erase_dialog.rb,
lib/alexandria/ui/keep_bad_isbn_dialog.rb,
lib/alexandria/ui/really_delete_dialog.rb,
lib/alexandria/ui/book_properties_dialog.rb,
lib/alexandria/ui/new_book_dialog_manual.rb,
lib/alexandria/ui/smart_library_rule_box.rb,
lib/alexandria/book_providers/bl_provider.rb,
lib/alexandria/book_providers/loc_provider.rb,
lib/alexandria/book_providers/sbn_provider.rb,
lib/alexandria/ui/new_smart_library_dialog.rb,
lib/alexandria/book_providers/z3950_provider.rb,
lib/alexandria/book_providers/thalia_provider.rb,
lib/alexandria/ui/book_properties_dialog_base.rb,
lib/alexandria/ui/provider_preferences_dialog.rb,
lib/alexandria/ui/conflict_while_copying_dialog.rb,
lib/alexandria/ui/smart_library_properties_dialog.rb,
lib/alexandria/ui/smart_library_properties_dialog_base.rb,
lib/alexandria/ui/provider_preferences_base_dialog.rb,
lib/alexandria/ui/init.rb

Overview

This file is part of Alexandria.

See the file README.md for authorship and licensing information.

Defined Under Namespace

Modules: ComboBoxOverrides, Config, EntryOverrides, EventOverrides, ImageFetcher, Logging, Scanners, TreeViewOverrides, UI Classes: Book, BookProviders, CSVImport, DuplicateBookException, ExecutionQueue, ExportFormat, ExportLibrary, GoodreadsCSVImport, ImportFilter, Library, LibraryCollection, LibrarySortOrder, LibraryStore, LibraryThingCSVImport, LogWrapper, Logger, Preferences, PseudoMarcParser, SmartLibrary, UndoManager, WWWAgent, WebTheme

Constant Summary collapse

TITLE =
"Alexandria"
TEXTDOMAIN =
"alexandria"
DESCRIPTION =
_("A program to help you manage your book collection.")
"Copyright (C) 2004-2006 Laurent Sansonetti\n" \
"Copyright (C) 2007-2010,2014,2015 Alexandria Contributors"
AUTHORS =
[
  "Alexander McCormmach <alexander@tunicate.org>",
  "Aymeric Nys <aymeric@nnx.com>",
  "Cathal Mc Ginley <cathal.alexandria@gnostai.org>",
  "Claudio Belotti <bel8@lilik.it>",
  "Constantine Evans <cevans@costinet.org>",
  "Dafydd Harries <daf@muse.19inch.net>",
  "Javier Fernandez-Sanguino Pena <jfs@debian.org>",
  "Joseph Method <tristil@gmail.com>",
  "Kevin Schultz <schultkl@ieee.org>",
  "Laurent Sansonetti <lrz@gnome.org>",
  "Marco Costantini <costanti@science.unitn.it>",
  "Mathieu Leduc-Hamel <arrak@arrak.org>",
  "Matijs van Zuijlen <matijs@matijs.net>",
  "Owain Evans <o.evans@gmail.com>",
  "Pascal Terjan <pterjan@linuxfr.org>",
  "Rene Samselnig <sandman@sdm-net.org>",
  "Robby Stephenson <robby@periapsis.org>",
  "Sun Ning <classicning@gmail.com>",
  "Takayuki Kusano <AE5T-KSN@asahi-net.or.jp>",
  "Timothy Malone <timothy.malone@gmail.com>",
  "Zachary P. Landau <kapheine@hypa.net>"
].freeze
DOCUMENTERS =
[
  "Cathal Mc Ginley <cathal.alexandria@gnostai.org>",
  "Liam Davison <registrations@liamjdavison.info>"
].freeze
TRANSLATORS =
[
  "Adrián Chaves Fernández <adriyetichaves@gmail.com> (gl)",
  "Cathal Mc Ginley <cathal.alexandria@gnostai.org> (ga)",
  "CHIKAMA Masaki <masaki.chikama@gmail.com> (ja)",
  "Dafydd Harries <daf@muse.19inch.net> (cy)",
  "Damjan Dimitrioski <damjandimitrioski@gmail.com> (mk)",
  "Giacomo Margarito <giacomomargarito@gmail.com> (it)",
  "Jack Myrseh <jack@enkom.no> (nb)",
  "Joachim Breitner <mail@joachim-breitner.de> (de)",
  "José Ling <jlgdot369@gmail.com> (zh_TW)",
  "Lennart Karssen <lennart@karssen.org> (nl)",
  "Lígia Moreira <ligia.moreira@netvisao.pt> (fr, pt, pt_BR)",
  "Martin Karlsson <martinkarlsson81@hotmail.com> (sv)",
  "Michael Kotsarinis <mkotsari1@pre.forthnet.gr> (el)",
  "Miguel Ángel García <magmax@ieee.org> (es)",
  "Peter Kováč <kovac.peter@fotopriestor.sk> (sk)",
  "Petr Vanek <vanous@penguin.cz> (cs)",
  "Piotr Drąg <piotrdrag@gmail.com> (pl)",
  "Serhij Dubyk <dubyk@library.lviv.ua> (uk)"
].freeze
ARTISTS =
[
  "Andreas Nilsson <nisses.mail@home.se>",
  "Stefanie Dijoux <stefanie.dijoux@gmail.com>"
].freeze
BUGREPORT_URL =
"http://www.github.com/mvz/alexandria-book-collection-manager/issues"
WEBSITE_URL =
"http://www.github.com/mvz/alexandria-book-collection-manager"
VERSION =
"0.7.10"
DATA_VERSION =
"0.6.3"
DISPLAY_VERSION =
VERSION
@@logger =
create_logger

Class Method Summary collapse

Class Method Details

.clear_invalid_proxyObject



24
25
26
27
28
29
# File 'lib/alexandria.rb', line 24

def self.clear_invalid_proxy
  current_proxy = ENV.fetch("http_proxy", nil)
  return if current_proxy.nil?

  ENV["http_proxy"] = nil if URI.parse(current_proxy).userinfo.nil?
end

.create_loggerObject

Creates the Logger for Alexandria



135
136
137
138
139
140
141
142
143
144
145
146
147
# File 'lib/alexandria/logging.rb', line 135

def self.create_logger
  logger = Alexandria::Logger.new($stderr)

  level = ENV["LOGLEVEL"] ? ENV["LOGLEVEL"].intern : nil
  if [:FATAL, :ERROR, :WARN, :INFO, :DEBUG].include? level
    logger.level = Logger.const_get(level)
  else
    logger.level = Logger::WARN # default level
    logger.warn(self, "Unknown LOGLEVEL '#{level}'; using WARN") if level
  end

  logger
end

.list_books_on_consoleObject



8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/alexandria/console.rb', line 8

def self.list_books_on_console
  collection = Alexandria::LibraryCollection.instance
  collection.reload
  libraries = collection.all_regular_libraries
  output_string = ""
  @books = libraries.flatten
  @books.each do |book|
    book_authors = book.authors.join(" & ")
    output_string += [book.title, book_authors].join(", ") + "\n"
  end
  output_string
end

.logObject

Returns the Logger for Alexandria



152
153
154
# File 'lib/alexandria/logging.rb', line 152

def self.log
  @@logger
end

.mainObject



36
37
38
39
40
# File 'lib/alexandria.rb', line 36

def self.main
  clear_invalid_proxy
  set_log_level
  Alexandria::UI.main
end

.set_log_levelObject



31
32
33
34
# File 'lib/alexandria.rb', line 31

def self.set_log_level
  log.level = Logger::DEBUG if $DEBUG
  log.debug { "Initializing Alexandria" }
end