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/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/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/book_providers/z3950.rb,
lib/alexandria/ui/barcode_animation.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/book_providers/proxis.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/adlibris.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/book_providers/siciliano.rb,
lib/alexandria/book_providers/amazon_aws.rb,
lib/alexandria/book_providers/pseudomarc.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/ui/new_smart_library_dialog.rb,
lib/alexandria/book_providers/amazon_ecs_util.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/book_providers/barnes_and_noble.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/completion_models.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: Amazon, ComboBoxOverrides, Config, EntryOverrides, EventOverrides, 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 <[email protected]>",
  "Aymeric Nys <[email protected]>",
  "Cathal Mc Ginley <[email protected]>",
  "Claudio Belotti <[email protected]>",
  "Constantine Evans <[email protected]>",
  "Dafydd Harries <[email protected]>",
  "Javier Fernandez-Sanguino Pena <[email protected]>",
  "Joseph Method <[email protected]>",
  "Kevin Schultz <[email protected]>",
  "Laurent Sansonetti <[email protected]>",
  "Marco Costantini <[email protected]>",
  "Mathieu Leduc-Hamel <[email protected]>",
  "Matijs van Zuijlen <[email protected]>",
  "Owain Evans <[email protected]>",
  "Pascal Terjan <[email protected]>",
  "Rene Samselnig <[email protected]>",
  "Robby Stephenson <[email protected]>",
  "Sun Ning <[email protected]>",
  "Takayuki Kusano <[email protected]>",
  "Timothy Malone <[email protected]>",
  "Zachary P. Landau <[email protected]>"
].freeze
DOCUMENTERS =
[
  "Cathal Mc Ginley <[email protected]>",
  "Liam Davison <[email protected]>"
].freeze
TRANSLATORS =
[
  "Adrián Chaves Fernández <[email protected]> (gl)",
  "Cathal Mc Ginley <[email protected]> (ga)",
  "CHIKAMA Masaki <[email protected]> (ja)",
  "Dafydd Harries <[email protected]> (cy)",
  "Damjan Dimitrioski <[email protected]> (mk)",
  "Giacomo Margarito <[email protected]> (it)",
  "Jack Myrseh <[email protected]> (nb)",
  "Joachim Breitner <[email protected]> (de)",
  "José Ling <[email protected]> (zh_TW)",
  "Lennart Karssen <[email protected]> (nl)",
  "Lígia Moreira <[email protected]> (fr, pt, pt_BR)",
  "Martin Karlsson <[email protected]> (sv)",
  "Michael Kotsarinis <[email protected]> (el)",
  "Miguel Ángel García <[email protected]> (es)",
  "Peter Kováč <[email protected]> (sk)",
  "Petr Vanek <[email protected]> (cs)",
  "Piotr Drąg <[email protected]> (pl)",
  "Serhij Dubyk <[email protected]> (uk)"
].freeze
ARTISTS =
[
  "Andreas Nilsson <[email protected]>",
  "Stefanie Dijoux <[email protected]>"
].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.8"
DATA_VERSION =
"0.6.3"
DISPLAY_VERSION =
VERSION
@@logger =
create_logger

Class Method Summary collapse

Class Method Details

.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_console(_title = true, authors = true) ⇒ Object



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(_title = true, authors = true)
  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(" & ") if authors
    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



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

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

.set_log_levelObject



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

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

.set_proxyObject



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

def self.set_proxy
  if !ENV["http_proxy"].nil? && URI.parse(ENV["http_proxy"]).userinfo.nil?
    ENV["http_proxy"] = nil
  end
end