elibri_onix_generator 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/elibri_onix_generator.rb +63 -31
- data/lib/elibri_onix_generator/version.rb +1 -1
- metadata +7 -5
@@ -224,9 +224,11 @@ module Elibri
|
|
224
224
|
tag(:PublishingDetail) do
|
225
225
|
export_publisher_info!(product) #P.19
|
226
226
|
export_publishing_status!(product) #PR.20
|
227
|
+
export_territorial_rights!(product)
|
227
228
|
export_sale_restrictions!(product) if product.sale_restricted? #PR.21
|
228
229
|
end
|
229
230
|
remove_tag_if_empty!(:PublishingDetail)
|
231
|
+
|
230
232
|
#P.23 - related products
|
231
233
|
if product.facsimiles.present?
|
232
234
|
export_related_products!(product)
|
@@ -329,46 +331,50 @@ module Elibri
|
|
329
331
|
comment_dictionary "Format produktu", :ProductFormCode, :indent => 10, :kind => [:onix_product_form, :onix_epub_details]
|
330
332
|
tag(:ProductForm, product.product_form_onix_code)
|
331
333
|
end
|
332
|
-
|
333
|
-
if product.product_form_detail_onix_codes.present?
|
334
|
-
comment_dictionary "Dostępne formaty produktu", :ProductFormDetail, :indent => 10, :kind => :onix_epub_details
|
335
|
-
product.product_form_detail_onix_codes.each do |onix_code|
|
336
|
-
tag(:ProductFormDetail, onix_code)
|
337
|
-
end
|
338
|
-
end
|
339
334
|
end
|
340
335
|
|
341
336
|
|
342
337
|
# @hidden_tags RecordReference NotificationType ProductIdentifier TitleDetail PublishingDetail ProductComposition
|
343
338
|
# @title Zabezpieczenia e-booków
|
344
339
|
# <strong><EpubTechnicalProtection></strong> Określa typ zabezpieczenia stosowanego przy publikacji e-booka.<br/>
|
340
|
+
#
|
345
341
|
# <strong><ProductFormDetail></strong> zawiera format w jakim rozprowadzany jest e-book.
|
346
342
|
# Aktualnie może przyjąć wartości takie jak:
|
347
343
|
# #{Elibri::ONIX::Dict::Release_3_0::ProductFormDetail::ALL.map(&:name).to_sentence(:last_word_connector => ' lub ')}
|
348
|
-
# <br/><br/>
|
349
|
-
# Jeśli e-book posiada terminowe ograniczenie sprzedaży, <strong><EpubUsageType></strong> zawiera wartość <strong>07</strong>.
|
350
|
-
# Ilość dni po których licencja wygasa znajduje się w tagu <strong><Quantity></strong> wewnątrz <strong><EpubUsageLimit></strong>
|
351
344
|
def export_epub_details!(product)
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
comment_dictionary "
|
368
|
-
|
345
|
+
if product.product_form_detail_onix_codes.present? #lista 175
|
346
|
+
comment_dictionary "Dostępne formaty produktu", :ProductFormDetail, :indent => 10, :kind => :onix_epub_details
|
347
|
+
product.product_form_detail_onix_codes.each do |onix_code|
|
348
|
+
tag(:ProductFormDetail, onix_code)
|
349
|
+
end
|
350
|
+
end
|
351
|
+
|
352
|
+
if product.digital?
|
353
|
+
if product.epub_technical_protection
|
354
|
+
comment_dictionary "Zabezpieczenie", :EpubTechnicalProtection, :indent => 10, :kind => :onix_epub_details
|
355
|
+
tag(:EpubTechnicalProtection, product.epub_technical_protection_onix_code)
|
356
|
+
end
|
357
|
+
|
358
|
+
if product.epub_fragment_info?
|
359
|
+
tag(:EpubUsageConstraint) do
|
360
|
+
comment_dictionary "Rodzaj ograniczeniai - w tym przypadku zawsze dotyczy dostępności fragmentu książki",
|
361
|
+
:EpubUsageType, :indent => 12, :kind => :onix_epub_details
|
362
|
+
tag(:EpubUsageType, Elibri::ONIX::Dict::Release_3_0::EpubUsageType::PREVIEW)
|
363
|
+
|
364
|
+
comment_dictionary "Jaka jest decyzja wydawcy?", :EpubUsageStatus, :indent => 12, :kind => :onix_epub_details
|
365
|
+
tag(:EpubUsageStatus, product.epub_publication_preview_usage_status_onix_code)
|
366
|
+
if product.epub_publication_preview_usage_status_onix_code == Elibri::ONIX::Dict::Release_3_0::EpubUsageStatus::LIMITED
|
367
|
+
tag(:EpubUsageLimit) do
|
368
|
+
if product.epub_publication_preview_unit_onix_code == Elibri::ONIX::Dict::Release_3_0::EpubUsageUnit::PERCENTAGE
|
369
|
+
tag(:Quantity, product.epub_publication_preview_percentage_limit)
|
370
|
+
elsif product.epub_publication_preview_unit_onix_code == Elibri::ONIX::Dict::Release_3_0::EpubUsageUnit::CHARACTERS
|
371
|
+
tag(:Quantity, product.epub_publication_preview_characters_limit)
|
372
|
+
end
|
373
|
+
comment_dictionary "Jednostka limitu", :EpubUsageUnit, :indent => 12, :kind => :onix_epub_details
|
374
|
+
tag(:EpubUsageUnit, product.epub_publication_preview_unit_onix_code)
|
375
|
+
end
|
376
|
+
end
|
369
377
|
end
|
370
|
-
else
|
371
|
-
tag(:EpubUsageStatus, Elibri::ONIX::Dict::Release_3_0::EpubUsageStatus::UNLIMITED)
|
372
378
|
end
|
373
379
|
end
|
374
380
|
end
|
@@ -458,6 +464,21 @@ module Elibri
|
|
458
464
|
end
|
459
465
|
end
|
460
466
|
|
467
|
+
# @hidden_tags RecordReference NotificationType ProductIdentifier DescriptiveDetail
|
468
|
+
# @title Terytorialne ograniczenia sprzedaży
|
469
|
+
def export_territorial_rights!(product)
|
470
|
+
tag(:SalesRights) do
|
471
|
+
tag(:SalesRightsType, "01") #For sale with exclusive rights in the specified country/ies
|
472
|
+
tag(:Territory) do
|
473
|
+
if product.sale_restricted_to_poland?
|
474
|
+
tag(:CountriesIncluded, "PL")
|
475
|
+
else
|
476
|
+
tag(:RegionsIncluded, "WORLD")
|
477
|
+
end
|
478
|
+
end
|
479
|
+
end
|
480
|
+
end
|
481
|
+
|
461
482
|
|
462
483
|
# @hidden_tags RecordReference NotificationType ProductIdentifier DescriptiveDetail
|
463
484
|
# @title Ograniczenia sprzedaży
|
@@ -510,10 +531,10 @@ module Elibri
|
|
510
531
|
|
511
532
|
# @hidden_tags RecordReference NotificationType ProductIdentifier DescriptiveDetail
|
512
533
|
# @title Informacje o wydawcy
|
513
|
-
# W rekordzie znajduje się oczywiście nazwa wydawnictwa. Wydawca może określić też imprint.
|
534
|
+
# W rekordzie znajduje się oczywiście nazwa wydawnictwa. Wydawca może określić też imprint oraz miasto, w którym została wydana ksiażka.
|
514
535
|
# Z imprintem mamy do czynienia wtedy, gdy książki są wydawane pod różnymi markami, pula ISBN jest jednak wspólna.
|
515
536
|
# Jeśli wydawnictwo uzupełnia nazwę imprintu, to powinna być ona traktowana jako nazwa wydawnictwa przy prezentacji
|
516
|
-
# książki klientowi końcowemu.
|
537
|
+
# książki klientowi końcowemu.
|
517
538
|
def export_publisher_info!(product)
|
518
539
|
if product.imprint
|
519
540
|
tag(:Imprint) do
|
@@ -534,6 +555,10 @@ module Elibri
|
|
534
555
|
tag(:PublisherName, product.publisher_name)
|
535
556
|
end
|
536
557
|
end
|
558
|
+
|
559
|
+
if product.city_of_publication.present?
|
560
|
+
tag(:CityOfPublication, product.city_of_publication)
|
561
|
+
end
|
537
562
|
end
|
538
563
|
|
539
564
|
|
@@ -983,6 +1008,13 @@ module Elibri
|
|
983
1008
|
tag("elibri:Vat", product.vat) if product.vat.present?
|
984
1009
|
tag("elibri:PKWiU", product.pkwiu) if product.pkwiu.present?
|
985
1010
|
tag("elibri:preview_exists", product.preview_exists?.to_s)
|
1011
|
+
if product.digital?
|
1012
|
+
if product.epub_sale_not_restricted? || product.epub_sale_restricted_to.nil?
|
1013
|
+
tag("elibri:SaleNotRestricted")
|
1014
|
+
else
|
1015
|
+
tag("elibri:SaleRestrictedTo", product.epub_sale_restricted_to.strftime("%Y%m%d"))
|
1016
|
+
end
|
1017
|
+
end
|
986
1018
|
end
|
987
1019
|
end
|
988
1020
|
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: elibri_onix_generator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 19
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 4
|
10
|
+
version: 0.1.4
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- "Marcin Urba\xC5\x84ski"
|
@@ -16,7 +16,8 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2012-
|
19
|
+
date: 2012-09-04 00:00:00 +02:00
|
20
|
+
default_executable:
|
20
21
|
dependencies:
|
21
22
|
- !ruby/object:Gem::Dependency
|
22
23
|
name: builder
|
@@ -51,6 +52,7 @@ files:
|
|
51
52
|
- lib/elibri_onix_generator.rb
|
52
53
|
- lib/elibri_onix_generator/version.rb
|
53
54
|
- lib/xml_tags.yml
|
55
|
+
has_rdoc: true
|
54
56
|
homepage: ""
|
55
57
|
licenses: []
|
56
58
|
|
@@ -80,7 +82,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
80
82
|
requirements: []
|
81
83
|
|
82
84
|
rubyforge_project: elibri_onix_generator
|
83
|
-
rubygems_version: 1.
|
85
|
+
rubygems_version: 1.5.2
|
84
86
|
signing_key:
|
85
87
|
specification_version: 3
|
86
88
|
summary: XML Generator used by Elibri gems
|