elibri_onix 0.5.15 → 0.5.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a7367d6b1d07cbd4a161bbd6a7ae0760466d4b6b3ace59975e06f026573e5944
4
- data.tar.gz: 22f863fc8e21306ed1dbf320fa7efa3c20f18f55932cae3795e9c32d60c98f36
3
+ metadata.gz: d06b0bd4bdbb02d2ff2383d0bbda53df5053c5cb72cb05239751be6333a35d12
4
+ data.tar.gz: 6e8e96e0555ff9b9121159342dcdbf38f75fc6d62d468ab16ddbfabe10b9ecff
5
5
  SHA512:
6
- metadata.gz: 907a89cfdf1d7431eeafc4b98fb27f8eacf7145cd2c396351f53eddac38e3aa253fae78a097a7a3d2103581b864b25fd43437abe0e3d21c101ea492cf1c2017c
7
- data.tar.gz: fc336cb061e06884535668ef61869a5c4f7b06eb327c8bddf2f49af9a54b603cf1cdd41b67330197193f92e4029a7996892000f92a70b16d7570ee7292c2b0c2
6
+ metadata.gz: cbfebade21b11fc42a93b821617eca9a435b14a3dc1a032597c4296a588b2813ef025ac1e5f39738083052ed93041be5378c4acda4490cde209cc8f02f5e6b97
7
+ data.tar.gz: ec612758dbcaa6d29f24c782978de4a91a33fb899081a0e766bae7c3ab4d3e49426a68d4609361386773281bebce2d2d5535fb3678a3cf2877d12402e93cae3e
@@ -5,32 +5,59 @@ module Elibri
5
5
  module Release_3_0
6
6
 
7
7
  class FileInfo
8
-
8
+
9
9
  #Informacja o fragmencie publikacji (e-book)
10
-
10
+
11
11
  ATTRIBUTES = [
12
12
  :file_type, :file_size, :md5, :updated_at
13
13
  ]
14
-
14
+
15
15
  RELATIONS = [
16
16
  :inspect_include_fields
17
17
  ]
18
-
18
+
19
19
  attr_accessor :file_type, :file_size, :md5, :updated_at, :eid, :to_xml
20
-
20
+
21
21
  def initialize(data)
22
22
  @to_xml = data.to_s
23
- @file_type = data.attributes['file_type'].value
24
- @file_size = data.attributes['file_size'].value.to_i
25
- @md5 = data.attributes['md5'].value
26
- @updated_at = Time.parse(data.attributes['updated_at'].value)
27
- @eid = data.attributes['id'].value.to_i
23
+
24
+ data.css("ResourceFileDate").each do |date|
25
+ if date.css("ResourceFileDateRole").first.inner_text == Elibri::ONIX::Dict::Release_3_0::ContentDateRole::LAST_UPDATED
26
+ @updated_at = Time.parse(date.css("Date").first.inner_text)
27
+ end
28
+ end
29
+
30
+ data.css("ResourceFileFeature").each do |feat|
31
+ ftype = feat.css("ResourceFileFeatureType").first.inner_text
32
+ fvalue = feat.css("ResourceFileFeatureValue").first.inner_text
33
+
34
+ if ftype == Elibri::ONIX::Dict::Release_3_0::ResourceFileFeatureType::EXACT_FILE_SIZE
35
+ @file_size = fvalue.to_i
36
+ elsif ftype == Elibri::ONIX::Dict::Release_3_0::ResourceFileFeatureType::MD5
37
+ @md5 = fvalue
38
+ end
39
+ end
40
+
41
+ fname = data.css("ResourceFileLink").first&.inner_text
42
+ if fname
43
+ if File.extname(fname) == ".zip"
44
+ @file_type = "mp3_in_zip"
45
+ else
46
+ @file_type = File.extname(fname)[1..-1]
47
+ end
48
+ end
49
+
50
+ data.css("ResourceIdentifier").each do |ident|
51
+ if ident.css("ResourceIDType").first&.inner_text == Elibri::ONIX::Dict::Release_3_0::ResourceIDType::PROPRIETARY
52
+ @eid = ident.css("IDValue").first&.inner_text&.to_i
53
+ end
54
+ end
28
55
  end
29
56
 
30
57
  def inspect_include_fields
31
58
  [:file_type]
32
59
  end
33
-
60
+
34
61
  end
35
62
 
36
63
  end
@@ -207,6 +207,13 @@ module Elibri
207
207
  #max. czas gry - gry planszowe
208
208
  attr_reader :playing_time_to
209
209
 
210
+ #cn code
211
+ attr_reader :cn_code
212
+
213
+ #kraj produkcji
214
+ attr_reader :country_of_manufacture
215
+
216
+
210
217
  #:nodoc:
211
218
  attr_reader :text_contents
212
219
  attr_reader :file_size
@@ -288,7 +295,8 @@ module Elibri
288
295
  @cover_price = BigDecimal(data.at_xpath('elibri:CoverPrice').try(:text)) if data.at_xpath('elibri:CoverPrice')
289
296
  @vat = data.at_xpath('elibri:Vat').try(:text).try(:to_i)
290
297
  else
291
- price_sd = @supply_details.find { |sd| sd.supplier && sd.supplier.role == Elibri::ONIX::Dict::Release_3_0::SupplierRole::PUB_TO_RET }
298
+ #00 - Supplier role - Unspecified
299
+ price_sd = @supply_details.find { |sd| sd.supplier && ["00", Elibri::ONIX::Dict::Release_3_0::SupplierRole::PUB_TO_RET].include?(sd.supplier.role) }
292
300
  if price_sd && price_sd.price && price_sd.price && price_sd.price.type == Elibri::ONIX::Dict::Release_3_0::PriceTypeCode::RRP_WITH_TAX
293
301
  @vat = price_sd.price.tax_rate_percent.to_i
294
302
  @cover_price = price_sd.price.amount
@@ -318,11 +326,7 @@ module Elibri
318
326
  end
319
327
 
320
328
  end
321
- begin
322
- @file_infos = data.at_xpath("elibri:masters").xpath("elibri:master").map { |node| FileInfo.new(node) }
323
- rescue
324
- @file_infos = []
325
- end
329
+ @file_infos = data.css("BodyResource").map { |node| FileInfo.new(node) }
326
330
  after_parse
327
331
  end
328
332
 
@@ -367,6 +371,8 @@ module Elibri
367
371
  end
368
372
 
369
373
  def descriptive_details_setup(data)
374
+ @country_of_manufacture = data.at_css("CountryOfManufacture").try(:text)
375
+
370
376
  @product_composition = data.at_css('ProductComposition').try(:text)
371
377
  @product_form = data.at_css('ProductForm').try(:text)
372
378
  if @product_form
@@ -387,9 +393,14 @@ module Elibri
387
393
  end
388
394
 
389
395
  end
390
- if classification = data.css('ProductClassification').find { |cl|
391
- cl.at_css('ProductClassificationType').text == Elibri::ONIX::Dict::Release_3_0::ProductClassificationType::PKWIU }
392
- @pkwiu = classification.at_css('ProductClassificationCode').text
396
+ data.css('ProductClassification').each do |cl|
397
+ cl_type = cl.at_css('ProductClassificationType').text
398
+ cl_value = cl.at_css('ProductClassificationCode').text
399
+ if cl_type == Elibri::ONIX::Dict::Release_3_0::ProductClassificationType::PKWIU
400
+ @pkwiu = cl_value
401
+ elsif cl_type == Elibri::ONIX::Dict::Release_3_0::ProductClassificationType::CN
402
+ @cn_code = cl_value
403
+ end
393
404
  end
394
405
  @measures = data.css('Measure').map { |measure_data| Measure.new(measure_data) }
395
406
  @title_details = data.children.find_all { |node| node.name == 'TitleDetail' }.map { |title_data| TitleDetail.new(title_data) }
@@ -2,7 +2,7 @@ module Elibri
2
2
  module ONIX
3
3
  z = $VERBOSE
4
4
  $VERBOSE = nil
5
- VERSION = "0.5.15"
5
+ VERSION = "0.5.17"
6
6
  Version = VERSION
7
7
  $VERBOSE = z
8
8
  end
@@ -12,7 +12,7 @@ describe Elibri::ONIX::Release_3_0::ONIXMessage do
12
12
  assert_equal "4b145ff46636b06f49225abdab70927f", e.md5
13
13
  assert_equal "epub_excerpt", e.file_type
14
14
  assert_equal Time.parse("2012-12-30 15:18 +00:00"), e.updated_at
15
- assert_equal "https://www.elibri.com.pl/excerpt/767", e.link
15
+ assert_equal "https://www.elibri.com.pl/excerpt/767/4b145ff46636b06f49225abdab70927f/fragment.epub", e.link
16
16
  assert_equal 767, e.eid
17
17
 
18
18
  assert_equal 2, product.file_infos.size
@@ -21,7 +21,6 @@ describe Elibri::ONIX::Release_3_0::ONIXMessage do
21
21
  assert_equal 5, product.vat
22
22
  assert_equal "PROMO 20", product.additional_trade_information
23
23
  assert_equal "58.11.1", product.pkwiu
24
- assert_equal "twarda z obwolutą", product.cover_type
25
24
  end
26
25
 
27
26
  end
@@ -6,38 +6,36 @@ describe Elibri::ONIX::Release_3_0::ONIXMessage do
6
6
 
7
7
  it "should be able to parse all attributes supported in Elibri" do
8
8
  xml_string = File.read File.join(File.dirname(__FILE__), "..", "test", "fixtures", "all_possible_tags.xml")
9
-
9
+
10
10
  onix = Elibri::ONIX::Release_3_0::ONIXMessage.new(xml_string)
11
11
  assert_equal '3.0', onix.release
12
12
  assert_equal 'Elibri.com.pl', onix.header.sender.sender_name
13
- assert_equal 'Tomasz Meka', onix.header.sender.contact_name
14
- assert_equal 'kontakt@elibri.com.pl', onix.header.sender.email_address
15
13
  assert_equal Date.new(2011, 10, 5), onix.header.sent_date_time
16
14
 
17
- assert_equal 1, onix.products.size
15
+ assert_equal 1, onix.products.size
18
16
 
19
17
  product = onix.products.first
20
18
 
21
- assert_equal 'miękka', product.cover_type
19
+ assert_equal 'miękka', product.cover_type
22
20
  assert_equal 12.99, product.cover_price
23
21
  assert_equal 5, product.vat
24
22
  assert_equal '58.11.1', product.pkwiu
25
23
 
26
24
  assert_equal 'fdb8fa072be774d97a97', product.record_reference
27
25
  assert_equal '03', product.notification_type
28
- assert_equal "Record had many errors", product.deletion_text
26
+ assert_equal "Record had many errors", product.deletion_text
29
27
 
30
28
  assert_equal '9788324799992', product.isbn13
31
29
  assert_equal '9788324788882', product.ean
32
30
 
33
31
  assert_equal({"Gildia.pl" => "GILD-123", "PWN" => "pl.pwn.ksiegarnia.produkt.id.76734"}, product.proprietary_identifiers)
34
32
 
35
- assert_equal "00", product.product_composition
33
+ assert_equal "00", product.product_composition
36
34
  assert_equal 'BA', product.product_form
37
35
 
38
- assert_equal 4, product.measures.size
36
+ assert_equal 4, product.measures.size
39
37
 
40
- assert_equal 195, product.height
38
+ assert_equal 195, product.height
41
39
  assert_equal 125, product.width
42
40
  assert_equal 20, product.thickness
43
41
  assert_equal 90, product.weight
@@ -49,10 +47,10 @@ describe Elibri::ONIX::Release_3_0::ONIXMessage do
49
47
  assert_equal 'Trade title', product.trade_title
50
48
  assert_equal 'Collection title (Vol. 1). Title. Subtitle (part 5)', product.full_title
51
49
 
52
- assert_equal 1, product.contributors.size
50
+ assert_equal 1, product.contributors.size
53
51
  product.contributors.first.tap do |sienkiewicz|
54
- assert_equal 'B06', sienkiewicz.role
55
- assert_equal 'pol', sienkiewicz.from_language
52
+ assert_equal 'B06', sienkiewicz.role
53
+ assert_equal 'pol', sienkiewicz.from_language
56
54
  assert_equal "prof. Henryk von Sienkiewicz Ibrahim", sienkiewicz.person_name
57
55
  assert_equal "prof.", sienkiewicz.titles_before_names
58
56
  assert_equal "Henryk", sienkiewicz.names_before_key
@@ -71,7 +69,7 @@ describe Elibri::ONIX::Release_3_0::ONIXMessage do
71
69
  assert_equal 250, product.number_of_pages
72
70
  assert_equal 32, product.number_of_illustrations
73
71
 
74
- assert_equal 7, product.reading_age_from
72
+ assert_equal 7, product.reading_age_from
75
73
  assert_equal 25, product.reading_age_to
76
74
 
77
75
  assert_equal 1, product.text_contents.size
@@ -91,7 +89,7 @@ describe Elibri::ONIX::Release_3_0::ONIXMessage do
91
89
 
92
90
  assert_equal 'National Geographic', product.imprint_name
93
91
 
94
- assert_equal 'GREG', product.publisher.name
92
+ assert_equal 'GREG', product.publisher.name
95
93
  assert_equal "01", product.publisher.role
96
94
 
97
95
  assert_equal "04", product.publishing_status
@@ -109,24 +107,24 @@ describe Elibri::ONIX::Release_3_0::ONIXMessage do
109
107
  assert_equal 2, product.related_products.size
110
108
 
111
109
  product.related_products.first.tap do |first_related|
112
- #assert_equal 24, first_related.relation_code
110
+ #assert_equal 24, first_related.relation_code
113
111
  #assert_equal '9788324705818', first_related.isbn13
114
112
  #assert_equal({"Gildia.pl" => "Title of facsimile"}, first_related.proprietary_identifiers)
115
113
  end
116
114
 
117
115
  product.related_products[1].tap do |second_related|
118
- #assert_equal 23, second_related.relation_code
116
+ #assert_equal 23, second_related.relation_code
119
117
  #assert_equal '9788324799992', second_related.isbn13
120
118
  #assert_equal({"PWN" => "Title of similar book"}, second_related.proprietary_identifiers)
121
119
  end
122
120
 
123
- assert_equal 2, product.supply_details.size
121
+ assert_equal 2, product.supply_details.size
124
122
 
125
123
  product.supply_details.first.tap do |supply_detail|
126
124
  supply_detail.supplier.tap do |supplier|
127
125
  assert_equal "03", supplier.role
128
126
  assert_equal '5213359408', supplier.nip
129
- assert_equal 'Gildia.pl', supplier.name
127
+ assert_equal 'Gildia.pl', supplier.name
130
128
  assert_equal "22 631 40 83", supplier.telephone_number
131
129
  assert_equal "bok@gildia.pl", supplier.email_address
132
130
  assert_equal "http://gildia.pl", supplier.website
@@ -140,7 +138,7 @@ describe Elibri::ONIX::Release_3_0::ONIXMessage do
140
138
  assert_equal "02", price.type
141
139
  assert_equal 20, price.minimum_order_quantity
142
140
  assert_equal 12.99, price.amount
143
- assert_equal 7, price.vat
141
+ assert_equal 7, price.vat
144
142
  assert_equal 'PLN', price.currency_code
145
143
  assert_equal "02", price.printed_on_product
146
144
  assert price.printed_on_product?
@@ -0,0 +1,12 @@
1
+ require 'helper'
2
+
3
+ describe Elibri::ONIX::Release_3_0::ONIXMessage do
4
+
5
+ it "should be able to parse production country and cn info" do
6
+ product = load_fixture("onix_cn_production_country_example.xml")
7
+
8
+ assert_equal "4901", product.cn_code
9
+ assert_equal "DE", product.country_of_manufacture
10
+ end
11
+
12
+ end
@@ -269,8 +269,7 @@
269
269
  00 - RRRRMMDD
270
270
  01 - RRRRMM
271
271
  05 - RRRR -->
272
- <DateFormat>05</DateFormat>
273
- <Date>2011</Date>
272
+ <Date dateformat="05">2011</Date>
274
273
  </PublishingDate>
275
274
  <SalesRestriction>
276
275
  <!-- Typ restrykcji - zawsze 04 -->
@@ -56,8 +56,7 @@
56
56
  <PublishingStatus>02</PublishingStatus>
57
57
  <PublishingDate>
58
58
  <PublishingDateRole>01</PublishingDateRole>
59
- <DateFormat>05</DateFormat>
60
- <Date>2011</Date>
59
+ <Date dateformat="05">2011</Date>
61
60
  </PublishingDate>
62
61
  <SalesRights>
63
62
  <SalesRightsType>01</SalesRightsType>
@@ -58,7 +58,7 @@
58
58
  <KeyNames>Keyes</KeyNames>
59
59
  <BiographicalNote>&lt;p&gt;
60
60
  Daniel Keyes (1927-2014) – amerykański pisarz. Jego opowiadanie &lt;em&gt;Kwiaty dla Algernona&lt;/em&gt; otrzymało nagrodę Hugo w 1960 roku. Rozwinięte do formy powieści pod tym samym tytułem doczekało się z kolei nagrody Nebula w roku 1966, a dwa lata później zostało zekranizowane jako &lt;em&gt;Charly&lt;/em&gt;. Keyes opublikował także m.in. obsypaną nagrodami książkę non-fiction &lt;em&gt;Człowiek o 24 twarzach.&lt;/em&gt;&lt;/p&gt;
61
-
61
+
62
62
  </BiographicalNote>
63
63
  </Contributor>
64
64
  <Contributor sourcename="contributorid:221077" datestamp="20190614T0946">
@@ -194,12 +194,11 @@
194
194
  <PublishingStatus>04</PublishingStatus>
195
195
  <PublishingDate>
196
196
  <!--PublishingDateRole: PUBLICATION_DATE--><PublishingDateRole>01</PublishingDateRole>
197
- <!--DateFormat: YYYYMMDD--><DateFormat>00</DateFormat>
197
+ <!--DateFormat: YYYYMMDD-->
198
198
  <Date dateformat="00">20190724</Date>
199
199
  </PublishingDate>
200
200
  <PublishingDate>
201
201
  <PublishingDateRole>13</PublishingDateRole>
202
- <DateFormat>00</DateFormat>
203
202
  <Date dateformat="00">20250307</Date>
204
203
  </PublishingDate>
205
204
  <SalesRights>
@@ -116,12 +116,12 @@
116
116
  <!--PublishingStatusCode: ACTIVE--><PublishingStatus>04</PublishingStatus>
117
117
  <PublishingDate>
118
118
  <!--PublishingDateRole: PUBLICATION_DATE--><PublishingDateRole>01</PublishingDateRole>
119
- <!--DateFormat: YYYYMMDD--><DateFormat>00</DateFormat>
119
+ <!--DateFormat: YYYYMMDD-->
120
120
  <Date dateformat="00">20180919</Date>
121
121
  </PublishingDate>
122
122
  <PublishingDate>
123
123
  <!--PublishingDateRole: PREORDER_EMBARGO_DATE--><PublishingDateRole>27</PublishingDateRole>
124
- <!--DateFormat: YYYYMMDD--><DateFormat>00</DateFormat>
124
+ <!--DateFormat: YYYYMMDD-->
125
125
  <Date dateformat="00">20180905</Date>
126
126
  </PublishingDate>
127
127
  <SalesRights>
@@ -0,0 +1,49 @@
1
+ <?xml version="1.0"?>
2
+ <ONIXMessage release="3.0" xmlns="http://ns.editeur.org/onix/3.0/reference">
3
+ <Header>
4
+ <Sender>
5
+ <SenderName>Elibri.com.pl</SenderName>
6
+ </Sender>
7
+ <SentDateTime>20210713</SentDateTime>
8
+ </Header>
9
+ <Product>
10
+ <RecordReference>xxx</RecordReference>
11
+ <NotificationType>03</NotificationType>
12
+ <RecordSourceName>elibri</RecordSourceName>
13
+ <ProductIdentifier>
14
+ <ProductIDType>15</ProductIDType>
15
+ <IDValue>9788364057434</IDValue>
16
+ </ProductIdentifier>
17
+ <DescriptiveDetail>
18
+ <ProductComposition>00</ProductComposition>
19
+ <ProductForm>BA</ProductForm>
20
+ <CountryOfManufacture>DE</CountryOfManufacture>
21
+ <ProductClassification>
22
+ <ProductClassificationType>01</ProductClassificationType>
23
+ <ProductClassificationCode>4901</ProductClassificationCode>
24
+ </ProductClassification>
25
+ <TitleDetail>
26
+ <TitleType>01</TitleType>
27
+ <TitleElement>
28
+ <TitleElementLevel>01</TitleElementLevel>
29
+ <TitleText language="pol">Horror show</TitleText>
30
+ </TitleElement>
31
+ </TitleDetail>
32
+ <Contributor>
33
+ <ContributorRole>A01</ContributorRole>
34
+ <UnnamedPersons>04</UnnamedPersons>
35
+ </Contributor>
36
+ </DescriptiveDetail>
37
+ <PublishingDetail>
38
+ <Publisher>
39
+ <PublishingRole>01</PublishingRole>
40
+ <PublisherName>Helion</PublisherName>
41
+ </Publisher>
42
+ <PublishingStatus>07</PublishingStatus>
43
+ <PublishingDate>
44
+ <PublishingDateRole>01</PublishingDateRole>
45
+ <Date dateformat="05">2014</Date>
46
+ </PublishingDate>
47
+ </PublishingDetail>
48
+ </Product>
49
+ </ONIXMessage>
@@ -1,20 +1,18 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <ONIXMessage release="3.0" xmlns="http://ns.editeur.org/onix/3.0/reference" xmlns:elibri="http://elibri.com.pl/ns/extensions">
3
- <elibri:Dialect>3.0.1</elibri:Dialect>
2
+ <ONIXMessage release="3.0" xmlns="http://ns.editeur.org/onix/3.0/reference">
4
3
  <Header>
5
4
  <Sender>
6
5
  <SenderName>Elibri.com.pl</SenderName>
7
- <ContactName>Tomasz Meka</ContactName>
8
- <EmailAddress>kontakt@elibri.com.pl</EmailAddress>
9
6
  </Sender>
10
- <SentDateTime>20130710</SentDateTime>
7
+ <SentDateTime>20210716</SentDateTime>
11
8
  </Header>
12
9
  <Product>
13
- <RecordReference>fdb8fa072be774d97a97</RecordReference>
10
+ <RecordReference>xxx</RecordReference>
14
11
  <NotificationType>03</NotificationType>
12
+ <RecordSourceName>elibri</RecordSourceName>
15
13
  <ProductIdentifier>
16
14
  <ProductIDType>15</ProductIDType>
17
- <IDValue>9788324799992</IDValue>
15
+ <IDValue>9788364057434</IDValue>
18
16
  </ProductIdentifier>
19
17
  <DescriptiveDetail>
20
18
  <ProductComposition>00</ProductComposition>
@@ -23,86 +21,119 @@
23
21
  <TitleType>01</TitleType>
24
22
  <TitleElement>
25
23
  <TitleElementLevel>01</TitleElementLevel>
26
- <TitleText>Nielegalni</TitleText>
24
+ <TitleText language="pol">Horror show</TitleText>
27
25
  </TitleElement>
28
26
  </TitleDetail>
27
+ <Contributor>
28
+ <ContributorRole>A01</ContributorRole>
29
+ <UnnamedPersons>04</UnnamedPersons>
30
+ </Contributor>
29
31
  </DescriptiveDetail>
32
+ <CollateralDetail>
33
+ <SupportingResource>
34
+ <ResourceContentType>15</ResourceContentType>
35
+ <ContentAudience>00</ContentAudience>
36
+ <ResourceMode>04</ResourceMode>
37
+ <ResourceVersion>
38
+ <ResourceForm>02</ResourceForm>
39
+ <ResourceVersionFeature>
40
+ <ResourceVersionFeatureType>01</ResourceVersionFeatureType>
41
+ <FeatureValue>E101</FeatureValue>
42
+ </ResourceVersionFeature>
43
+ <ResourceVersionFeature>
44
+ <ResourceVersionFeatureType>06</ResourceVersionFeatureType>
45
+ <FeatureValue>4b145ff46636b06f49225abdab70927f</FeatureValue>
46
+ </ResourceVersionFeature>
47
+ <ResourceVersionFeature>
48
+ <ResourceVersionFeatureType>07</ResourceVersionFeatureType>
49
+ <FeatureValue>2100230</FeatureValue>
50
+ </ResourceVersionFeature>
51
+ <ResourceLink>https://www.elibri.com.pl/excerpt/767/4b145ff46636b06f49225abdab70927f/fragment.epub</ResourceLink>
52
+ <ContentDate>
53
+ <ContentDateRole>17</ContentDateRole>
54
+ <Date dateformat="13">20121230T1518Z</Date>
55
+ </ContentDate>
56
+ </ResourceVersion>
57
+ <ResourceVersion>
58
+ <ResourceForm>02</ResourceForm>
59
+ <ResourceVersionFeature>
60
+ <ResourceVersionFeatureType>01</ResourceVersionFeatureType>
61
+ <FeatureValue>E127</FeatureValue>
62
+ </ResourceVersionFeature>
63
+ <ResourceVersionFeature>
64
+ <ResourceVersionFeatureType>06</ResourceVersionFeatureType>
65
+ <FeatureValue>3b452923564374efebc5bfe1059f5fd2</FeatureValue>
66
+ </ResourceVersionFeature>
67
+ <ResourceVersionFeature>
68
+ <ResourceVersionFeatureType>07</ResourceVersionFeatureType>
69
+ <FeatureValue>2100244</FeatureValue>
70
+ </ResourceVersionFeature>
71
+ <ResourceLink>https://www.elibri.com.pl/excerpt/768/3b452923564374efebc5bfe1059f5fd2/fragment.mobi</ResourceLink>
72
+ <ContentDate>
73
+ <ContentDateRole>17</ContentDateRole>
74
+ <Date dateformat="13">20121230T1518Z</Date>
75
+ </ContentDate>
76
+ </ResourceVersion>
77
+ </SupportingResource>
78
+ </CollateralDetail>
30
79
  <PublishingDetail>
31
80
  <Publisher>
32
81
  <PublishingRole>01</PublishingRole>
33
- <PublisherIdentifier>
34
- <PublisherIDType>01</PublisherIDType>
35
- <IDTypeName>ElibriPublisherCode</IDTypeName>
36
- <IDValue>11</IDValue>
37
- </PublisherIdentifier>
38
- <PublisherName>GREG</PublisherName>
82
+ <PublisherName>Helion</PublisherName>
39
83
  </Publisher>
40
- <CityOfPublication>Warszawa</CityOfPublication>
41
- <PublishingStatus>04</PublishingStatus>
42
- <SalesRights>
43
- <SalesRightsType>01</SalesRightsType>
44
- <Territory>
45
- <RegionsIncluded>WORLD</RegionsIncluded>
46
- </Territory>
47
- </SalesRights>
84
+ <PublishingStatus>07</PublishingStatus>
85
+ <PublishingDate>
86
+ <PublishingDateRole>01</PublishingDateRole>
87
+ <Date dateformat="05">2014</Date>
88
+ </PublishingDate>
48
89
  </PublishingDetail>
49
- <elibri:preview_exists>false</elibri:preview_exists>
50
- <elibri:SaleNotRestricted/>
51
- <elibri:excerpts>
52
- <elibri:excerpt md5="4b145ff46636b06f49225abdab70927f" file_size="2100230" file_type="epub_excerpt" updated_at="2012-12-30T15:18:00+00:00" id="767">https://www.elibri.com.pl/excerpt/767</elibri:excerpt>
53
- <elibri:excerpt md5="6f534ab6ab573845bb7ab221192aa86a" file_size="2101254" file_type="mobi_excerpt" updated_at="2012-12-30T15:16:00+00:00" id="768">https://www.elibri.com.pl/excerpt/768</elibri:excerpt>
54
- </elibri:excerpts>
55
- <elibri:masters>
56
- <elibri:master id="765" md5="e9353ce40eaa677f8c5d666c2f8bbb3f" file_size="4197382" file_type="epub" updated_at="2012-12-30T15:18:00+00:00"/>
57
- <elibri:master id="766" md5="d2c75a26973a1888f241125717b166cf" file_size="5246982" file_type="mobi" updated_at="2012-12-30T15:16:00+00:00"/>
58
- </elibri:masters>
59
- </Product>
60
- <Product>
61
- <RecordReference>fdb8fa072be774d97a98</RecordReference>
62
- <NotificationType>03</NotificationType>
63
- <ProductIdentifier>
64
- <ProductIDType>15</ProductIDType>
65
- <IDValue>9788324799993</IDValue>
66
- </ProductIdentifier>
67
- <DescriptiveDetail>
68
- <ProductComposition>00</ProductComposition>
69
- <ProductForm>EA</ProductForm>
70
- <TitleDetail>
71
- <TitleType>01</TitleType>
72
- <TitleElement>
73
- <TitleElementLevel>01</TitleElementLevel>
74
- <TitleText>Legalni</TitleText>
75
- </TitleElement>
76
- </TitleDetail>
77
- </DescriptiveDetail>
78
- <PublishingDetail>
79
- <Publisher>
80
- <PublishingRole>01</PublishingRole>
81
- <PublisherIdentifier>
82
- <PublisherIDType>01</PublisherIDType>
83
- <IDTypeName>ElibriPublisherCode</IDTypeName>
84
- <IDValue>11</IDValue>
85
- </PublisherIdentifier>
86
- <PublisherName>GREG</PublisherName>
87
- </Publisher>
88
- <CityOfPublication>Warszawa</CityOfPublication>
89
- <PublishingStatus>04</PublishingStatus>
90
- <SalesRights>
91
- <SalesRightsType>01</SalesRightsType>
92
- <Territory>
93
- <RegionsIncluded>WORLD</RegionsIncluded>
94
- </Territory>
95
- </SalesRights>
96
- </PublishingDetail>
97
- <elibri:preview_exists>false</elibri:preview_exists>
98
- <elibri:SaleNotRestricted/>
99
- <elibri:excerpts>
100
- <elibri:excerpt md5="4b145ff46636b06f49225abdab70927f" file_size="2100230" file_type="epub_excerpt" updated_at="2012-12-30T15:18:00+00:00" id="777">https://www.elibri.com.pl/excerpt/767</elibri:excerpt>
101
- <elibri:excerpt md5="6f534ab6ab573845bb7ab221192aa86a" file_size="2101254" file_type="mobi_excerpt" updated_at="2012-12-30T15:16:00+00:00" id="778">https://www.elibri.com.pl/excerpt/768</elibri:excerpt>
102
- </elibri:excerpts>
103
- <elibri:masters>
104
- <elibri:master id="775" md5="e9353ce40eaa677f8c5d666c2f8bbb3f" file_size="4197382" file_type="epub" updated_at="2012-12-30T15:18:00+00:00"/>
105
- <elibri:master id="776" md5="d2c75a26973a1888f241125717b166cf" file_size="5246982" file_type="mobi" updated_at="2012-12-30T15:16:00+00:00"/>
106
- </elibri:masters>
90
+ <ProductionDetail>
91
+ <ProductionManifest>
92
+ <BodyManifest>
93
+ <BodyResource>
94
+ <SequenceNumber>1</SequenceNumber>
95
+ <ResourceIdentifier>
96
+ <ResourceIDType>01</ResourceIDType>
97
+ <IDTypeName>elibri internal numerical ID</IDTypeName>
98
+ <IDValue>765</IDValue>
99
+ </ResourceIdentifier>
100
+ <ResourceFileFeature>
101
+ <ResourceFileFeatureType>07</ResourceFileFeatureType>
102
+ <ResourceFileFeatureValue>4197382</ResourceFileFeatureValue>
103
+ </ResourceFileFeature>
104
+ <ResourceFileFeature>
105
+ <ResourceFileFeatureType>06</ResourceFileFeatureType>
106
+ <ResourceFileFeatureValue>e9353ce40eaa677f8c5d666c2f8bbb3f</ResourceFileFeatureValue>
107
+ </ResourceFileFeature>
108
+ <ResourceFileLink>pan-tadeusz.epub</ResourceFileLink>
109
+ <ResourceFileDate>
110
+ <ResourceFileDateRole>17</ResourceFileDateRole>
111
+ <Date dateformat="13">20121230T1518Z</Date>
112
+ </ResourceFileDate>
113
+ </BodyResource>
114
+ <BodyResource>
115
+ <SequenceNumber>2</SequenceNumber>
116
+ <ResourceIdentifier>
117
+ <ResourceIDType>01</ResourceIDType>
118
+ <IDTypeName>elibri internal numerical ID</IDTypeName>
119
+ <IDValue>2</IDValue>
120
+ </ResourceIdentifier>
121
+ <ResourceFileFeature>
122
+ <ResourceFileFeatureType>07</ResourceFileFeatureType>
123
+ <ResourceFileFeatureValue>9177122</ResourceFileFeatureValue>
124
+ </ResourceFileFeature>
125
+ <ResourceFileFeature>
126
+ <ResourceFileFeatureType>06</ResourceFileFeatureType>
127
+ <ResourceFileFeatureValue>44452923564374efebc5bfe1059f5fb8</ResourceFileFeatureValue>
128
+ </ResourceFileFeature>
129
+ <ResourceFileLink>pan-tadeusz.mobi</ResourceFileLink>
130
+ <ResourceFileDate>
131
+ <ResourceFileDateRole>17</ResourceFileDateRole>
132
+ <Date dateformat="13">20121230T1518Z</Date>
133
+ </ResourceFileDate>
134
+ </BodyResource>
135
+ </BodyManifest>
136
+ </ProductionManifest>
137
+ </ProductionDetail>
107
138
  </Product>
108
139
  </ONIXMessage>
@@ -41,13 +41,11 @@
41
41
  <PublishingStatus>02</PublishingStatus>
42
42
  <PublishingDate>
43
43
  <PublishingDateRole>01</PublishingDateRole>
44
- <DateFormat>00</DateFormat>
45
- <Date>20110210</Date>
44
+ <Date dateformat="00">20110210</Date>
46
45
  </PublishingDate>
47
46
  <PublishingDate>
48
47
  <PublishingDateRole>27</PublishingDateRole>
49
- <DateFormat>00</DateFormat>
50
- <Date>20110201</Date>
48
+ <Date dateformat="00">20110201</Date>
51
49
  </PublishingDate>
52
50
  <SalesRights>
53
51
  <SalesRightsType>01</SalesRightsType>
@@ -41,8 +41,7 @@
41
41
  <PublishingStatus>04</PublishingStatus>
42
42
  <PublishingDate>
43
43
  <PublishingDateRole>01</PublishingDateRole>
44
- <DateFormat>01</DateFormat>
45
- <Date>201102</Date>
44
+ <Date dateformat="01">201102</Date>
46
45
  </PublishingDate>
47
46
  <SalesRights>
48
47
  <SalesRightsType>01</SalesRightsType>
@@ -102,12 +102,12 @@
102
102
  <!--PublishingStatusCode: ACTIVE--><PublishingStatus>04</PublishingStatus>
103
103
  <PublishingDate>
104
104
  <!--PublishingDateRole: PUBLICATION_DATE--><PublishingDateRole>01</PublishingDateRole>
105
- <!--DateFormat: YYYYMMDD--><DateFormat>00</DateFormat>
105
+ <!--DateFormat: YYYYMMDD-->
106
106
  <Date dateformat="00">20190227</Date>
107
107
  </PublishingDate>
108
108
  <PublishingDate>
109
109
  <!--PublishingDateRole: PREORDER_EMBARGO_DATE--><PublishingDateRole>27</PublishingDateRole>
110
- <!--DateFormat: YYYYMMDD--><DateFormat>00</DateFormat>
110
+ <!--DateFormat: YYYYMMDD-->
111
111
  <Date dateformat="00">20190213</Date>
112
112
  </PublishingDate>
113
113
  <SalesRights>
@@ -41,8 +41,7 @@
41
41
  <PublishingStatus>04</PublishingStatus>
42
42
  <PublishingDate>
43
43
  <PublishingDateRole>01</PublishingDateRole>
44
- <DateFormat>00</DateFormat>
45
- <Date>20120712</Date>
44
+ <Date dateformat="00">20120712</Date>
46
45
  </PublishingDate>
47
46
  <SalesRights>
48
47
  <SalesRightsType>01</SalesRightsType>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: elibri_onix
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.15
4
+ version: 0.5.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marcin Urbanski
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2021-05-26 00:00:00.000000000 Z
12
+ date: 2022-05-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -220,6 +220,7 @@ files:
220
220
  - test/elibri_onix_test.rb
221
221
  - test/elibri_product_form_features_test.rb
222
222
  - test/elibri_product_form_test.rb
223
+ - test/elibri_production_country_test.rb
223
224
  - test/elibri_publisher_info_test.rb
224
225
  - test/elibri_publishing_status_test.rb
225
226
  - test/elibri_record_identifiers_test.rb
@@ -239,6 +240,7 @@ files:
239
240
  - test/fixtures/onix_audiobook_example.xml
240
241
  - test/fixtures/onix_audiobook_extent_example.xml
241
242
  - test/fixtures/onix_board_game_example.xml
243
+ - test/fixtures/onix_cn_production_country_example.xml
242
244
  - test/fixtures/onix_collective_work_example.xml
243
245
  - test/fixtures/onix_contributors_example.xml
244
246
  - test/fixtures/onix_ebook_extent_example.xml