Class: Alexandria::BookProviders::SBNProvider
- Inherits:
-
Z3950Provider
- Object
- AbstractProvider
- Z3950Provider
- Alexandria::BookProviders::SBNProvider
- Includes:
- GetText
- Defined in:
- lib/alexandria/book_providers/sbn_provider.rb
Instance Attribute Summary
Attributes inherited from AbstractProvider
Instance Method Summary collapse
-
#initialize ⇒ SBNProvider
constructor
A new instance of SBNProvider.
- #url(book) ⇒ Object
Methods inherited from Z3950Provider
#books_from_resultset, #search
Methods included from Logging
Methods inherited from AbstractProvider
#<=>, #abstract?, abstract?, #action_name, #enabled, #reinitialize, #remove, #toggle_enabled, #transport, unabstract, #variable_name
Constructor Details
#initialize ⇒ SBNProvider
Returns a new instance of SBNProvider.
19 20 21 22 23 24 25 26 27 28 |
# File 'lib/alexandria/book_providers/sbn_provider.rb', line 19 def initialize super("SBN", "Servizio Bibliotecario Nazionale (Italy)") prefs.variable_named("hostname").default_value = "opac.sbn.it" prefs.variable_named("port").default_value = 3950 prefs.variable_named("database").default_value = "nopac" # supported 'USMARC', 'UNIMARC' , 'SUTRS' prefs.variable_named("record_syntax").default_value = "USMARC" prefs.variable_named("charset").default_value = "ISO-8859-1" prefs.read end |
Instance Method Details
#url(book) ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/alexandria/book_providers/sbn_provider.rb', line 30 def url(book) "http://sbnonline.sbn.it/cgi-bin/zgw/BRIEF.pl?displayquery=" \ "%253CB%253E%253Cfont%2520color%253D%2523000064%253E" \ "Codice%2520ISBN%253C%2FB%253E%253C%2Ffont%253E%2520" \ "contiene%2520%2522%2520%253CFONT%2520COLOR%253Dred%253E" + canonicalise_isbn_with_dashes(book.isbn) + "%253C%2FFONT%253E%2522&session=&zurl=opac" \ "&zquery=%281%3D7+4%3D2+2%3D3+5%3D100+6%3D1+3%3D3+%22" + canonicalise_isbn_with_dashes(book.isbn) + "%22%29&language=it&maxentries=10&target=0&position=1" rescue StandardError => ex log.warn { "Cannot create url for book #{book}; #{ex.}" } nil end |