<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -68,15 +68,19 @@ class Loader(object):
     
     def __init__(self, source, description, imported_by):
         
+        # populate a fieldname/field mapping of model fields
         self.fields = { }
         for field in self.model._meta.fields:
             self.fields[field.name] = field
-            
+        
+        # create a record template with field names from model
+        # remove any fields that are typical ID fields
         self._new_record = dict([(f, None) for f in self.fields.iterkeys()])
         for key in self.ID_FIELDS:
             if key in self._new_record:
                 del self._new_record[key]
         
+        # create a new Import instance and save reference
         self.import_session = Import(
             source=source,
             description=description,
@@ -85,41 +89,60 @@ class Loader(object):
         self.import_session.save()
     
     def new_record(self):
-        return self._new_record.copy()
+        &quot;&quot;&quot; Get an empty copy of record format.
+        &quot;&quot;&quot;
+        return self._new_record.copy() # return record template
         
     def load_records(self, records):
+        &quot;&quot;&quot; Load a list of records.
+        &quot;&quot;&quot;
         for record in records:
             self.load_record(record)
     
     def load_record(self, record):
+        &quot;&quot;&quot; Load a dict record into a model and save
+            to the database.
+        &quot;&quot;&quot;
         
+        # a model is required for loading
         if not self.model:
             raise ValueError, &quot;model is required&quot;
         
+        # get a new or existing instance of model
         obj = self.get_instance(record)
         
         if obj.pk:
+            # object already exists, resolve issue of &quot;conflicting&quot; data
             self.resolve(record, obj)
         else:
+            # object is new, copy over all fields
             self.copy_fields(record, obj)
     
+        # assign Import reference and save
         obj.import_reference = self.import_session
         obj.save()
     
     def copy_fields(self, record, obj):    
+        &quot;&quot;&quot; Copy fields from a record to an instance of a model.
+        &quot;&quot;&quot;
         
+        # iterate over record key/values
         for name, value in record.iteritems():
         
+            # raise an error if ID is being set
             if name in self.ID_FIELDS:
                 raise ValueError, &quot;not allowed to set ids during loading&quot;
             
+            # see if a handler exists for the field
             field_handler = self.field_handlers.get(name, None)
         
             if field_handler:
+                # call field handler and set on instance
                 handler_value = field_handler(record, name, value, obj)
                 if handler_value:
                     setattr(obj, name, handler_value)                    
-            else:            
+            else:
+                # no handler so just set the value on the object if the field exists
                 field = self.fields.get(name, None)
                 if field:
                     #classname = field.__class__.__name__
@@ -130,6 +153,7 @@ class Loader(object):
         raise NotImplementedError, &quot;please inherit this class and override the get_instance method&quot;
     
     def resolve(self, record, obj):
+        # copy fields, override if you want specific update actions
         self.copy_fields(record, obj)
 
 </diff>
      <filename>dc_data/dcdata/loading.py</filename>
    </modified>
    <modified>
      <diff>@@ -86,19 +86,12 @@ class Command(BaseCommand):
             BooleanFilter('is_amendment'),
             FloatFilter('amount'),
             
-            # do resolving of entity fields here
             ContributorFilter(),
             OrganizationFilter(),
             ParentOrganizationFilter(),
             RecipientFilter(),
             CommitteeFilter(),
             
-            EntityFilter('contributor_entity'),
-            EntityFilter('organization_entity'),
-            EntityFilter('parent_organization_entity'),
-            EntityFilter('recipient_entity'),
-            EntityFilter('committee_entity'),
-            
             DebugEmitter(),
             #LoaderEmitter(loader),
         )</diff>
      <filename>dc_data/dcdata/management/commands/loadcontributions.py</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>00e7abe0d0c724393424a45a71e415e41993ac46</id>
    </parent>
  </parents>
  <author>
    <name>Jeremy Carbaugh</name>
    <email>jcarbaugh@gmail.com</email>
  </author>
  <url>http://github.com/sunlightlabs/datacommons/commit/bc1bb645f2b00de1be6287e0204821295ca8dee2</url>
  <id>bc1bb645f2b00de1be6287e0204821295ca8dee2</id>
  <committed-date>2009-11-03T11:28:22-08:00</committed-date>
  <authored-date>2009-11-03T11:28:22-08:00</authored-date>
  <message>add some documentation to methods</message>
  <tree>28a2be09d462b33e20439d261e166a7a1e743c89</tree>
  <committer>
    <name>Jeremy Carbaugh</name>
    <email>jcarbaugh@gmail.com</email>
  </committer>
</commit>
