forked from django-import-export/django-import-export
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathresults.py
32 lines (23 loc) · 779 Bytes
/
results.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
class Error(object):
def __init__(self, error, traceback=None):
self.error = error
self.traceback = traceback
class RowResult(object):
IMPORT_TYPE_UPDATE = 'update'
IMPORT_TYPE_NEW = 'new'
IMPORT_TYPE_DELETE = 'delete'
IMPORT_TYPE_SKIP = 'skip'
def __init__(self):
self.errors = []
self.diff = None
self.import_type = None
class Result(object):
def __init__(self, *args, **kwargs):
super(Result, self).__init__(*args, **kwargs)
self.base_errors = []
self.rows = []
def row_errors(self):
return [(i + 1, row.errors)
for i, row in enumerate(self.rows) if row.errors]
def has_errors(self):
return bool(self.base_errors or self.row_errors())