--- /dev/null
+#
+class ImportResult
+
+ def initialize results
+ @results = results
+ end
+
+ def response?
+ @results != nil
+ end
+
+ def success?
+ @results.empty?
+ end
+
+ def failures
+ @results
+ end
+
+ def to_json
+ if response?
+ @results.to_json
+ else
+ 'No Response'
+ end
+ end
+
+end
+
+class LicenseImportResult < ImportResult
+
+ def columns
+ ['caption', 'name']
+ end
+
+ def obj
+ 'License'
+ end
+
+ def action
+ 'licenses_import'
+ end
+
+ def translate
+ 'licenses_import'
+ end
+
+end
+
+class ArtistImportResult < ImportResult
+
+ def columns
+ ['name']
+ end
+
+ def obj
+ 'Artist'
+ end
+
+ def action
+ 'artists_import'
+ end
+
+ def translate
+ 'licenses_import'
+ end
+
+end
+
+class OriginalPictureImportResult < ImportResult
+
+ def columns
+ ['id', 'artist_id', 'md5']
+ end
+
+ def obj
+ 'OriginalPicture'
+ end
+
+ def action
+ 'original_pictures_import'
+ end
+
+ def translate
+ 'original_pictures_import'
+ end
+
+end
+
+class ResourcePictureImportResult < ImportResult
+
+ def columns
+ ['id', 'original_picture_id', 'picture_id', 'artist_id', 'md5']
+ end
+
+ def obj
+ 'ResourcePicture'
+ end
+
+ def action
+ 'original_pictures_import'
+ end
+
+ def translate
+ 'resource_pictures_import'
+ end
+
+end
+
+class PictureImportResult < ImportResult
+
+ def columns
+ ['id', 'original_picture_id', 'revision', 'artist_id', 'md5']
+ end
+
+ def obj
+ 'Picture'
+ end
+
+ def action
+ 'original_pictures_import'
+ end
+
+ def translate
+ 'pictures_import'
+ end
+
+end
+