Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 45c6514a

Von Tamino Steinert vor etwa 1 Jahr hinzugefügt

  • ID 45c6514a25191051a1e3a807da9a8b28e3ddde4e
  • Vorgänger 5e22e69d
  • Nachfolger f8afe881

kuw: CSV-Import-Script: Mapping Größenstaffel angepasast; Test Statements

Unterschiede anzeigen:

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