Revision 45c6514a
Von Tamino Steinert vor 10 Monaten hinzugefügt
scripts/import_variant_csv.pl | ||
---|---|---|
168 | 168 |
$part{varianten_farbe} = (delete $part{varianten_farbnummer}) . '-' . (delete $part{varianten_farbname}); |
169 | 169 |
} |
170 | 170 |
|
171 |
if ($part{varianten_groesse}) { |
|
172 |
# map to valid sizes |
|
173 |
unless ($part{warengruppe_nummer} eq '114310' || $part{warengruppe_nummer} eq '124310') { # nicht für gürtel |
|
174 |
$part{varianten_groesse} =~ s/^([0-9][0-9])5$/$1,5/; # 345 -> 34,5 |
|
175 |
} |
|
176 |
$part{varianten_groesse} =~ s/^([0-9][0-9])\.5$/$1,5/; # 34.5 -> 34,5 |
|
177 |
$part{varianten_groesse} =~ s/^2XL$/XXL/; |
|
178 |
$part{varianten_groesse} =~ s/^XXXL$/3XL/; |
|
179 |
$part{varianten_groesse} =~ s/^([0-9]*)½$/$1 ½/; |
|
180 |
$part{varianten_groesse} =~ s/^([0-9]*)\/½$/$1 ½/; |
|
181 |
$part{varianten_groesse} =~ s/^([0-9]*) 1\/2$/$1 ½/; |
|
182 |
$part{varianten_groesse} =~ s/\/U//; # 34/U -> 34 |
|
183 |
$part{varianten_groesse} =~ s/\/I//; # 34/I -> 34 |
|
184 |
$part{varianten_groesse} =~ s/\/M//; # 34/M -> 34 |
|
185 |
$part{varianten_groesse} =~ s/\/L//; # 34/L -> 34 |
|
186 |
$part{varianten_groesse} =~ s/\/XL//; # 34/XL -> 34 |
|
187 |
$part{varianten_groesse} =~ s/\/XX//; # 34/XX -> 34 |
|
188 |
|
|
189 |
if (any {$part{varianten_groesse} eq $_} ('.', '_', 'ONE', 'ONE S', 'ONES', 'OSFA', 'ONESI', 'O/S', 'OSO')) { |
|
190 |
delete $part{varianten_groesse}; |
|
171 |
if ($part{warengruppe_nummer} eq '114310' || $part{warengruppe_nummer} eq '124310') { |
|
172 |
# gürtel |
|
173 |
} elsif ($part{warengruppe_nummer} eq '114415') { |
|
174 |
# Hosenträger haben keine Größe |
|
175 |
delete $part{varianten_groesse}; |
|
176 |
} elsif ($part{warengruppe_nummer} eq '114210' || $part{warengruppe_nummer} eq '124210') { |
|
177 |
# Handschuhe |
|
178 |
if ($part{varianten_groesse}) { |
|
179 |
$part{varianten_groesse} =~ s/^([0-9]*)\.5$/$1 ½/; |
|
191 | 180 |
} |
192 |
if ($part{warengruppe_nummer} eq '114415') { # Hosenträger haben keine Größe |
|
193 |
delete $part{varianten_groesse}; |
|
181 |
} else { |
|
182 |
if ($part{varianten_groesse}) { |
|
183 |
# map to valid sizes |
|
184 |
$part{varianten_groesse} =~ s/^([0-9][0-9])5$/$1,5/; # 345 -> 34,5 |
|
185 |
$part{varianten_groesse} =~ s/^([0-9][0-9])\.5$/$1,5/; # 34.5 -> 34,5 |
|
186 |
$part{varianten_groesse} =~ s/^2XL$/XXL/; |
|
187 |
$part{varianten_groesse} =~ s/^XXXL$/3XL/; |
|
188 |
$part{varianten_groesse} =~ s/^([0-9]*)½$/$1 ½/; |
|
189 |
$part{varianten_groesse} =~ s/^([0-9]*)\/½$/$1 ½/; |
|
190 |
$part{varianten_groesse} =~ s/^([0-9]*) 1\/2$/$1 ½/; |
|
191 |
$part{varianten_groesse} =~ s/\/U//; # 34/U -> 34 |
|
192 |
$part{varianten_groesse} =~ s/\/I//; # 34/I -> 34 |
|
193 |
$part{varianten_groesse} =~ s/\/M//; # 34/M -> 34 |
|
194 |
$part{varianten_groesse} =~ s/\/L//; # 34/L -> 34 |
|
195 |
$part{varianten_groesse} =~ s/\/XL//; # 34/XL -> 34 |
|
196 |
$part{varianten_groesse} =~ s/\/XX//; # 34/XX -> 34 |
|
197 |
|
|
198 |
if ($part{varianten_groesse} =~ m/^([0-9][0-9])([0-9][0-9])$/) { # 3432 -> weite 34 laenge 32 |
|
199 |
my $weite = $1; |
|
200 |
my $laenge = $2; |
|
201 |
$part{varianten_groesse} = $weite; |
|
202 |
$part{varianten_laenge} = $laenge; |
|
203 |
} |
|
204 |
|
|
205 |
if (any {$part{varianten_groesse} eq $_} ('.', '-', '_', 'ONE', 'ONE S', 'ONES', 'OSFA', 'ONESI', 'O/S', 'OSO')) { |
|
206 |
delete $part{varianten_groesse}; |
|
207 |
} |
|
208 |
|
|
194 | 209 |
} |
195 | 210 |
} |
196 |
if ($part{varianten_groesse} && $part{varianten_groesse} =~ m/^([0-9][0-9])([0-9][0-9])$/) { |
|
197 |
my $weite = $1; |
|
198 |
my $laenge = $2; |
|
199 |
$part{varianten_groesse} = $weite; |
|
200 |
$part{varianten_laenge} = $laenge; |
|
201 |
} |
|
211 |
|
|
202 | 212 |
if ($part{varianten_laenge}) { |
203 | 213 |
if (any {$part{varianten_laenge} eq $_} ('.', 'U')) { |
204 | 214 |
delete $part{varianten_laenge}; |
... | ... | |
452 | 462 |
my @variant_properties = values %property_name_to_variant_property; |
453 | 463 |
$parent_variant->variant_properties(@variant_properties); |
454 | 464 |
|
465 |
next; # TODO: remove after testing |
|
455 | 466 |
next if $count_errors_at_start != scalar @errors; |
456 | 467 |
$parent_variant->save(); |
457 | 468 |
|
... | ... | |
510 | 521 |
say join("\n", @errors); |
511 | 522 |
die join("\n", @errors); |
512 | 523 |
} else { |
524 |
die "Keine Fehler"; # TODO: remove after testing |
|
513 | 525 |
return 1; |
514 | 526 |
} |
515 | 527 |
}) or do { |
Auch abrufbar als: Unified diff
kuw: CSV-Import-Script: Mapping Größenstaffel angepasast; Test Statements