Author: mcantelon
Date: Tue Dec 20 11:13:37 2011
New Revision: 10442

Log:
Cleaned up, refactored, added display of ignored columns, and added a couple of 
columns to the import.

Modified:
   trunk/lib/task/csvImportTask.class.php

Modified: trunk/lib/task/csvImportTask.class.php
==============================================================================
--- trunk/lib/task/csvImportTask.class.php      Tue Dec 20 00:03:59 2011        
(r10441)
+++ trunk/lib/task/csvImportTask.class.php      Tue Dec 20 11:13:37 2011        
(r10442)
@@ -72,7 +72,6 @@
       'columns' => fgetcsv($fh, 60000), // 1st row supplies column names/order
       'default_status_id' => $default_status_id,
       'default_status_type_id' => $default_status_type_id,
-//      'testing' => TRUE,
       'columnMap' => array(
         'TITLE' => 'title',
         'Accruals' => 'accruals',
@@ -86,6 +85,8 @@
         'Related units of description' => 'relatedUnitsOfDescription',
         'Archival history' => 'archivalHistory',
         'Arrangement' => 'arrangement',
+        'FINDING AIDS' => 'findingAids',
+        'Revision history' => 'revision',
         '???' => 'physicalCharacteristics'
       ),
       'propertyMap' => array(
@@ -106,11 +107,6 @@
           'typeId'   => $self->default_status_type_id
         ));
 
-        #$self->information_object->levelOfDescriptionId = 198;
-        #$self->information_object->extentAndMedium = 'blim';
-        #$self->information_object->scopeAndContent = 'zzzz';
-        #$self->information_object->archivalHistory = 'zxzxxx';
-
         $self->information_object->parentId = QubitInformationObject::ROOT_ID;
 
         if (!isset($self->testing) || !$self->testing) {
@@ -146,7 +142,6 @@
           }
         }
 
-//exit();
         // increment number of completed rows
         $self->status['rows']++;
       }
@@ -170,12 +165,7 @@
       }
     });
 
-    // import each row
-    while ($item = fgetcsv($fh, 60000))
-    {
-      print '.';
-      $import->row($item);
-    }
+    $import->csv($fh);
   }
 }
 
@@ -218,6 +208,48 @@
     }
   }
 
+  public function ignored() {
+    $ignored = array();
+    foreach($this->columns as $column) {
+      if (
+        !isset($this->columnMap[$column])
+        && !isset($this->propertyMap[$column])
+        && !isset($this->handlers[$column])
+      ) {
+        array_push($ignored, $column);
+      }
+    }
+    return $ignored;
+  }
+
+  public function ignored_render() {
+
+    $output = '';
+
+    $ignored = $this->ignored();
+
+    if (sizeof($ignored)) {
+      print "Ignoring columns:\n";
+      foreach($ignored as $ignore) {
+        $output .= '  '. $ignore ."\n";
+      }
+    }
+
+    return $output;
+  }
+
+  public function csv($fh) {
+
+    print $this->ignored_render();
+
+    // import each row
+    while ($item = fgetcsv($fh, 60000))
+    {
+      print '.';
+      $this->row($item);
+    }
+  }
+
   public function row($row) {
     // execute row initialization logic
     $this->executeClosurePropertyIfSet('rowInit');

-- 
You received this message because you are subscribed to the Google Groups 
"Qubit Toolkit Commits" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/qubit-commits?hl=en.

Reply via email to