elibri_onix 0.5.9 → 0.5.12
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/elibri_onix/onix_3_0/contributor.rb +5 -0
- data/lib/elibri_onix/onix_3_0/language.rb +9 -7
- data/lib/elibri_onix/onix_3_0/product.rb +38 -1
- data/lib/elibri_onix/version.rb +1 -1
- data/test/elibri_product_form_features_test.rb +20 -0
- data/test/fixtures/onix_board_game_example.xml +163 -0
- data/test/fixtures/onix_puzzle_example.xml +148 -0
- metadata +7 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f35ee1e0afa694d9272a217403c3488b2d35d14c28889f8c620786677bb2b000
|
4
|
+
data.tar.gz: e50e806f0567738b47de7cc6a61d9b17eec95f266d0e775be416b87ef2a7e565
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 29bca94cd3b107116505511104fd14d6c2d8efa278862788e97f67cb1460e247827a54436058a375280e027ca28dce5de1d918c14ee063f4315f8d357b8d33db
|
7
|
+
data.tar.gz: eafe7a05a5c8fae9ce0af84619822cf8d1733fecbb44a3a31d1b3f87e0cc8a3c16166faca177a57b701f9994bea37ef68beeef9a921f69f3b59ed9abf9df1cbf
|
@@ -69,6 +69,9 @@ module Elibri
|
|
69
69
|
#:nodoc:
|
70
70
|
attr_reader :unnamed_persons
|
71
71
|
|
72
|
+
attr_reader :corporate_name
|
73
|
+
attr_reader :corporate_name_inverted
|
74
|
+
|
72
75
|
#reprezentacja danych w xml-u
|
73
76
|
attr_reader :to_xml
|
74
77
|
|
@@ -87,6 +90,8 @@ module Elibri
|
|
87
90
|
@names_after_key = data.at_css('NamesAfterKey').try(:text)
|
88
91
|
@biographical_note = data.at_css('BiographicalNote').try(:text)
|
89
92
|
@unnamed_persons = data.at_css('UnnamedPersons').try(:text)
|
93
|
+
@corporate_name = data.at_css('CorporateName').try(:text)
|
94
|
+
@corporate_name_inverted = data.at_css('CorporateNameInverted').try(:text)
|
90
95
|
set_eid(data)
|
91
96
|
set_datestamp(data)
|
92
97
|
end
|
@@ -5,23 +5,23 @@ module Elibri
|
|
5
5
|
module Release_3_0
|
6
6
|
|
7
7
|
class Language
|
8
|
-
|
8
|
+
|
9
9
|
#from ONIX documentation:
|
10
10
|
#An optional and repeatable group of data elements which together represent a language, and specify its role and,
|
11
11
|
#where required, whether it is a country variant.
|
12
|
-
|
12
|
+
|
13
13
|
include Inspector
|
14
14
|
|
15
15
|
#:nodoc:
|
16
16
|
ATTRIBUTES = [
|
17
17
|
:role, :code, :role_name, :language
|
18
18
|
]
|
19
|
-
|
19
|
+
|
20
20
|
#:nodoc:
|
21
21
|
RELATIONS = [
|
22
22
|
:inspect_include_fields
|
23
23
|
]
|
24
|
-
|
24
|
+
|
25
25
|
#:doc:
|
26
26
|
#kod onix roli, np. '01'
|
27
27
|
#pełna lista ról: https://github.com/elibri/elibri_onix_dict/blob/master/lib/elibri_onix_dict/onix_3_0/serialized/LanguageRole.yml
|
@@ -33,7 +33,7 @@ module Elibri
|
|
33
33
|
|
34
34
|
#reprezentacja w xml
|
35
35
|
attr_reader :to_xml
|
36
|
-
|
36
|
+
|
37
37
|
def initialize(data)
|
38
38
|
@to_xml = data.to_s
|
39
39
|
@role = data.at_css('LanguageRole').try(:text)
|
@@ -44,10 +44,12 @@ module Elibri
|
|
44
44
|
def role_name
|
45
45
|
Elibri::ONIX::Dict::Release_3_0::LanguageRole.find_by_onix_code(@role).const_name.downcase
|
46
46
|
end
|
47
|
-
|
47
|
+
|
48
48
|
#język, np. 'polski'
|
49
49
|
def language
|
50
|
-
Elibri::ONIX::Dict::Release_3_0::LanguageCode.find_by_onix_code(@code).name(:pl).downcase
|
50
|
+
Elibri::ONIX::Dict::Release_3_0::LanguageCode.find_by_onix_code(@code).name(:pl).downcase rescue nil
|
51
|
+
rescue
|
52
|
+
|
51
53
|
end
|
52
54
|
|
53
55
|
def inspect_include_fields
|
@@ -19,7 +19,9 @@ module Elibri
|
|
19
19
|
:publisher, :product_form, :no_contributor, :edition_statement, :edition_type_onix_code, :number_of_illustrations, :publishing_status,
|
20
20
|
:publishing_date, :premiere, :front_cover, :series_names, :city_of_publication,
|
21
21
|
:preview_exists, :short_description, :sale_restricted_to_poland,
|
22
|
-
:technical_protection_onix_code, :unlimited_licence, :hyphenated_isbn, :preorder_embargo_date, :additional_trade_information
|
22
|
+
:technical_protection_onix_code, :unlimited_licence, :hyphenated_isbn, :preorder_embargo_date, :additional_trade_information,
|
23
|
+
:number_of_pieces, :players_number_from, :players_number_to, :playing_time_from, :playing_time_to
|
24
|
+
|
23
25
|
]
|
24
26
|
|
25
27
|
#:nodoc:
|
@@ -190,6 +192,21 @@ module Elibri
|
|
190
192
|
#dodatkowa informacja handlowa
|
191
193
|
attr_reader :additional_trade_information
|
192
194
|
|
195
|
+
#ilość elementów (puzzle, gry planszowe)
|
196
|
+
attr_reader :number_of_pieces
|
197
|
+
|
198
|
+
#min. ilość graczy - gry planszowe
|
199
|
+
attr_reader :players_number_from
|
200
|
+
|
201
|
+
#max. ilość graczy - gry planszowe
|
202
|
+
attr_reader :players_number_to
|
203
|
+
|
204
|
+
#min. czas gry - gry planszowe
|
205
|
+
attr_reader :playing_time_from
|
206
|
+
|
207
|
+
#max. czas gry - gry planszowe
|
208
|
+
attr_reader :playing_time_to
|
209
|
+
|
193
210
|
#:nodoc:
|
194
211
|
attr_reader :text_contents
|
195
212
|
attr_reader :file_size
|
@@ -286,6 +303,7 @@ module Elibri
|
|
286
303
|
@preview_exists = @supporting_resources.find { |sr| sr.content_type_name == "widget" && sr.link =~ /p.elibri.com.pl/ }.present?
|
287
304
|
end
|
288
305
|
|
306
|
+
product_form_features_setup(data.css("ProductFormFeature"))
|
289
307
|
|
290
308
|
publishing_details_setup(data.at_css('PublishingDetail')) if data.at_css('PublishingDetail')
|
291
309
|
licence_information_setup(data)
|
@@ -329,6 +347,23 @@ module Elibri
|
|
329
347
|
end
|
330
348
|
end
|
331
349
|
|
350
|
+
def product_form_features_setup(data)
|
351
|
+
data.each do |feature|
|
352
|
+
ftype = feature.at_css("ProductFormFeatureType").inner_text
|
353
|
+
v1, v2 = feature.at_css("ProductFormFeatureValue, ProductFormFeatureDescription").inner_text.split("-").map(&:to_i)
|
354
|
+
|
355
|
+
if ftype == Elibri::ONIX::Dict::Release_3_0::ProductFormFeatureType::NUMBER_OF_GAME_PIECES
|
356
|
+
@number_of_pieces = v1
|
357
|
+
elsif ftype == Elibri::ONIX::Dict::Release_3_0::ProductFormFeatureType::GAME_PLAYERS
|
358
|
+
@players_number_from = v1
|
359
|
+
@players_number_to = v2
|
360
|
+
elsif ftype == Elibri::ONIX::Dict::Release_3_0::ProductFormFeatureType::GAME_PLAY_TIME
|
361
|
+
@playing_time_from = v1
|
362
|
+
@playing_time_to = v2
|
363
|
+
end
|
364
|
+
end
|
365
|
+
end
|
366
|
+
|
332
367
|
def descriptive_details_setup(data)
|
333
368
|
@product_composition = data.at_css('ProductComposition').try(:text)
|
334
369
|
@product_form = data.at_css('ProductForm').try(:text)
|
@@ -465,6 +500,8 @@ module Elibri
|
|
465
500
|
#data premiery, jako instancja Date (tylko wtedy, gdy dokładna data jest znana)
|
466
501
|
def premiere
|
467
502
|
Date.new(*parsed_publishing_date) if parsed_publishing_date.size == 3
|
503
|
+
rescue ArgumentError
|
504
|
+
nil
|
468
505
|
end
|
469
506
|
|
470
507
|
def related_products_record_references
|
data/lib/elibri_onix/version.rb
CHANGED
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
describe Elibri::ONIX::Release_3_0::ONIXMessage do
|
4
|
+
|
5
|
+
it "should be able to parse number of pieces info" do
|
6
|
+
product = load_fixture("onix_puzzle_example.xml")
|
7
|
+
|
8
|
+
assert_equal 25, product.number_of_pieces
|
9
|
+
end
|
10
|
+
|
11
|
+
it "should be able to parse playing time and number of players" do
|
12
|
+
product = load_fixture("onix_board_game_example.xml")
|
13
|
+
|
14
|
+
assert_equal 2, product.players_number_from
|
15
|
+
assert_equal 5, product.players_number_to
|
16
|
+
assert_equal 20, product.playing_time_from
|
17
|
+
assert_nil product.playing_time_to
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
@@ -0,0 +1,163 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<ONIXMessage xmlns="http://ns.editeur.org/onix/3.0/reference" release="3.0">
|
3
|
+
<Header>
|
4
|
+
<Sender>
|
5
|
+
<SenderName>Elibri.com.pl</SenderName>
|
6
|
+
<ContactName>Tomasz Meka</ContactName>
|
7
|
+
<EmailAddress>kontakt@elibri.com.pl</EmailAddress>
|
8
|
+
</Sender>
|
9
|
+
<SentDateTime>20200118</SentDateTime>
|
10
|
+
</Header>
|
11
|
+
<Product>
|
12
|
+
<RecordReference>76843e73500beb04ddf8</RecordReference>
|
13
|
+
<!--NotificationType: CONFIRMED_ON_PUBLICATION--><NotificationType>03</NotificationType>
|
14
|
+
<ProductIdentifier>
|
15
|
+
<!--ProductIDType: EAN--><ProductIDType>03</ProductIDType>
|
16
|
+
<IDValue>5902719470332</IDValue>
|
17
|
+
</ProductIdentifier>
|
18
|
+
<DescriptiveDetail>
|
19
|
+
<!--ProductComposition: SINGLE_COMPONENT_RETAIL_PRODUCT--><ProductComposition>00</ProductComposition>
|
20
|
+
<!--ProductFormCode: GAME--><ProductForm>ZE</ProductForm>
|
21
|
+
<ProductFormFeature>
|
22
|
+
<!--ProductFormFeatureType: GAME_PLAYERS--><ProductFormFeatureType>23</ProductFormFeatureType>
|
23
|
+
<ProductFormFeatureDescription>2-5 graczy</ProductFormFeatureDescription>
|
24
|
+
</ProductFormFeature>
|
25
|
+
<ProductFormFeature>
|
26
|
+
<!--ProductFormFeatureType: GAME_PLAY_TIME--><ProductFormFeatureType>24</ProductFormFeatureType>
|
27
|
+
<ProductFormFeatureValue>20</ProductFormFeatureValue>
|
28
|
+
</ProductFormFeature>
|
29
|
+
<ProductClassification>
|
30
|
+
<!--ProductClassificationType: PKWIU--><ProductClassificationType>12</ProductClassificationType>
|
31
|
+
<ProductClassificationCode>32.40.39.0</ProductClassificationCode>
|
32
|
+
</ProductClassification>
|
33
|
+
<Collection>
|
34
|
+
<!--CollectionType: PUBLISHER_COLLECTION--><CollectionType>10</CollectionType>
|
35
|
+
<TitleDetail>
|
36
|
+
<!--TitleType: DISTINCTIVE_TITLE--><TitleType>01</TitleType>
|
37
|
+
<TitleElement>
|
38
|
+
<!--TitleElementLevel: COLLECTION--><TitleElementLevel>02</TitleElementLevel>
|
39
|
+
<TitleText>Gry planszowe</TitleText>
|
40
|
+
</TitleElement>
|
41
|
+
</TitleDetail>
|
42
|
+
</Collection>
|
43
|
+
<TitleDetail>
|
44
|
+
<!--TitleType: DISTINCTIVE_TITLE--><TitleType>01</TitleType>
|
45
|
+
<TitleElement>
|
46
|
+
<!--TitleElementLevel: PRODUCT--><TitleElementLevel>01</TitleElementLevel>
|
47
|
+
<TitleText>Jamniki</TitleText>
|
48
|
+
</TitleElement>
|
49
|
+
</TitleDetail>
|
50
|
+
<TitleDetail>
|
51
|
+
<!--TitleType: DISTRIBUTORS_TITLE--><TitleType>10</TitleType>
|
52
|
+
<TitleElement>
|
53
|
+
<!--TitleElementLevel: PRODUCT--><TitleElementLevel>01</TitleElementLevel>
|
54
|
+
<TitleText>JAMNIKI</TitleText>
|
55
|
+
</TitleElement>
|
56
|
+
</TitleDetail>
|
57
|
+
<Contributor sourcename="contributorid:201641" datestamp="20200118T2047">
|
58
|
+
<SequenceNumber>1</SequenceNumber>
|
59
|
+
<!--ContributorRole: AUTHOR--><ContributorRole>A01</ContributorRole>
|
60
|
+
<PersonName>David Short</PersonName>
|
61
|
+
<NamesBeforeKey>David</NamesBeforeKey>
|
62
|
+
<KeyNames>Short</KeyNames>
|
63
|
+
</Contributor>
|
64
|
+
<Contributor sourcename="contributorid:201642" datestamp="20200118T2047">
|
65
|
+
<SequenceNumber>2</SequenceNumber>
|
66
|
+
<!--ContributorRole: ILLUSTRATOR--><ContributorRole>A12</ContributorRole>
|
67
|
+
<PersonName>Maciej Szymanowicz</PersonName>
|
68
|
+
<NamesBeforeKey>Maciej</NamesBeforeKey>
|
69
|
+
<KeyNames>Szymanowicz</KeyNames>
|
70
|
+
</Contributor>
|
71
|
+
<Language>
|
72
|
+
<!--LanguageRole: LANGUAGE_OF_TEXT--><LanguageRole>01</LanguageRole>
|
73
|
+
<!--LanguageCode: Polish--><LanguageCode>pol</LanguageCode>
|
74
|
+
</Language>
|
75
|
+
<Subject>
|
76
|
+
<!--SubjectSchemeIdentifier: PROPRIETARY--><SubjectSchemeIdentifier>24</SubjectSchemeIdentifier>
|
77
|
+
<SubjectSchemeName>Nasza Księgarnia</SubjectSchemeName>
|
78
|
+
<SubjectCode>871</SubjectCode>
|
79
|
+
<SubjectHeadingText>Gry planszowe</SubjectHeadingText>
|
80
|
+
</Subject>
|
81
|
+
<AudienceRange>
|
82
|
+
<!--AudienceRangeQualifier: READING_AGE--><AudienceRangeQualifier>18</AudienceRangeQualifier>
|
83
|
+
<!--AudienceRangePrecision: FROM--><AudienceRangePrecision>03</AudienceRangePrecision>
|
84
|
+
<AudienceRangeValue>6</AudienceRangeValue>
|
85
|
+
</AudienceRange>
|
86
|
+
<AudienceRange>
|
87
|
+
<!--AudienceRangeQualifier: READING_AGE--><AudienceRangeQualifier>18</AudienceRangeQualifier>
|
88
|
+
<!--AudienceRangePrecision: TO--><AudienceRangePrecision>04</AudienceRangePrecision>
|
89
|
+
<AudienceRangeValue>106</AudienceRangeValue>
|
90
|
+
</AudienceRange>
|
91
|
+
</DescriptiveDetail>
|
92
|
+
<CollateralDetail>
|
93
|
+
<TextContent sourcename="textid:109999" datestamp="20200118T2047">
|
94
|
+
<!--OtherTextType: MAIN_DESCRIPTION--><TextType>03</TextType>
|
95
|
+
<!--ContentAudience: UNRESTRICTED--><ContentAudience>00</ContentAudience>
|
96
|
+
<Text>
|
97
|
+
<![CDATA[<p>
|
98
|
+
<strong>UBIERZ JAMNIKA W KUBRACZEK!</strong></p>
|
99
|
+
<p>
|
100
|
+
Podczas gry Twój jamnik będzie rósł, musisz więc ubierać go w coraz większy kubraczek. Staraj się, aby na kubraczku było jak najwięcej symboli kostek – zdobędziesz za nie punkty! Dodatkowe punkty dostaniesz za kolory kubraczka.</p>
|
101
|
+
]]>
|
102
|
+
</Text>
|
103
|
+
</TextContent>
|
104
|
+
</CollateralDetail>
|
105
|
+
<PublishingDetail>
|
106
|
+
<Publisher>
|
107
|
+
<PublishingRole>01</PublishingRole>
|
108
|
+
<PublisherIdentifier>
|
109
|
+
<PublisherIDType>01</PublisherIDType>
|
110
|
+
<IDTypeName>ElibriPublisherCode</IDTypeName>
|
111
|
+
<IDValue>41</IDValue>
|
112
|
+
</PublisherIdentifier>
|
113
|
+
<PublisherName>Nasza Księgarnia</PublisherName>
|
114
|
+
</Publisher>
|
115
|
+
<CityOfPublication>Warszawa</CityOfPublication>
|
116
|
+
<!--PublishingStatusCode: ACTIVE--><PublishingStatus>04</PublishingStatus>
|
117
|
+
<PublishingDate>
|
118
|
+
<!--PublishingDateRole: PUBLICATION_DATE--><PublishingDateRole>01</PublishingDateRole>
|
119
|
+
<!--DateFormat: YYYYMMDD--><DateFormat>00</DateFormat>
|
120
|
+
<Date dateformat="00">20180919</Date>
|
121
|
+
</PublishingDate>
|
122
|
+
<PublishingDate>
|
123
|
+
<!--PublishingDateRole: PREORDER_EMBARGO_DATE--><PublishingDateRole>27</PublishingDateRole>
|
124
|
+
<!--DateFormat: YYYYMMDD--><DateFormat>00</DateFormat>
|
125
|
+
<Date dateformat="00">20180905</Date>
|
126
|
+
</PublishingDate>
|
127
|
+
<SalesRights>
|
128
|
+
<!--SalesRightsType: FOR_SALE_WITH_EXLUSIVE_RIGHTS--><SalesRightsType>01</SalesRightsType>
|
129
|
+
<Territory>
|
130
|
+
<CountriesIncluded>PL</CountriesIncluded>
|
131
|
+
</Territory>
|
132
|
+
</SalesRights>
|
133
|
+
</PublishingDetail>
|
134
|
+
<ProductSupply>
|
135
|
+
<SupplyDetail>
|
136
|
+
<Supplier>
|
137
|
+
<!--SupplierRole: PUB_TO_RET--><SupplierRole>01</SupplierRole>
|
138
|
+
<SupplierIdentifier>
|
139
|
+
<!--SupplierIDType: VAT_IDENTITY_NUMBER--><SupplierIDType>23</SupplierIDType>
|
140
|
+
<IDValue>PL5260205285</IDValue>
|
141
|
+
</SupplierIdentifier>
|
142
|
+
<SupplierName>Nasza Księgarnia</SupplierName>
|
143
|
+
</Supplier>
|
144
|
+
<!--ProductAvailabilityType: IN_STOCK--><ProductAvailability>21</ProductAvailability>
|
145
|
+
<Stock>
|
146
|
+
<OnHand>200</OnHand>
|
147
|
+
<!--Proximity: MORE_THAN--><Proximity>07</Proximity>
|
148
|
+
</Stock>
|
149
|
+
<PackQuantity>12</PackQuantity>
|
150
|
+
<Price>
|
151
|
+
<!--PriceTypeCode: RRP_WITH_TAX--><PriceType>02</PriceType>
|
152
|
+
<PriceAmount>59.9</PriceAmount>
|
153
|
+
<Tax>
|
154
|
+
<!--TaxType: VAT--><TaxType>01</TaxType>
|
155
|
+
<TaxRatePercent>23</TaxRatePercent>
|
156
|
+
</Tax>
|
157
|
+
<CurrencyCode>PLN</CurrencyCode>
|
158
|
+
<!--PricePrintedOnProduct: NO--><PrintedOnProduct>01</PrintedOnProduct>
|
159
|
+
</Price>
|
160
|
+
</SupplyDetail>
|
161
|
+
</ProductSupply>
|
162
|
+
</Product>
|
163
|
+
</ONIXMessage>
|
@@ -0,0 +1,148 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<ONIXMessage xmlns="http://ns.editeur.org/onix/3.0/reference" release="3.0">
|
3
|
+
<Header>
|
4
|
+
<Sender>
|
5
|
+
<SenderName>Elibri.com.pl</SenderName>
|
6
|
+
<ContactName>Tomasz Meka</ContactName>
|
7
|
+
<EmailAddress>kontakt@elibri.com.pl</EmailAddress>
|
8
|
+
</Sender>
|
9
|
+
<SentDateTime>20200118</SentDateTime>
|
10
|
+
</Header>
|
11
|
+
<Product>
|
12
|
+
<RecordReference>85b3ad798e01c3b5ee67</RecordReference>
|
13
|
+
<!--NotificationType: CONFIRMED_ON_PUBLICATION--><NotificationType>03</NotificationType>
|
14
|
+
<ProductIdentifier>
|
15
|
+
<!--ProductIDType: EAN--><ProductIDType>03</ProductIDType>
|
16
|
+
<IDValue>5902719471810</IDValue>
|
17
|
+
</ProductIdentifier>
|
18
|
+
<DescriptiveDetail>
|
19
|
+
<!--ProductComposition: SINGLE_COMPONENT_RETAIL_PRODUCT--><ProductComposition>00</ProductComposition>
|
20
|
+
<!--ProductFormCode: JIGSAW--><ProductForm>ZJ</ProductForm>
|
21
|
+
<ProductFormFeature>
|
22
|
+
<!--ProductFormFeatureType: NUMBER_OF_GAME_PIECES--><ProductFormFeatureType>22</ProductFormFeatureType>
|
23
|
+
<ProductFormFeatureValue>25</ProductFormFeatureValue>
|
24
|
+
</ProductFormFeature>
|
25
|
+
<ProductClassification>
|
26
|
+
<!--ProductClassificationType: PKWIU--><ProductClassificationType>12</ProductClassificationType>
|
27
|
+
<ProductClassificationCode>32.40.32</ProductClassificationCode>
|
28
|
+
</ProductClassification>
|
29
|
+
<Collection>
|
30
|
+
<!--CollectionType: PUBLISHER_COLLECTION--><CollectionType>10</CollectionType>
|
31
|
+
<TitleDetail>
|
32
|
+
<!--TitleType: DISTINCTIVE_TITLE--><TitleType>01</TitleType>
|
33
|
+
<TitleElement>
|
34
|
+
<!--TitleElementLevel: COLLECTION--><TitleElementLevel>02</TitleElementLevel>
|
35
|
+
<TitleText>Puzzle</TitleText>
|
36
|
+
</TitleElement>
|
37
|
+
</TitleDetail>
|
38
|
+
</Collection>
|
39
|
+
<TitleDetail>
|
40
|
+
<!--TitleType: DISTINCTIVE_TITLE--><TitleType>01</TitleType>
|
41
|
+
<TitleElement>
|
42
|
+
<!--TitleElementLevel: PRODUCT--><TitleElementLevel>01</TitleElementLevel>
|
43
|
+
<TitleText>Pucio. Puzzle: Co tu pasuje?</TitleText>
|
44
|
+
</TitleElement>
|
45
|
+
</TitleDetail>
|
46
|
+
<TitleDetail>
|
47
|
+
<!--TitleType: DISTRIBUTORS_TITLE--><TitleType>10</TitleType>
|
48
|
+
<TitleElement>
|
49
|
+
<!--TitleElementLevel: PRODUCT--><TitleElementLevel>01</TitleElementLevel>
|
50
|
+
<TitleText>PUCIO. PUZZLE: CO TU PASUJE?</TitleText>
|
51
|
+
</TitleElement>
|
52
|
+
</TitleDetail>
|
53
|
+
<Contributor sourcename="contributorid:210002" datestamp="20190116T1724">
|
54
|
+
<SequenceNumber>1</SequenceNumber>
|
55
|
+
<!--ContributorRole: AUTHOR--><ContributorRole>A01</ContributorRole>
|
56
|
+
<PersonName>Marta Galewska-Kustra</PersonName>
|
57
|
+
<NamesBeforeKey>Marta</NamesBeforeKey>
|
58
|
+
<KeyNames>Galewska-Kustra</KeyNames>
|
59
|
+
</Contributor>
|
60
|
+
<Contributor sourcename="contributorid:210003" datestamp="20190116T1724">
|
61
|
+
<SequenceNumber>2</SequenceNumber>
|
62
|
+
<!--ContributorRole: ILLUSTRATOR--><ContributorRole>A12</ContributorRole>
|
63
|
+
<PersonName>Joanna Kłos</PersonName>
|
64
|
+
<NamesBeforeKey>Joanna</NamesBeforeKey>
|
65
|
+
<KeyNames>Kłos</KeyNames>
|
66
|
+
</Contributor>
|
67
|
+
<Language>
|
68
|
+
<!--LanguageRole: LANGUAGE_OF_TEXT--><LanguageRole>01</LanguageRole>
|
69
|
+
<!--LanguageCode: Polish--><LanguageCode>pol</LanguageCode>
|
70
|
+
</Language>
|
71
|
+
</DescriptiveDetail>
|
72
|
+
<CollateralDetail>
|
73
|
+
<TextContent sourcename="textid:115723" datestamp="20190116T1724">
|
74
|
+
<!--OtherTextType: MAIN_DESCRIPTION--><TextType>03</TextType>
|
75
|
+
<!--ContentAudience: UNRESTRICTED--><ContentAudience>00</ContentAudience>
|
76
|
+
<Text>
|
77
|
+
<![CDATA[<p>
|
78
|
+
<strong>Wreszcie są! Długo wyczekiwane, mądre i piękne zabawki z PUCIEM!</strong></p>
|
79
|
+
<p>
|
80
|
+
Uwielbiany przez dzieci i rodziców bohater bestsellerowej serii Marty Galewskiej-Kustry, fenomenalnie ilustrowanej przez Joannę Kłos, w końcu wykracza poza karty książek i pojawia się także na puzzlach! Zapraszamy do wspólnej zabawy i nauki!</p>
|
81
|
+
<p>
|
82
|
+
Puzzle przeznaczone dla dzieci od 2 lat. Składają się z 5 obrazków głównych oraz 20 uzupełniających. Na obrazkach głównych jest Pucio w znanych dziecku codziennych sytuacjach (np. jedzenie posiłku, poranna toaleta, ubieranie się). Elementy uzupełniające przedstawiają pojedyncze obiekty zaprezentowane także na obrazku głównym (np. kanapka, szczoteczka do zębów, czapka). Dziecko ma się przyjrzeć obrazkowi głównemu, odnaleźć pasujące do niego elementy uzupełniające i dołączyć je do obrazka głównego.</p>
|
83
|
+
<p>
|
84
|
+
To na pozór proste zadanie wymaga skupienia uwagi na ilustracji, rozwija spostrzegawczość i mowę, ale przede wszystkim pobudza do myślenia. Mimo niedużej liczby elementów puzzle dają okazję do wielu zabaw o różnym stopniu trudności. </p>
|
85
|
+
<p>
|
86
|
+
Wyprodukowano w Polsce.</p>
|
87
|
+
]]>
|
88
|
+
</Text>
|
89
|
+
</TextContent>
|
90
|
+
</CollateralDetail>
|
91
|
+
<PublishingDetail>
|
92
|
+
<Publisher>
|
93
|
+
<PublishingRole>01</PublishingRole>
|
94
|
+
<PublisherIdentifier>
|
95
|
+
<PublisherIDType>01</PublisherIDType>
|
96
|
+
<IDTypeName>ElibriPublisherCode</IDTypeName>
|
97
|
+
<IDValue>41</IDValue>
|
98
|
+
</PublisherIdentifier>
|
99
|
+
<PublisherName>Nasza Księgarnia</PublisherName>
|
100
|
+
</Publisher>
|
101
|
+
<CityOfPublication>Warszawa</CityOfPublication>
|
102
|
+
<!--PublishingStatusCode: ACTIVE--><PublishingStatus>04</PublishingStatus>
|
103
|
+
<PublishingDate>
|
104
|
+
<!--PublishingDateRole: PUBLICATION_DATE--><PublishingDateRole>01</PublishingDateRole>
|
105
|
+
<!--DateFormat: YYYYMMDD--><DateFormat>00</DateFormat>
|
106
|
+
<Date dateformat="00">20190227</Date>
|
107
|
+
</PublishingDate>
|
108
|
+
<PublishingDate>
|
109
|
+
<!--PublishingDateRole: PREORDER_EMBARGO_DATE--><PublishingDateRole>27</PublishingDateRole>
|
110
|
+
<!--DateFormat: YYYYMMDD--><DateFormat>00</DateFormat>
|
111
|
+
<Date dateformat="00">20190213</Date>
|
112
|
+
</PublishingDate>
|
113
|
+
<SalesRights>
|
114
|
+
<!--SalesRightsType: FOR_SALE_WITH_EXLUSIVE_RIGHTS--><SalesRightsType>01</SalesRightsType>
|
115
|
+
<Territory>
|
116
|
+
<CountriesIncluded>PL</CountriesIncluded>
|
117
|
+
</Territory>
|
118
|
+
</SalesRights>
|
119
|
+
</PublishingDetail>
|
120
|
+
<ProductSupply>
|
121
|
+
<SupplyDetail>
|
122
|
+
<Supplier>
|
123
|
+
<!--SupplierRole: PUB_TO_RET--><SupplierRole>01</SupplierRole>
|
124
|
+
<SupplierIdentifier>
|
125
|
+
<!--SupplierIDType: VAT_IDENTITY_NUMBER--><SupplierIDType>23</SupplierIDType>
|
126
|
+
<IDValue>PL5260205285</IDValue>
|
127
|
+
</SupplierIdentifier>
|
128
|
+
<SupplierName>Nasza Księgarnia</SupplierName>
|
129
|
+
</Supplier>
|
130
|
+
<!--ProductAvailabilityType: NOT_AVAILABLE--><ProductAvailability>40</ProductAvailability>
|
131
|
+
<Stock>
|
132
|
+
<OnHand>0</OnHand>
|
133
|
+
<!--Proximity: EXACTLY--><Proximity>03</Proximity>
|
134
|
+
</Stock>
|
135
|
+
<Price>
|
136
|
+
<!--PriceTypeCode: RRP_WITH_TAX--><PriceType>02</PriceType>
|
137
|
+
<PriceAmount>24.9</PriceAmount>
|
138
|
+
<Tax>
|
139
|
+
<!--TaxType: VAT--><TaxType>01</TaxType>
|
140
|
+
<TaxRatePercent>23</TaxRatePercent>
|
141
|
+
</Tax>
|
142
|
+
<CurrencyCode>PLN</CurrencyCode>
|
143
|
+
<!--PricePrintedOnProduct: NO--><PrintedOnProduct>01</PrintedOnProduct>
|
144
|
+
</Price>
|
145
|
+
</SupplyDetail>
|
146
|
+
</ProductSupply>
|
147
|
+
</Product>
|
148
|
+
</ONIXMessage>
|
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.
|
4
|
+
version: 0.5.12
|
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: 2020-01-
|
12
|
+
date: 2020-01-18 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
@@ -217,6 +217,7 @@ files:
|
|
217
217
|
- test/elibri_onix_message_attributes_test.rb
|
218
218
|
- test/elibri_onix_release_3_0_onix_message_test.rb
|
219
219
|
- test/elibri_onix_test.rb
|
220
|
+
- test/elibri_product_form_features_test.rb
|
220
221
|
- test/elibri_product_form_test.rb
|
221
222
|
- test/elibri_publisher_info_test.rb
|
222
223
|
- test/elibri_publishing_status_test.rb
|
@@ -236,6 +237,7 @@ files:
|
|
236
237
|
- test/fixtures/onix_audience_range_example.xml
|
237
238
|
- test/fixtures/onix_audiobook_example.xml
|
238
239
|
- test/fixtures/onix_audiobook_extent_example.xml
|
240
|
+
- test/fixtures/onix_board_game_example.xml
|
239
241
|
- test/fixtures/onix_collective_work_example.xml
|
240
242
|
- test/fixtures/onix_contributors_example.xml
|
241
243
|
- test/fixtures/onix_ebook_extent_example.xml
|
@@ -252,6 +254,7 @@ files:
|
|
252
254
|
- test/fixtures/onix_published_group_product_example.xml
|
253
255
|
- test/fixtures/onix_published_product_example.xml
|
254
256
|
- test/fixtures/onix_publisher_info_example.xml
|
257
|
+
- test/fixtures/onix_puzzle_example.xml
|
255
258
|
- test/fixtures/onix_record_identifiers_example.xml
|
256
259
|
- test/fixtures/onix_related_products_example.xml
|
257
260
|
- test/fixtures/onix_removed_elibri_extensions.xml
|
@@ -284,7 +287,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
284
287
|
- !ruby/object:Gem::Version
|
285
288
|
version: '0'
|
286
289
|
requirements: []
|
287
|
-
|
290
|
+
rubyforge_project:
|
291
|
+
rubygems_version: 2.7.9
|
288
292
|
signing_key:
|
289
293
|
specification_version: 4
|
290
294
|
summary: EDItEUR ONIX format subset implementation used in Elibri publication system
|