Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 69141f28

Von Tamino Steinert vor 11 Monaten hinzugefügt

  • ID 69141f282a1538f86e1991eebfdb3f0acdd75a9b
  • Vorgänger 5daf8baa
  • Nachfolger 92d1cc7c

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

Unterschiede anzeigen:

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