Revision 45c6514a
Von Tamino Steinert vor etwa 1 Jahr hinzugefügt
scripts/import_variant_csv.pl | ||
---|---|---|
$part{varianten_farbe} = (delete $part{varianten_farbnummer}) . '-' . (delete $part{varianten_farbname});
|
||
}
|
||
|
||
if ($part{varianten_groesse}) {
|
||
# map to valid sizes
|
||
unless ($part{warengruppe_nummer} eq '114310' || $part{warengruppe_nummer} eq '124310') { # nicht für gürtel
|
||
$part{varianten_groesse} =~ s/^([0-9][0-9])5$/$1,5/; # 345 -> 34,5
|
||
}
|
||
$part{varianten_groesse} =~ s/^([0-9][0-9])\.5$/$1,5/; # 34.5 -> 34,5
|
||
$part{varianten_groesse} =~ s/^2XL$/XXL/;
|
||
$part{varianten_groesse} =~ s/^XXXL$/3XL/;
|
||
$part{varianten_groesse} =~ s/^([0-9]*)½$/$1 ½/;
|
||
$part{varianten_groesse} =~ s/^([0-9]*)\/½$/$1 ½/;
|
||
$part{varianten_groesse} =~ s/^([0-9]*) 1\/2$/$1 ½/;
|
||
$part{varianten_groesse} =~ s/\/U//; # 34/U -> 34
|
||
$part{varianten_groesse} =~ s/\/I//; # 34/I -> 34
|
||
$part{varianten_groesse} =~ s/\/M//; # 34/M -> 34
|
||
$part{varianten_groesse} =~ s/\/L//; # 34/L -> 34
|
||
$part{varianten_groesse} =~ s/\/XL//; # 34/XL -> 34
|
||
$part{varianten_groesse} =~ s/\/XX//; # 34/XX -> 34
|
||
|
||
if (any {$part{varianten_groesse} eq $_} ('.', '_', 'ONE', 'ONE S', 'ONES', 'OSFA', 'ONESI', 'O/S', 'OSO')) {
|
||
delete $part{varianten_groesse};
|
||
if ($part{warengruppe_nummer} eq '114310' || $part{warengruppe_nummer} eq '124310') {
|
||
# gürtel
|
||
} elsif ($part{warengruppe_nummer} eq '114415') {
|
||
# Hosenträger haben keine Größe
|
||
delete $part{varianten_groesse};
|
||
} elsif ($part{warengruppe_nummer} eq '114210' || $part{warengruppe_nummer} eq '124210') {
|
||
# Handschuhe
|
||
if ($part{varianten_groesse}) {
|
||
$part{varianten_groesse} =~ s/^([0-9]*)\.5$/$1 ½/;
|
||
}
|
||
if ($part{warengruppe_nummer} eq '114415') { # Hosenträger haben keine Größe
|
||
delete $part{varianten_groesse};
|
||
} else {
|
||
if ($part{varianten_groesse}) {
|
||
# map to valid sizes
|
||
$part{varianten_groesse} =~ s/^([0-9][0-9])5$/$1,5/; # 345 -> 34,5
|
||
$part{varianten_groesse} =~ s/^([0-9][0-9])\.5$/$1,5/; # 34.5 -> 34,5
|
||
$part{varianten_groesse} =~ s/^2XL$/XXL/;
|
||
$part{varianten_groesse} =~ s/^XXXL$/3XL/;
|
||
$part{varianten_groesse} =~ s/^([0-9]*)½$/$1 ½/;
|
||
$part{varianten_groesse} =~ s/^([0-9]*)\/½$/$1 ½/;
|
||
$part{varianten_groesse} =~ s/^([0-9]*) 1\/2$/$1 ½/;
|
||
$part{varianten_groesse} =~ s/\/U//; # 34/U -> 34
|
||
$part{varianten_groesse} =~ s/\/I//; # 34/I -> 34
|
||
$part{varianten_groesse} =~ s/\/M//; # 34/M -> 34
|
||
$part{varianten_groesse} =~ s/\/L//; # 34/L -> 34
|
||
$part{varianten_groesse} =~ s/\/XL//; # 34/XL -> 34
|
||
$part{varianten_groesse} =~ s/\/XX//; # 34/XX -> 34
|
||
|
||
if ($part{varianten_groesse} =~ m/^([0-9][0-9])([0-9][0-9])$/) { # 3432 -> weite 34 laenge 32
|
||
my $weite = $1;
|
||
my $laenge = $2;
|
||
$part{varianten_groesse} = $weite;
|
||
$part{varianten_laenge} = $laenge;
|
||
}
|
||
|
||
if (any {$part{varianten_groesse} eq $_} ('.', '-', '_', 'ONE', 'ONE S', 'ONES', 'OSFA', 'ONESI', 'O/S', 'OSO')) {
|
||
delete $part{varianten_groesse};
|
||
}
|
||
|
||
}
|
||
}
|
||
if ($part{varianten_groesse} && $part{varianten_groesse} =~ m/^([0-9][0-9])([0-9][0-9])$/) {
|
||
my $weite = $1;
|
||
my $laenge = $2;
|
||
$part{varianten_groesse} = $weite;
|
||
$part{varianten_laenge} = $laenge;
|
||
}
|
||
|
||
if ($part{varianten_laenge}) {
|
||
if (any {$part{varianten_laenge} eq $_} ('.', 'U')) {
|
||
delete $part{varianten_laenge};
|
||
... | ... | |
my @variant_properties = values %property_name_to_variant_property;
|
||
$parent_variant->variant_properties(@variant_properties);
|
||
|
||
next; # TODO: remove after testing
|
||
next if $count_errors_at_start != scalar @errors;
|
||
$parent_variant->save();
|
||
|
||
... | ... | |
say join("\n", @errors);
|
||
die join("\n", @errors);
|
||
} else {
|
||
die "Keine Fehler"; # TODO: remove after testing
|
||
return 1;
|
||
}
|
||
}) or do {
|
Auch abrufbar als: Unified diff
kuw: CSV-Import-Script: Mapping Größenstaffel angepasast; Test Statements